Questions tagged [chronicle]

Chronicle is a low latency data fabric for logging, IPC, sharing and processing data.

Chronicle uses memory mapped files and access to direct memory to give sub micro second persistence and IPC. This is available as a Queue or Map. It is a high performance solution which is designed for low level Java programmers in mind. This means you will have to worry about many things Java developers generally can ignore, but if you need maximum performance, Chronicle can log or send messages between processes at rates in the tens of millions per second.

The latency between processes can be sub-micro-second including serialization and deserialization, making it an ultra low latency solution. It can also be used in a lockless and GC-free manner.

For more details http://chronicle.software


Chronicle product runs on Java 8 on these platforms

  • 64-bit JVMs on Windows 8 & 10.
  • Linux 2.6 or later
  • Max OSX

It will also run on 32-bit JVMs on Windows, but this has two resource limitations

A 32-bit process has a small virtual address space which can cause performance issues. To accommodate the lack of address space the format of a chronicle on 32-bit bit JVMs is different to a 64-bit system meaning you can get errors trying to swap one for the other.

Note: running a 32-bit JVM on 64-bits Windows will still have these issues as it is the Win XP emulator which emulates the limitations.

238 questions
2
votes
2 answers

Source of Java9Memory in Chronicle

I got curious on the off-heap mechanism used by the openHFT project and am looking for the class file below (couldn't find anywhere in github) as defined by the source code here: Class java9MemoryClass = Class …
toddlermenot
  • 1,588
  • 2
  • 17
  • 33
2
votes
2 answers

Chronicle Roll Files Daily

I am trying to implement Chronicle Queue into our system and had a question regarding rolling of files daily but at a specific time as per the local time zone of the process. I read few write-ups regarding how to specify roll cycle but as per…
ATO
  • 574
  • 4
  • 14
2
votes
1 answer

Chronicle Map Callbacks

Hi I am a new user of Chronicle Products and till now documentation/usage looks pretty smooth. Though I have a question when Map data is shared across JVM's on the same host does consumer JVM waiting on the data receive any sort of callback or…
ATO
  • 574
  • 4
  • 14
2
votes
1 answer

Chronicle Queue V3. Can Entries be lost on data block roll-over?

I have an application that writes entries to a Chronicle Queue (V3) that also retains excerpt entry index values in other (Chronicle)Maps by way of providing indexed access in the queue. Sometimes we fail to find a given entry that we've earlier…
2
votes
1 answer

Reading last element written in a Chronicle queue

I'm using the SingleChronicleQueue implementation to keep track of the last element I processed from my data queue (also a SingleChronicleQueue). In order to recover from a crash I need to read the last element in my state queue which will give me…
2
votes
3 answers

Chronicle Queue: Convert cycle integer to timestamp and vice-versa

Is there a way to convert between a certain cycle in Chronicle Queue to a timestamp? I checked the 4.5 apidocs and didn't find anything.
vasquez
  • 583
  • 5
  • 18
2
votes
1 answer

SIGSEGV in Chronicle Queue 4.5.19

What would cause Chronicle Queue to segfault? I assume I've missed a configuration somewhere. I have a readOnly Chronicle Queue created like this: ChronicleQueue readQueue = SingleChronicleQueueBuilder.binary (readBasePath).readOnly (true).build…
2
votes
1 answer

Recompile with new class definition for mutation testing

I am trying to use openHFT/java-runtime-compiler to improve my mutation testing tools, from heavy use of disk-access to only use in-memory-compilation. In mutation testing, there was a two kind of class: A. the mutated class, a class that its…
2
votes
1 answer

Re-using Chronicle Bytes' OutputStream

I'm utilizing a third party binary encoder that takes an OutputStream. I retrieve the OutputStream from a Marshallable's writeMarshallable method similar to this: public void writeMarshallable(WireOut wire) { OutputStream outputStream =…
A. Oswald
  • 21
  • 2
2
votes
2 answers

How is @Array(length= ?) Annotation in OpenHFT/Chronicle-Values Used

This question is regarding Chronicle-Values One example found in the site is: interface SomeStats { @Array(length=100) long getPercentFreqAt(int index); void setPercentFreqAt(int index, long percentFreq); long addPercentFreqAt(int…
2
votes
3 answers

Generating Less Garbage Causes Longer GC Pauses

We recently made a change to our application's persistence mechanism, replacing a slow serialization via reflection to create strings of SQL statements that were executed against a MySQL database with serialization via OpenHFT Chronicle, with…
2
votes
0 answers

How to catch connection events?

I am really confused about chronicle's connection interface. I couldn't find any test code or source code about it. I want to catch disconnection and on-connection events. My setup looks like (vanilla chronicle 3.6.2.); Two identical process,…
cengizkrbck
  • 704
  • 6
  • 21
2
votes
1 answer

Chronicle Map support for arrays of primitives?

Suppose I have smth like: public interface ITest { long[] getDataArray(); void setDataArray(long[] data); } In this case because of long[] looks like I cannot use Values.newHeapInstance(ITest.class); (I am getting field type class…
2
votes
1 answer

Using boxed/atomic values in Scala with Chronicle Map

We're using ChronicleMap to support off-heap persistence in a large number of different stores, but hit a bit a of a problem with the most simple usecase. First of all, here's the helper I wrote to make creation easier: import java.io.File import…
Anton
  • 3,006
  • 3
  • 26
  • 37
2
votes
1 answer

Maximal number of ChronicleMap entries

How many entries theoretically can ChronicleMap contain at maximum? What is the number of maximum entries one can put to ChronicleMap?