Giter VIP home page Giter VIP logo

chronicle-engine's Introduction

Chronicle Overview

Chronicle Software provides libraries to help with fast data. The majority of our customers are in financial services. Our products include:

Chronicle FIX/ITCH Engine - Low latency FIX/ITCH engine in Java for all versions of FIX. Can parse and generate messages within 1 microsecond.

Chronicle Microservices Framework - Microservices built with Chronicle Services are efficient, easy to build, test, and maintain. Equally importantly they provide exceptional high-throughput, low latency, and transparent HA/DR.

Chronicle Matching Engine - forms the backbone for a resilient and scalable exchange solution. It provides order matching, validation, and risk checks with high capacity and low latency. It has a modular and flexible design which enables it to be used stand-alone, or seamlessly integrated with Chronicle FIX and Chronicle Services.

Chronicle EFX - built on Chronicle Microservices, EFX contains components for Aggregation, Pricing, Hedging, Position Keeping, P&L, Market Gateway and Algo containers. EFX allows the customer to use off the shelf functionality built and maintained by Chronicle, or to extend and customise with their own algos and IP - the best compromise of "buy vs build".

Chronicle Queue and also Chronicle Queue Enterprise - using Chronicle Queue for low latency message passing provides an effectively unlimited buffer between producers and consumers and a complete audit trail of every message sent. Queue Enterprise provides even lower latencies and additional delivery semantics - for example - only process a message once it is guaranteed replicated to another host(s).

Chronicle Map is a key-value store sharing persisted memory between processes, either on the same server or across networks. CM is designed to store the data off-heap, which means it minimizes the heap usage and garbage collection allowing the data to be stored with sub-microsecond latency. CM is structured key-value store able to support exceptionally high updates and high throughput data e.g. OPRA Market Data with minimum configuration. Replication is provided by Chronicle Map Enterprise

Contributor agreement

For us to accept contributions to open source libraries we require contributors to sign the below

Documentation in this repo

This repo contains the following docs

  • Java Version Support documents which versions of Java/JVM are supported by Chronicle libraries

  • Platform Support documents which Operating Systems are supported by Chronicle libraries

  • Version Support explains Chronicle’s version numbers and release timetable

  • Anatomy shows a graphical representation of the OpenHFT projects and their dependencies

  • Reducing Garbage contains tips and tricks to reduce garbage

chronicle-engine's People

Contributors

danielshaya avatar dpisklov avatar epickrram avatar hft-team-city avatar jerryshea avatar lburgazzoli avatar leventov avatar nickward avatar parthpatel-tatvasoft2 avatar peter-lawrey avatar robaustin avatar sebkur avatar tomshercliff avatar trevorbernard avatar zelenij avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

chronicle-engine's Issues

Unable to build and test due to dependency on chronicle enterprise snapshots

Hello,

Is this repository dependent on artifacts that are only available in Chronicle enterprise repositories (snapshots & release)?
Is there a way to build this project using Open Source snapshots (on OSS sonatype)?

Currently I'm getting the following errors, even when checking out with the latest release tag (chronicle-engine-1.14.5):

/c/dev/my/java/OpenHFT (master) $ grep Engine checkout.sh
git clone [email protected]:OpenHFT/Chronicle-Engine.git

/c/dev/my/java/OpenHFT (master) $ git clone [email protected]:OpenHFT/Chronicle-Engine.git
Cloning into 'Chronicle-Engine'...
remote: Counting objects: 1683376, done.
remote: Compressing objects: 100% (1714/1714), done.
remote: Total 1683376 (delta 19136), reused 19369 (delta 18342), pack-reused 1663176
Receiving objects: 100% (1683376/1683376), 660.00 MiB | 845.00 KiB/s, done.
Resolving deltas: 100% (1559668/1559668), done.
Checking connectivity... done.
Checking out files: 100% (411/411), done.

/c/dev/my/java/OpenHFT (master) $ cd Chronicle-Engine
/c/dev/my/java/OpenHFT/Chronicle-Engine (master) $ mvn clean install
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building OpenHFT/Chronicle-Engine 1.14.6-SNAPSHOT
[INFO] ------------------------------------------------------------------------
Downloading: http://nexus.chronicle.software/content/repositories/snapshots/net/openhft/chronicle-queue/4.6.9/chronicle-queue-4.6.9.pom
Downloading: http://nexus.chronicle.software/content/repositories/releases/net/openhft/chronicle-queue/4.6.9/chronicle-queue-4.6.9.pom
Downloading: http://nexus.chronicle.software/content/repositories/releases/net/openhft/third-party-bom/3.6.0-SNAPSHOT/maven-metadata.xml
Downloading: http://nexus.chronicle.software/content/repositories/snapshots/net/openhft/third-party-bom/3.6.0-SNAPSHOT/maven-metadata.xml
[WARNING] Could not transfer metadata net.openhft:third-party-bom:3.6.0-SNAPSHOT/maven-metadata.xml from/to chronicle-enterprise-snapshots (http://nexus.chronicle.software/content/repositories/snapshots): Not authorized , ReasonPhrase:Unauthorized.
[WARNING] Could not transfer metadata net.openhft:third-party-bom:3.6.0-SNAPSHOT/maven-metadata.xml from/to chronicle-enterprise-release (http://nexus.chronicle.software/content/repositories/releases/): Not authorized , ReasonPhrase:Unauthorized.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6.413 s
[INFO] Finished at: 2017-07-25T15:05:36+10:00
[INFO] Final Memory: 12M/158M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project chronicle-engine: Could not resolve dependencies for project net.openhft:chronicle-engine:bundle:1.14.6-SNAPSHOT: Failed to collect dependencies at net.openhft:chronicle-queue:jar:4.6.9: Failed to read artifact descriptor for net.openhft:chronicle-queue:jar:4.6.9: Could not transfer artifact net.openhft:chronicle-queue:pom:4.6.9 from/to chronicle-enterprise-snapshots (http://nexus.chronicle.software/content/repositories/snapshots): Not authorized , ReasonPhrase:Unauthorized. -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException

/c/dev/my/java/OpenHFT/Chronicle-Engine (master) $ git checkout tags/chronicle-engine-1.14.5
Note: checking out 'tags/chronicle-engine-1.14.5'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at a054e2e... [maven-release-plugin] prepare release chronicle-engine-1.14.5

/c/dev/my/java/OpenHFT/Chronicle-Engine ((chronicle-engine-1.14.5)) $ mvn clean install
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building OpenHFT/Chronicle-Engine 1.14.5
[INFO] ------------------------------------------------------------------------
Downloading: http://nexus.chronicle.software/content/repositories/snapshots/net/openhft/chronicle-queue/4.6.9/chronicle-queue-4.6.9.pom
Downloading: http://nexus.chronicle.software/content/repositories/releases/net/openhft/chronicle-queue/4.6.9/chronicle-queue-4.6.9.pom
Downloading: http://nexus.chronicle.software/content/repositories/releases/net/openhft/third-party-bom/3.6.0-SNAPSHOT/maven-metadata.xml
Downloading: http://nexus.chronicle.software/content/repositories/snapshots/net/openhft/third-party-bom/3.6.0-SNAPSHOT/maven-metadata.xml
[WARNING] Could not transfer metadata net.openhft:third-party-bom:3.6.0-SNAPSHOT/maven-metadata.xml from/to chronicle-enterprise-snapshots (http://nexus.chronicle.software/content/repositories/snapshots): Not authorized , ReasonPhrase:Unauthorized.
[WARNING] Could not transfer metadata net.openhft:third-party-bom:3.6.0-SNAPSHOT/maven-metadata.xml from/to chronicle-enterprise-release (http://nexus.chronicle.software/content/repositories/releases/): Not authorized , ReasonPhrase:Unauthorized.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6.318 s
[INFO] Finished at: 2017-07-25T15:10:05+10:00
[INFO] Final Memory: 12M/158M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project chronicle-engine: Could not resolve dependencies for project net.openhft:chronicle-engine:bundle:1.14.5: Failed to collect dependencies at net.openhft:chronicle-queue:jar:4.6.9: Failed to read artifact descriptor for net.openhft:chronicle-queue:jar:4.6.9: Could not transfer artifact net.openhft:chronicle-queue:pom:4.6.9 from/to chronicle-enterprise-snapshots (http://nexus.chronicle.software/content/repositories/snapshots): Not authorized , ReasonPhrase:Unauthorized. -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException

/c/dev/my/java/OpenHFT/Chronicle-Engine ((chronicle-engine-1.14.5)) $

unable to build from maven

I am trying to run Chronicle demo by following instructions here https://github.com/OpenHFT/Chronicle-Engine/tree/master/demo. I got an error in mvn install step

# clone the repository
$ git clone https://github.com/OpenHFT/Chronicle-Engine.git
$ cd Chronicle-Engine

# install into local maven repository
$ mvn install
$ mvn install
[INFO] Scanning for projects...
Downloading: http://nexus.chronicle.software/content/repositories/snapshots/software/chronicle/chronicle-enterprise-root-pom/1.0.6/chronicle-enterprise-root-pom-1.0.6.pom
Downloading: http://nexus.chronicle.software/content/repositories/releases/software/chronicle/chronicle-enterprise-root-pom/1.0.6/chronicle-enterprise-root-pom-1.0.6.pom
[ERROR] [ERROR] Some problems were encountered while processing the POMs:
[FATAL] Non-resolvable parent POM for net.openhft:chronicle-engine:1.14.23-SNAPSHOT: Could not transfer artifact software.chronicle:chronicle-enterprise-root-pom:pom:1.0.6 from/to chronicle-enterprise-snapshots (http://nexus.chronicle.software/content/repositories/snapshots): Not authorized , ReasonPhrase:Unauthorized. and 'parent.relativePath' points at no local POM @ line 22, column 13
 @
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]
[ERROR]   The project net.openhft:chronicle-engine:1.14.23-SNAPSHOT (C:\Users\pkomsit.FOLIO-SEC\dev\java\OpenHFT\Chronicle-Engine\pom.xml) has 1 error
[ERROR]     Non-resolvable parent POM for net.openhft:chronicle-engine:1.14.23-SNAPSHOT: Could not transfer artifact software.chronicle:chronicle-enterprise-root-pom:pom:1.0.6 from/to chronicle-enterprise-snapshots (http://nexus.chronicle.software/content/repositories/snapshots): Not authorized , ReasonPhrase:Unauthorized. and 'parent.relativePath' points at no local POM @ line 22, column 13 -> [Help 2]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException
[ERROR] [Help 2] http://cwiki.apache.org/confluence/display/MAVEN/UnresolvableModelException

my maven version

$ mvn -v
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T01:41:47+09:00)
Maven home: C:\Users\pkomsit.FOLIO-SEC\app\maven
Java version: 1.8.0_152, vendor: Oracle Corporation
Java home: C:\Users\pkomsit.FOLIO-SEC\app\java\jdk1.8.0_152\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 10", version: "10.0", arch: "amd64", family: "dos"

Chronicle-Engine Demo not working

As a side note, I was having trouble getting the demo to work using tagged release of Chronicle-Engine 1.13.27 (we're using this version as we're just in the initial phases of experimentation so haven't got access to later versions via the private repository).

I'm running via IntelliJ with the classpath set to the chronicle-engine-demo module so it's picking up this engine.yaml.

DemoMapListener/DemoMapProducer can't connect to the Engine started by RunEngineMain, see the logging below from Listener:

WARN net.openhft.chronicle.network.connection.FatalFailureConnectionStrategy - unable to connected to localhost/127.0.0.1:8088 - localhost:8088, name=/

I was able to get this to work by re-adding the server config removed in this commit

My question is this: was it an accidental removal of that config or was this deliberate? If the latter is there some additional config that's not referred to in the demo docs?

NFS mounting is also not working in the demo unless you restore the dependency to chronicle-engine-nfs and re-add the NfsCfg.class removed from RunEngineMain and restore the NfsConfig into the demo engine.yaml.

QueueEvents

Hi Peter Lawrey, i love chronicle queue and i dont have a way to catch add, update, delete events.

Upgrade Engine to Map3

  • map3 may have to support net.openhft.chronicle.wire.Marshallable
  • remove replication of map and queue from engine.
  • add support for updated events for keys in Map 3

Problematic frame : NativeAccess.readByte(Ljava/lang/Object;J)

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x02c5fae3, pid=14984, tid=0x00004ad0
#
# JRE version: Java(TM) SE Runtime Environment (8.0_171-b11) (build 1.8.0_171-b11)
# Java VM: Java HotSpot(TM) Client VM (25.171-b11 mixed mode, sharing windows-x86 )
# Problematic frame:
# J 524 C1 net.openhft.chronicle.algo.bytes.NativeAccess.readByte(Ljava/lang/Object;J)B (9 bytes) @ 0x02c5fae3 [0x02c5fac0+0x23]
#
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
#

---------------  T H R E A D  ---------------

Current thread (0x00d49000):  JavaThread "main" [_thread_in_Java, id=19152, stack(0x02270000,0x022c0000)]

siginfo: ExceptionCode=0xc0000005, reading address 0x1c5f1000

Registers:
EAX=0x00000000, EBX=0x00000000, ECX=0x0a41a398, EDX=0x00000000
ESP=0x022bf0d0, EBP=0x022bf6dc, ESI=0x1c5f1000, EDI=0x00000000
EIP=0x02c5fae3, EFLAGS=0x00010202

Top of Stack: (sp=0x022bf0d0)
0x022bf0d0:   04f04ef8 022bf2a8 022bf2a8 02c97154
0x022bf0e0:   00d49000 736a6c58 022bf6dc 02c5f8c4
0x022bf0f0:   1a62b037 00000000 022bf6dc 02c5f8c4
0x022bf100:   1c5f1000 00000000 00000097 02c710b4
0x022bf110:   6c9f73a4 00d49000 022bf6dc 02c57ed0
0x022bf120:   1a62b037 00000000 022bf6dc 02c57ed0
0x022bf130:   1c5f1000 00000000 00000000 00000000
0x022bf140:   00000097 04f05160 0a42f030 02bd3a38 

Instructions: (pc=0x02c5fae3)
0x02c5fac3:   90 90 90 90 3b 41 04 0f 85 b0 ba ef ff 89 84 24
0x02c5fad3:   00 c0 ff ff 55 83 ec 28 8b 74 24 30 8b 44 24 34
0x02c5fae3:   0f be 04 32 c1 e0 18 c1 f8 18 83 c4 28 5d 85 05
0x02c5faf3:   00 01 35 00 c3 90 90 64 8b 34 25 00 00 00 00 8b 


Register to memory mapping:

EAX=0x00000000 is an unknown value
EBX=0x00000000 is an unknown value
ECX=0x0a41a398 is an oop
net.openhft.chronicle.algo.bytes.NativeAccess 
 - klass: 'net/openhft/chronicle/algo/bytes/NativeAccess'
EDX=0x00000000 is an unknown value
ESP=0x022bf0d0 is pointing into the stack for thread: 0x00d49000
EBP=0x022bf6dc is pointing into the stack for thread: 0x00d49000
ESI=0x1c5f1000 is an unknown value
EDI=0x00000000 is an unknown value


Stack: [0x02270000,0x022c0000],  sp=0x022bf0d0,  free space=316k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
J 524 C1 net.openhft.chronicle.algo.bytes.NativeAccess.readByte(Ljava/lang/Object;J)B (9 bytes) @ 0x02c5fae3 [0x02c5fac0+0x23]
J 523 C1 net.openhft.chronicle.algo.bytes.ReadAccess.readUnsignedByte(Ljava/lang/Object;J)I (13 bytes) @ 0x02c5f8c4 [0x02c5f890+0x34]
J 474 C1 net.openhft.chronicle.algo.hashing.XxHash_r39.xxHash64(JLjava/lang/Object;Lnet/openhft/chronicle/algo/bytes/ReadAccess;JJ)J (651 bytes) @ 0x02c57ed0 [0x02c57030+0xea0]
J 561 C1 net.openhft.chronicle.algo.hashing.XxHash_r39$AsLongHashFunction.hash(Ljava/lang/Object;Lnet/openhft/chronicle/algo/bytes/ReadAccess;JJ)J (47 bytes) @ 0x02c6dbdc [0x02c6db40+0x9c]
J 605 C1 net.openhft.chronicle.map.impl.CompiledReplicatedMapIterationContext.initKeyHash()V (84 bytes) @ 0x02c7c060 [0x02c7bec0+0x1a0]
J 604 C1 net.openhft.chronicle.map.impl.CompiledReplicatedMapIterationContext.checkEntry(JJILnet/openhft/chronicle/hash/ChronicleHashCorruption$Listener;Lnet/openhft/chronicle/map/ChronicleHashCorruptionImpl;)I (410 bytes) @ 0x02c786e8 [0x02c78560+0x188]
J 642 C1 net.openhft.chronicle.map.impl.CompiledReplicatedMapIterationContext.recoverTier(ILnet/openhft/chronicle/hash/ChronicleHashCorruption$Listener;Lnet/openhft/chronicle/map/ChronicleHashCorruptionImpl;)I (497 bytes) @ 0x02c8507c [0x02c84d60+0x31c]
j  net.openhft.chronicle.map.impl.CompiledReplicatedMapIterationContext.recoverSegments(Lnet/openhft/chronicle/hash/ChronicleHashCorruption$Listener;Lnet/openhft/chronicle/map/ChronicleHashCorruptionImpl;)V+40
j  net.openhft.chronicle.map.VanillaChronicleMap.recover(Lnet/openhft/chronicle/hash/impl/ChronicleHashResources;Lnet/openhft/chronicle/hash/ChronicleHashCorruption$Listener;Lnet/openhft/chronicle/map/ChronicleHashCorruptionImpl;)V+20
j  net.openhft.chronicle.map.ChronicleMapBuilder.openWithExistingFile(Ljava/io/File;Ljava/io/RandomAccessFile;Lnet/openhft/chronicle/hash/impl/ChronicleHashResources;ZZLnet/openhft/chronicle/hash/ChronicleHashCorruption$Listener;)Lnet/openhft/chronicle/map/VanillaChronicleMap;+325
j  net.openhft.chronicle.map.ChronicleMapBuilder.createWithFile(Ljava/io/File;ZZLnet/openhft/chronicle/hash/ChronicleHashCorruption$Listener;)Lnet/openhft/chronicle/map/ChronicleMap;+132
j  net.openhft.chronicle.map.ChronicleMapBuilder.recoverPersistedTo(Ljava/io/File;ZLnet/openhft/chronicle/hash/ChronicleHashCorruption$Listener;)Lnet/openhft/chronicle/map/ChronicleMap;+8
j  net.openhft.chronicle.map.ChronicleMapBuilder.createOrRecoverPersistedTo(Ljava/io/File;ZLnet/openhft/chronicle/hash/ChronicleHashCorruption$Listener;)Lnet/openhft/chronicle/map/ChronicleMap;+11
j  net.openhft.chronicle.map.ChronicleMapBuilder.createOrRecoverPersistedTo(Ljava/io/File;Z)Lnet/openhft/chronicle/map/ChronicleMap;+6
j  software.chronicle.enterprise.map.ReplicatedMap.createMap(Lsoftware/chronicle/enterprise/map/config/ReplicatedMapCfg;B)Lnet/openhft/chronicle/map/ReplicatedChronicleMap;+146
j  software.chronicle.enterprise.map.ReplicatedMap.addReplicatedMap(Lsoftware/chronicle/enterprise/map/config/ReplicatedMapCfg;B)V+82
j  net.openhft.chronicle.engine.map.ChronicleMapKeyValueStore.<init>(Lnet/openhft/chronicle/engine/cfg/ChronicleMapCfg;Lnet/openhft/chronicle/engine/api/tree/Asset;)V+277
j  net.openhft.chronicle.engine.cfg.ChronicleMapCfg.install(Ljava/lang/String;Lnet/openhft/chronicle/engine/api/tree/AssetTree;)Ljava/lang/Void;+32
j  net.openhft.chronicle.engine.cfg.ChronicleMapCfg.install(Ljava/lang/String;Lnet/openhft/chronicle/engine/api/tree/AssetTree;)Ljava/lang/Object;+3
j  net.openhft.chronicle.engine.cfg.EngineCfg.install(Ljava/lang/String;Lnet/openhft/chronicle/engine/api/tree/AssetTree;)Ljava/lang/Void;+130
j  net.openhft.chronicle.engine.EngineInstance.createAssetTree(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)Lnet/openhft/chronicle/engine/tree/VanillaAssetTree;+166
j  net.openhft.chronicle.engine.EngineInstance.createAssetTree(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)Lnet/openhft/chronicle/engine/tree/VanillaAssetTree;+5
j  net.openhft.chronicle.engine.EngineInstance.engineMain(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lnet/openhft/chronicle/engine/tree/VanillaAssetTree;+4
j  net.openhft.chronicle.engine.EngineInstance.engineMain(ILjava/lang/String;Ljava/lang/String;)Lnet/openhft/chronicle/engine/tree/VanillaAssetTree;+5
j  Example.main([Ljava/lang/String;)V+5
v  ~StubRoutines::call_stub
V  [jvm.dll+0x15b985]
V  [jvm.dll+0x22262e]
V  [jvm.dll+0x15ba1e]
V  [jvm.dll+0xdd3a7]
V  [jvm.dll+0xe593f]
C  [java.exe+0x232a]
C  [java.exe+0xafff]
C  [java.exe+0xb089]
C  [kernel32.dll+0x1343d]
C  [ntdll.dll+0x39802]
C  [ntdll.dll+0x397d5]
C  0x00000000


---------------  P R O C E S S  ---------------

Java Threads: ( => current thread )
  0x16d96400 JavaThread "main/blocking-event-loop" daemon [_thread_blocked, id=16480, stack(0x023e0000,0x02430000)]
  0x16d84000 JavaThread "tree-1/event-loop-monitor" daemon [_thread_blocked, id=8524, stack(0x16830000,0x16880000)]
  0x16d80c00 JavaThread "tree-1/core-event-loop" daemon [_thread_blocked, id=15712, stack(0x15ee0000,0x15f30000)]
  0x16d7b400 JavaThread "chronicle-weak-reference-cleaner" daemon [_thread_blocked, id=18164, stack(0x16930000,0x16980000)]
  0x161b7000 JavaThread "Service Thread" daemon [_thread_blocked, id=6040, stack(0x165a0000,0x165f0000)]
  0x16149000 JavaThread "C1 CompilerThread0" daemon [_thread_blocked, id=13368, stack(0x164d0000,0x16520000)]
  0x16179800 JavaThread "Monitor Ctrl-Break" daemon [_thread_in_native, id=6808, stack(0x16340000,0x16390000)]
  0x00de1800 JavaThread "Attach Listener" daemon [_thread_blocked, id=19260, stack(0x04b80000,0x04bd0000)]
  0x00dde800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=10252, stack(0x16000000,0x16050000)]
  0x00dcf400 JavaThread "Finalizer" daemon [_thread_blocked, id=7300, stack(0x156e0000,0x15730000)]
  0x00d71400 JavaThread "Reference Handler" daemon [_thread_blocked, id=9580, stack(0x15dd0000,0x15e20000)]
=>0x00d49000 JavaThread "main" [_thread_in_Java, id=19152, stack(0x02270000,0x022c0000)]

Other Threads:
  0x00d6f000 VMThread [stack: 0x15750000,0x157a0000] [id=13112]
  0x161c0c00 WatcherThread [stack: 0x168e0000,0x16930000] [id=14936]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap:
 def new generation   total 4928K, used 3236K [0x04c00000, 0x05150000, 0x0a150000)
  eden space 4416K,  72% used [0x04c00000, 0x04f25618, 0x05050000)
  from space 512K,   2% used [0x050d0000, 0x050d3b18, 0x05150000)
  to   space 512K,   0% used [0x05050000, 0x05050000, 0x050d0000)
 tenured generation   total 10944K, used 3132K [0x0a150000, 0x0ac00000, 0x14c00000)
   the space 10944K,  28% used [0x0a150000, 0x0a45f388, 0x0a45f400, 0x0ac00000)
 Metaspace       used 4865K, capacity 6542K, committed 6656K, reserved 7552K

Card table byte_map: [0x022c0000,0x02350000] byte_map_base: 0x0229a000

Polling page: 0x00350000

CodeCache: size=32768Kb used=1510Kb max_used=1510Kb free=31257Kb
 bounds [0x02b20000, 0x02ca0000, 0x04b20000]
 total_blobs=884 nmethods=698 adapters=116
 compilation: enabled

Compilation events (10 events):
Event: 1.240 Thread 0x16149000  698             java.lang.Long::<init> (10 bytes)
Event: 1.240 Thread 0x16149000 nmethod 698 0x02c98fc8 code [0x02c990c0, 0x02c99150]
Event: 1.266 Thread 0x16149000  699             java.lang.Long::valueOf (36 bytes)
Event: 1.266 Thread 0x16149000 nmethod 699 0x02c99188 code [0x02c99280, 0x02c993a0]
Event: 1.273 Thread 0x16149000  700             java.lang.Long::toString (8 bytes)
Event: 1.273 Thread 0x16149000 nmethod 700 0x02c99488 code [0x02c99580, 0x02c9961c]
Event: 1.273 Thread 0x16149000  701             java.lang.Long::toString (52 bytes)
Event: 1.273 Thread 0x16149000 nmethod 701 0x02c99688 code [0x02c997b0, 0x02c999a4]
Event: 1.274 Thread 0x16149000  702             net.openhft.chronicle.bytes.AbstractBytes::isDirectMemory (10 bytes)
Event: 1.274 Thread 0x16149000 nmethod 702 0x02c99a88 code [0x02c99b90, 0x02c99c2c]

GC Heap History (10 events):
Event: 1.251 GC heap before
{Heap before GC invocations=34 (full 0):
 def new generation   total 4928K, used 4457K [0x04c00000, 0x05150000, 0x0a150000)
  eden space 4416K, 100% used [0x04c00000, 0x05050000, 0x05050000)
  from space 512K,   8% used [0x05050000, 0x0505a690, 0x050d0000)
  to   space 512K,   0% used [0x050d0000, 0x050d0000, 0x05150000)
 tenured generation   total 10944K, used 3132K [0x0a150000, 0x0ac00000, 0x14c00000)
   the space 10944K,  28% used [0x0a150000, 0x0a45f268, 0x0a45f400, 0x0ac00000)
 Metaspace       used 4864K, capacity 6542K, committed 6656K, reserved 7552K
Event: 1.251 GC heap after
Heap after GC invocations=35 (full 0):
 def new generation   total 4928K, used 15K [0x04c00000, 0x05150000, 0x0a150000)
  eden space 4416K,   0% used [0x04c00000, 0x04c00000, 0x05050000)
  from space 512K,   2% used [0x050d0000, 0x050d3d60, 0x05150000)
  to   space 512K,   0% used [0x05050000, 0x05050000, 0x050d0000)
 tenured generation   total 10944K, used 3132K [0x0a150000, 0x0ac00000, 0x14c00000)
   the space 10944K,  28% used [0x0a150000, 0x0a45f268, 0x0a45f400, 0x0ac00000)
 Metaspace       used 4864K, capacity 6542K, committed 6656K, reserved 7552K
}
Event: 1.256 GC heap before
{Heap before GC invocations=35 (full 0):
 def new generation   total 4928K, used 4392K [0x04c00000, 0x05150000, 0x0a150000)
  eden space 4416K,  99% used [0x04c00000, 0x050462f0, 0x05050000)
  from space 512K,   2% used [0x050d0000, 0x050d3d60, 0x05150000)
  to   space 512K,   0% used [0x05050000, 0x05050000, 0x050d0000)
 tenured generation   total 10944K, used 3132K [0x0a150000, 0x0ac00000, 0x14c00000)
   the space 10944K,  28% used [0x0a150000, 0x0a45f268, 0x0a45f400, 0x0ac00000)
 Metaspace       used 4864K, capacity 6542K, committed 6656K, reserved 7552K
Event: 1.256 GC heap after
Heap after GC invocations=36 (full 0):
 def new generation   total 4928K, used 37K [0x04c00000, 0x05150000, 0x0a150000)
  eden space 4416K,   0% used [0x04c00000, 0x04c00000, 0x05050000)
  from space 512K,   7% used [0x05050000, 0x050597c0, 0x050d0000)
  to   space 512K,   0% used [0x050d0000, 0x050d0000, 0x05150000)
 tenured generation   total 10944K, used 3132K [0x0a150000, 0x0ac00000, 0x14c00000)
   the space 10944K,  28% used [0x0a150000, 0x0a45f268, 0x0a45f400, 0x0ac00000)
 Metaspace       used 4864K, capacity 6542K, committed 6656K, reserved 7552K
}
Event: 1.261 GC heap before
{Heap before GC invocations=36 (full 0):
 def new generation   total 4928K, used 4450K [0x04c00000, 0x05150000, 0x0a150000)
  eden space 4416K,  99% used [0x04c00000, 0x0504f0e8, 0x05050000)
  from space 512K,   7% used [0x05050000, 0x050597c0, 0x050d0000)
  to   space 512K,   0% used [0x050d0000, 0x050d0000, 0x05150000)
 tenured generation   total 10944K, used 3132K [0x0a150000, 0x0ac00000, 0x14c00000)
   the space 10944K,  28% used [0x0a150000, 0x0a45f268, 0x0a45f400, 0x0ac00000)
 Metaspace       used 4864K, capacity 6542K, committed 6656K, reserved 7552K
Event: 1.261 GC heap after
Heap after GC invocations=37 (full 0):
 def new generation   total 4928K, used 54K [0x04c00000, 0x05150000, 0x0a150000)
  eden space 4416K,   0% used [0x04c00000, 0x04c00000, 0x05050000)
  from space 512K,  10% used [0x050d0000, 0x050dda28, 0x05150000)
  to   space 512K,   0% used [0x05050000, 0x05050000, 0x050d0000)
 tenured generation   total 10944K, used 3132K [0x0a150000, 0x0ac00000, 0x14c00000)
   the space 10944K,  28% used [0x0a150000, 0x0a45f388, 0x0a45f400, 0x0ac00000)
 Metaspace       used 4864K, capacity 6542K, committed 6656K, reserved 7552K
}
Event: 1.266 GC heap before
{Heap before GC invocations=37 (full 0):
 def new generation   total 4928K, used 4470K [0x04c00000, 0x05150000, 0x0a150000)
  eden space 4416K, 100% used [0x04c00000, 0x05050000, 0x05050000)
  from space 512K,  10% used [0x050d0000, 0x050dda28, 0x05150000)
  to   space 512K,   0% used [0x05050000, 0x05050000, 0x050d0000)
 tenured generation   total 10944K, used 3132K [0x0a150000, 0x0ac00000, 0x14c00000)
   the space 10944K,  28% used [0x0a150000, 0x0a45f388, 0x0a45f400, 0x0ac00000)
 Metaspace       used 4864K, capacity 6542K, committed 6656K, reserved 7552K
Event: 1.267 GC heap after
Heap after GC invocations=38 (full 0):
 def new generation   total 4928K, used 41K [0x04c00000, 0x05150000, 0x0a150000)
  eden space 4416K,   0% used [0x04c00000, 0x04c00000, 0x05050000)
  from space 512K,   8% used [0x05050000, 0x0505a6e8, 0x050d0000)
  to   space 512K,   0% used [0x050d0000, 0x050d0000, 0x05150000)
 tenured generation   total 10944K, used 3132K [0x0a150000, 0x0ac00000, 0x14c00000)
   the space 10944K,  28% used [0x0a150000, 0x0a45f388, 0x0a45f400, 0x0ac00000)
 Metaspace       used 4864K, capacity 6542K, committed 6656K, reserved 7552K
}
Event: 1.272 GC heap before
{Heap before GC invocations=38 (full 0):
 def new generation   total 4928K, used 4457K [0x04c00000, 0x05150000, 0x0a150000)
  eden space 4416K, 100% used [0x04c00000, 0x05050000, 0x05050000)
  from space 512K,   8% used [0x05050000, 0x0505a6e8, 0x050d0000)
  to   space 512K,   0% used [0x050d0000, 0x050d0000, 0x05150000)
 tenured generation   total 10944K, used 3132K [0x0a150000, 0x0ac00000, 0x14c00000)
   the space 10944K,  28% used [0x0a150000, 0x0a45f388, 0x0a45f400, 0x0ac00000)
 Metaspace       used 4864K, capacity 6542K, committed 6656K, reserved 7552K
Event: 1.273 GC heap after
Heap after GC invocations=39 (full 0):
 def new generation   total 4928K, used 14K [0x04c00000, 0x05150000, 0x0a150000)
  eden space 4416K,   0% used [0x04c00000, 0x04c00000, 0x05050000)
  from space 512K,   2% used [0x050d0000, 0x050d3b18, 0x05150000)
  to   space 512K,   0% used [0x05050000, 0x05050000, 0x050d0000)
 tenured generation   total 10944K, used 3132K [0x0a150000, 0x0ac00000, 0x14c00000)
   the space 10944K,  28% used [0x0a150000, 0x0a45f388, 0x0a45f400, 0x0ac00000)
 Metaspace       used 4864K, capacity 6542K, committed 6656K, reserved 7552K
}

Deoptimization events (0 events):
No events

Classes redefined (0 events):
No events

Internal exceptions (10 events):
Event: 0.642 Thread 0x00d49000 Exception <a 'java/lang/NoSuchMethodError': java.lang.Object.lambda$comparing$77a9974f$1(Ljava/util/function/Function;Ljava/lang/Object;Ljava/lang/Object;)I> (0x04dd3fa8) thrown at [C:\re\workspace\8-2-build-windows-i586-cygwin\jdk8u171\10807\hotspot\src\
Event: 0.697 Thread 0x00d49000 Exception <a 'java/lang/NoSuchMethodError': java.lang.Object.allocateElasticDirect()Lnet/openhft/chronicle/bytes/NativeBytes;> (0x04c41fa0) thrown at [C:\re\workspace\8-2-build-windows-i586-cygwin\jdk8u171\10807\hotspot\src\share\vm\interpreter\linkResolv
Event: 0.722 Thread 0x00d49000 Exception <a 'java/lang/ArrayIndexOutOfBoundsException': 211> (0x04d48008) thrown at [C:\re\workspace\8-2-build-windows-i586-cygwin\jdk8u171\10807\hotspot\src\share\vm\interpreter\interpreterRuntime.cpp, line 366]
Event: 0.737 Thread 0x16d80c00 Exception <a 'java/lang/NoSuchMethodError': java.lang.Thread.onSpinWait()V> (0x04dfca60) thrown at [C:\re\workspace\8-2-build-windows-i586-cygwin\jdk8u171\10807\hotspot\src\share\vm\interpreter\linkResolver.cpp, line 620]
Event: 0.769 Thread 0x00d49000 Exception <a 'java/lang/ArrayIndexOutOfBoundsException': 67> (0x04f294f8) thrown at [C:\re\workspace\8-2-build-windows-i586-cygwin\jdk8u171\10807\hotspot\src\share\vm\interpreter\interpreterRuntime.cpp, line 366]
Event: 0.780 Thread 0x00d49000 Exception <a 'java/lang/NoSuchMethodError': java.lang.Object.lambda$typeLiteral$0(Ljava/lang/Class;Lnet/openhft/chronicle/bytes/Bytes;)V> (0x04fb28f8) thrown at [C:\re\workspace\8-2-build-windows-i586-cygwin\jdk8u171\10807\hotspot\src\share\vm\interpreter
Event: 0.781 Thread 0x00d49000 Exception <a 'java/lang/NoSuchMethodError': java.lang.Object.lambda$marshallable$12(Ljava/util/Map;Ljava/lang/Class;ZLjava/lang/Class;Lnet/openhft/chronicle/wire/WireOut;)V> (0x04fca3e0) thrown at [C:\re\workspace\8-2-build-windows-i586-cygwin\jdk8u171\10
Event: 0.848 Thread 0x00d49000 Exception <a 'java/lang/NoSuchMethodError': java.lang.Object.lambda$thenComparing$36697e65$1(Ljava/util/Comparator;Ljava/lang/Object;Ljava/lang/Object;)I> (0x04f1c178) thrown at [C:\re\workspace\8-2-build-windows-i586-cygwin\jdk8u171\10807\hotspot\src\sha
Event: 0.945 Thread 0x00d49000 Exception <a 'java/lang/NoSuchMethodError': java.lang.Object.lambda$identity$2(Ljava/lang/Object;)Ljava/lang/Object;> (0x0501f130) thrown at [C:\re\workspace\8-2-build-windows-i586-cygwin\jdk8u171\10807\hotspot\src\share\vm\interpreter\linkResolver.cpp, l
Event: 1.793 Thread 0x16d96400 Exception <a 'java/net/ConnectException': Connection refused: connect> (0x04f1fc00) thrown at [C:\re\workspace\8-2-build-windows-i586-cygwin\jdk8u171\10807\hotspot\src\share\vm\prims\jni.cpp, line 735]

Events (10 events):
Event: 1.250 Executing VM operation: GenCollectForAllocation
Event: 1.251 Executing VM operation: GenCollectForAllocation done
Event: 1.256 Executing VM operation: GenCollectForAllocation
Event: 1.256 Executing VM operation: GenCollectForAllocation done
Event: 1.261 Executing VM operation: GenCollectForAllocation
Event: 1.261 Executing VM operation: GenCollectForAllocation done
Event: 1.266 Executing VM operation: GenCollectForAllocation
Event: 1.267 Executing VM operation: GenCollectForAllocation done
Event: 1.272 Executing VM operation: GenCollectForAllocation
Event: 1.273 Executing VM operation: GenCollectForAllocation done


Dynamic libraries:
0x00e30000 - 0x00e63000 	C:\Program Files (x86)\Java\jdk1.8.0_171\bin\java.exe
0x77330000 - 0x774b0000 	C:\Windows\SysWOW64\ntdll.dll
0x76230000 - 0x76340000 	C:\Windows\syswow64\kernel32.dll
0x76b90000 - 0x76bd7000 	C:\Windows\syswow64\KERNELBASE.dll
0x75c70000 - 0x75d11000 	C:\Windows\syswow64\ADVAPI32.dll
0x76160000 - 0x7620c000 	C:\Windows\syswow64\msvcrt.dll
0x76ec0000 - 0x76ed9000 	C:\Windows\SysWOW64\sechost.dll
0x74cc0000 - 0x74db0000 	C:\Windows\syswow64\RPCRT4.dll
0x74aa0000 - 0x74b00000 	C:\Windows\syswow64\SspiCli.dll
0x74a90000 - 0x74a9c000 	C:\Windows\syswow64\CRYPTBASE.dll
0x74db0000 - 0x74eb0000 	C:\Windows\syswow64\USER32.dll
0x76950000 - 0x769e0000 	C:\Windows\syswow64\GDI32.dll
0x76500000 - 0x7650a000 	C:\Windows\syswow64\LPK.dll
0x76be0000 - 0x76c7d000 	C:\Windows\syswow64\USP10.dll
0x71020000 - 0x711be000 	C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.18837_none_41e855142bd5705d\COMCTL32.dll
0x76ef0000 - 0x76f47000 	C:\Windows\syswow64\SHLWAPI.dll
0x74c60000 - 0x74cc0000 	C:\Windows\system32\IMM32.DLL
0x75b00000 - 0x75bcd000 	C:\Windows\syswow64\MSCTF.dll
0x74300000 - 0x7431c000 	C:\Windows\system32\AMINIT32.DLL
0x75fa0000 - 0x75fa5000 	C:\Windows\syswow64\PSAPI.DLL
0x742c0000 - 0x742ff000 	C:\PROGRA~2\Citrix\ICACLI~1\RSHook.dll
0x74280000 - 0x742bf000 	C:\Program Files (x86)\Citrix\ICA Client\ShellHook.dll
0x74b00000 - 0x74c5d000 	C:\Windows\syswow64\ole32.dll
0x74eb0000 - 0x75afc000 	C:\Windows\syswow64\SHELL32.dll
0x74240000 - 0x74272000 	C:\PROGRA~2\Sophos\SOPHOS~1\SOPHOS~1.DLL
0x74200000 - 0x74240000 	C:\Program Files\AppSense\Environment Manager\Agent\Wow64\EmLoader.dll
0x6aa60000 - 0x6ab10000 	c:\program files\appsense\environment manager\agent\wow64\PVC.dll
0x711c0000 - 0x711f2000 	C:\Program Files (x86)\AppSense\Application Manager\Agent\AMLdrAppInit.dll
0x70e00000 - 0x70f20000 	C:\Program Files (x86)\AppSense\Application Manager\Agent\AMAppHook.dll
0x769e0000 - 0x76a15000 	C:\Windows\syswow64\WS2_32.dll
0x76ab0000 - 0x76ab6000 	C:\Windows\syswow64\NSI.dll
0x72da0000 - 0x72da9000 	C:\Windows\system32\VERSION.dll
0x71200000 - 0x71446000 	C:\Windows\system32\msi.dll
0x70db0000 - 0x70df2000 	C:\Windows\system32\wevtapi.dll
0x741b0000 - 0x741f4000 	C:\Windows\system32\sxwmon32.dll
0x76ac0000 - 0x76b51000 	C:\Windows\syswow64\OLEAUT32.dll
0x520d0000 - 0x5218f000 	C:\Program Files (x86)\Java\jdk1.8.0_171\jre\bin\msvcr100.dll
0x6c9f0000 - 0x6cdc1000 	C:\Program Files (x86)\Java\jdk1.8.0_171\jre\bin\client\jvm.dll
0x6f370000 - 0x6f377000 	C:\Windows\system32\WSOCK32.dll
0x73c60000 - 0x73c92000 	C:\Windows\system32\WINMM.dll
0x6ecb0000 - 0x6ecbc000 	C:\Program Files (x86)\Java\jdk1.8.0_171\jre\bin\verify.dll
0x6e970000 - 0x6e992000 	C:\Program Files (x86)\Java\jdk1.8.0_171\jre\bin\java.dll
0x6e8f0000 - 0x6e910000 	C:\Program Files (x86)\Java\jdk1.8.0_171\jre\bin\instrument.dll
0x6e8c0000 - 0x6e8d4000 	C:\Program Files (x86)\Java\jdk1.8.0_171\jre\bin\zip.dll
0x76100000 - 0x7610b000 	C:\Windows\syswow64\profapi.dll
0x6e8a0000 - 0x6e8b6000 	C:\Program Files\JetBrains\IntelliJ IDEA 2017.1.6\bin\breakgen.dll
0x6e880000 - 0x6e895000 	C:\Program Files (x86)\Java\jdk1.8.0_171\jre\bin\net.dll
0x72b80000 - 0x72ba3000 	C:\ProgramData\Sophos\Web Intelligence\swi_ifslsp.dll
0x72af0000 - 0x72b2c000 	C:\Windows\system32\mswsock.dll
0x6eea0000 - 0x6eea6000 	C:\Windows\System32\wship6.dll
0x6e870000 - 0x6e87a000 	C:\Program Files (x86)\Java\jdk1.8.0_171\jre\bin\management.dll
0x6f310000 - 0x6f320000 	C:\Windows\system32\NLAapi.dll
0x6f300000 - 0x6f310000 	C:\Windows\system32\napinsp.dll
0x6f2e0000 - 0x6f2f2000 	C:\Windows\system32\pnrpnsp.dll
0x72aa0000 - 0x72ae4000 	C:\Windows\system32\DNSAPI.dll
0x6f2d0000 - 0x6f2d8000 	C:\Windows\System32\winrnr.dll
0x72b70000 - 0x72b75000 	C:\Windows\System32\wshtcpip.dll
0x73d90000 - 0x73dac000 	C:\Windows\system32\IPHLPAPI.DLL
0x73d80000 - 0x73d87000 	C:\Windows\system32\WINNSI.DLL
0x6f280000 - 0x6f286000 	C:\Windows\system32\rasadhlp.dll
0x6f290000 - 0x6f2c8000 	C:\Windows\System32\fwpuclnt.dll
0x6e860000 - 0x6e86f000 	C:\Program Files (x86)\Java\jdk1.8.0_171\jre\bin\nio.dll
0x70000000 - 0x700eb000 	C:\Windows\system32\dbghelp.dll

VM Arguments:
jvm_args: -javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2017.1.6\lib\idea_rt.jar=61685:C:\Program Files\JetBrains\IntelliJ IDEA 2017.1.6\bin -Dfile.encoding=UTF-8 
java_command: Example
java_class_path (initial): C:\Program Files (x86)\Java\jdk1.8.0_171\jre\lib\charsets.jar;C:\Program Files (x86)\Java\jdk1.8.0_171\jre\lib\deploy.jar;C:\Program Files (x86)\Java\jdk1.8.0_171\jre\lib\ext\access-bridge-32.jar;C:\Program Files (x86)\Java\jdk1.8.0_171\jre\lib\ext\cldrdata.jar;C:\Program Files (x86)\Java\jdk1.8.0_171\jre\lib\ext\dnsns.jar;C:\Program Files (x86)\Java\jdk1.8.0_171\jre\lib\ext\jaccess.jar;C:\Program Files (x86)\Java\jdk1.8.0_171\jre\lib\ext\jfxrt.jar;C:\Program Files (x86)\Java\jdk1.8.0_171\jre\lib\ext\localedata.jar;C:\Program Files (x86)\Java\jdk1.8.0_171\jre\lib\ext\nashorn.jar;C:\Program Files (x86)\Java\jdk1.8.0_171\jre\lib\ext\sunec.jar;C:\Program Files (x86)\Java\jdk1.8.0_171\jre\lib\ext\sunjce_provider.jar;C:\Program Files (x86)\Java\jdk1.8.0_171\jre\lib\ext\sunmscapi.jar;C:\Program Files (x86)\Java\jdk1.8.0_171\jre\lib\ext\sunpkcs11.jar;C:\Program Files (x86)\Java\jdk1.8.0_171\jre\lib\ext\zipfs.jar;C:\Program Files (x86)\Java\jdk1.8.0_171\jre\lib\javaws.jar;C:\Program Files (x86)\Java\jdk1.8.0_171\jre\lib\jce.jar;C:\Program Files (x86)\Java\jdk1.8.0_171\jre\lib\jfr.jar;C:\Program Files (x86)\Java\jdk1.8.0_171\jre\lib\jfxswt.jar;C:\Program Files (x86)\Java\jdk1.8.0_171\jre\lib\jsse.jar;C:\Program Files (x86)\Java\jdk1.8.0_171\jre\lib\management-agent.jar;C:\Program Files (x86)\Java\jdk1.8.0_171\jre\lib\plugin.jar;C:\Program Files (x86)\Java\jdk1.8.0_171\jre\lib\resources.jar;C:\Program Files (x86)\Java\jdk1.8.0_171\jre\lib\rt.jar;C:\Users\catst01\Development\RITS-git\rits-workspace\chronicle-tests\target\classes;C:\Users\catst01\.m2\repository\net\openhft\chronicle-map\3.16.4\chronicle-map-3.16.4.jar;C:\Users\catst01\.m2\repository\net\openhft\chronicle-core\2.17.0\chronicle-core-2.17.0.jar;C:\Users\catst01\.m2\repository\net\openhft\chronicle-values\2.16.1\chronicle-values-2.16.1.jar;C:\Program Files (x86)\Java\jdk1.8.0_171\lib\tools.jar;C:\Users\catst01\.m2\repository\com\squareup\javapoet\1.5.1\javapoet-1.5.1.jar;C:\Users\catst0
Launcher Type: SUN_STANDARD

Environment Variables:
JAVA_HOME=C:\Users\catst01\Apps\jdk1.8.0_60_64
PATH=C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\WindowsPowerShell\v1.0\;;C:\MFILDLL;C:\Program Files (x86)\Enterprise Vault\EVClient\;C:\Program Files (x86)\Stellent\IBPM\;C:\Program Files (x86)\Microsoft Application Virtualization Client;C:\Program Files\AppSense\Application Manager\Agent\Plugins\EcaRulesEngine\;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\TortoiseSVN\bin;C:\Users\catst01\Apps\jdk1.8.0_60_64\bin;C:\blp\DAPI;C:\blp\DAPI\DDE;C:\Users\catst01\Apps\apache-maven-3.5.3\bin;C:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\WindowsPowerShell\v1.0\;;C:\MFILDLL;C:\Program Files (x86)\Enterprise Vault\EVClient\;C:\Program Files (x86)\Stellent\IBPM\;C:\Program Files (x86)\Microsoft Application Virtualization Client;C:\Program Files\AppSense\Application Manager\Agent\Plugins\EcaRulesEngine\;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\TortoiseSVN\bin
USERNAME=catst01
OS=Windows_NT
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 45 Stepping 7, GenuineIntel



---------------  S Y S T E M  ---------------

OS: Windows 7 , 64 bit Build 7601 (6.1.7601.24231)

CPU:total 8 (initial active 8) (4 cores per cpu, 2 threads per core) family 6 model 45 stepping 7, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, aes, clmul, ht, tsc, tscinvbit, tscinv

Memory: 4k page, physical 8312636k(1313120k free), swap 18310364k(5464696k free)

vm_info: Java HotSpot(TM) Client VM (25.171-b11) for windows-x86 JRE (1.8.0_171-b11), built on Mar 28 2018 14:51:22 by "java_re" with MS VC++ 10.0 (VS2010)

time: Wed Oct 24 17:24:35 2018
elapsed time: 1 seconds (0d 0h 0m 1s)

when running

import net.openhft.chronicle.engine.EngineInstance;
import net.openhft.chronicle.engine.tree.VanillaAssetTree;

import java.io.IOException;
import java.net.URISyntaxException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.*;

/**
 * Created by catst01 on 24/10/2018.
 */
public class Example {

    public static void main(String[] args) throws IOException, URISyntaxException {
        final VanillaAssetTree assetTree = EngineInstance.engineMain(1, "engine-example.yaml", "cluster");
        Map<String, CharSequence> mapView = assetTree.acquireMap("/map/marketDataExample", String.class, CharSequence.class);

        // use the following HashMap instead of the chronicle map to observe expected behaviour
//        Map<String, CharSequence> mapView = new HashMap<>();
        System.out.println("Map loaded - initial size: " + mapView.size());
        List<String> strings = Files.readAllLines(Paths.get(Example.class.getResource("input.txt").toURI()));
        Set<String> keys = new HashSet<>();

        System.out.println(strings.size() + " strings loaded");
        for (String s : strings) {
            String[] split = s.split("&");
            keys.add(split[0]);
            mapView.put(split[0], split[1]);
        }
        System.out.println("data written");
        System.out.println("mapView.size() => " + mapView.size());
        System.out.println("keys.size() => " + keys.size());
        System.out.println("mapView.keySet().size() => " + mapView.keySet().size());
        for (String key : mapView.keySet()) {
            if (!keys.contains(key)) {
                System.out.println(key + " not in key set but in map keys");
            }
        }
        System.out.println("Finished");
        assetTree.close();

    }

}

JDK 9 support

The project currently fails on JDK 9:

java.lang.NoSuchMethodError: sun.nio.ch.DirectBuffer.cleaner()Lsun/misc/Cleaner;

To reproduce:

   @Test
    public void testMapEvents() throws Exception {
        net.openhft.chronicle.bytes.NativeBytesStore.elasticByteBuffer(256, 1024);
    }

If a more elaborate test is required you can checkout ChronicleEngineConsumerTest.

Thanks!

Add a MapView for Chronicle Queue

The MapView would have a key and an index to the queue entry.

Add the option to migrate values after a roll. e.g. after a cycle roll, migrate all keys older than a cycle (the one before the previous cycle)

View subscriptions can fire spurious events.

  1. A queue contains events of TYPE_A and TYPE_B, published by one or more publishers
  2. A subscriber, SUB_1, subscribes to events of TYPE_A from the queue
  3. SUB_1 receives the initial snapshot of TYPE_A events
  4. A publisher writes an event of TYPE_B to the queue
  5. SUB_1 receives a TYPE_A event notification

Open source version slow on purpose?

Hi

Your chart is interesting, normally enterprise means extra features, etc, however performance should be the same, how is it that its 10 times slower.
Hazelcast and others offer the same framework and charge for support and enterprise specific features... same with gridgain
thanks

running demo

hi, can you tell me how to run the demo? i have this cloned to linux. thanks!

Not authorized , ReasonPhrase:Unauthorized

[ERROR] Failed to execute goal on project chronicle-engine: Could not resolve dependencies for project net.openhft:chronicle-engine:bundle:1.14.2-SNAPSHOT: Failed to collect dependencies at net.openhft:chronicle-queue:jar:4.6.2: Failed to read artifact descriptor for net.openhft:chronicle-queue:jar:4.6.2: Could not transfer artifact net.openhft:chronicle-queue:pom:4.6.2 from/to chronicle-enterprise-snapshots (http://nexus.chronicle.software/content/repositories/snapshots): Not authorized , ReasonPhrase:Unauthorized. -> [Help 1]

AssetTree Interface question

I've been taking a look at Chronicle-Engine - in particular the QueueView - and noticed something I just wanted to double check.

The following two default methods are declared - they are completely identical except for the ordering of the variables. Is there any particular reason for this?

    @NotNull
    default <T, M> QueueView<T, M> acquireQueue(@NotNull String uri, Class<T> typeClass, Class<M>
            messageClass, final String cluster, String basePath) {

        @NotNull final RequestContext requestContext = requestContext(uri).basePath(basePath);

        if (requestContext.bootstrap() != null)
            throw new UnsupportedOperationException("Its not possible to set the bootstrap when " +
                    "acquiring a queue");

        return acquireView(requestContext.view("queue").type(typeClass).type2(messageClass)
                .cluster(cluster));
    }

    @NotNull
    default <T, M> QueueView<T, M> acquireQueue(@NotNull String uri, String basePath, Class<T> typeClass,
                                                Class<M> messageClass, final String cluster) {

        @NotNull final RequestContext requestContext = requestContext(uri).basePath(basePath);

        if (requestContext.bootstrap() != null)
            throw new UnsupportedOperationException("Its not possible to set the bootstrap when " +
                    "acquiring a queue");

        return acquireView(requestContext.view("queue").type(typeClass).type2(messageClass)
                .cluster(cluster));
    }

fixed issue with procPrefix in network stats

We are having some issue with the creation of proc files by chronicle engine. Specifically, we have been using the method

VanillaAssetTree createAssetTree(String yamlConfigFile, String region, int hostId, String clusterName, String procPrefix)

in EngineInstance to create chronicle maps. We use the procPrefix parameter so that the additional queues created by chronicle engine are in a path of our choice. This is necessary as we are not allowed to create files in the process’s working directory in prod, which is monitored.

In particular, we need to control where the following directory is created:
proc\connections\cluster\throughput
This directory, in turn, contains a subdirectory for each node in the cluster.

The procPrefix parameter has effect when I run locally with a 3 node cluster configuration, but when the same process runs on a server, the queues for the local host id are created in the current working directory, while the queues for the other nodes are created where specified by the proc prefix parameter.
That is, if the process runs as with host id = 1:
· proc\connections\cluster\throughput\2 and proc\connections\cluster\throughput\3 -> created in procPrefix directory, as expected;
· proc\connections\cluster\throughput\1 -> created in current working directory, wrongly.

Looking at the code for chronicle engine, and searching for “\proc\connections\cluster\throughput” it seems that there are classes that reference the path without the prefix parameter. For example AssetTree class, or EngineNetworkStatsListener class.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.