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
16
votes
1 answer

Multimaps in ChronicleMap

There is definitely a disclaimer on ChronicleMap's GitHub about Multimaps in ChronicleMap: Chronicle Map is not... ... No secondary indexes. A multimap. Using a ChronicleMap> as multimap is technically possible, but often leads to…
Depressio
  • 1,329
  • 2
  • 20
  • 39
5
votes
2 answers

How to serialise/deserialise long[] value with get/set on random indices using Chronicle Map?

I am new to chronicle-map. I am trying to model an off heap map using chronicle-map where the key is a primitive short and the value is a primitive long array. The max size of the long array value is known for a given map. However I will have…
junkie
  • 809
  • 2
  • 8
  • 19
5
votes
1 answer

Can chronicle-map handle data larger than memory?

I'm a bit confused by how off heap memory works. I have a server that has 32GB ram, and a data set of key-value mappings about 1TB in size. I'm looking for a simple and fast embedded Java database that would allow me to map a key to a value…
user3667125
  • 725
  • 1
  • 7
  • 17
4
votes
1 answer

Chronicle queue hard power failure recovery

When writing to Chronicle Queue, the default write doesn't flush to disk, so I believe anything that is in the linux kernel dirty page cache is lost. What's the best approach to get guaranteed recovery in the event of power failure? Would a…
R. Andrews
  • 105
  • 1
  • 5
4
votes
1 answer

Chronicle V4 - is concurrent write on same Chronicle queue safe

I am planning to use chronicle 4 (SingleChronicleQueue) for IPC . I was using chronicle 3 previous (IndexedQueue ) and it was not thread safe and I used to create multiple queues per thread but i was told by some one by using SingleChronicleQueue i…
user3887600
  • 138
  • 1
  • 8
4
votes
1 answer

Reactor test failed

I'm trying to try reactor for the first time. So I clone and build (as in https://github.com/reactor/reactor). I'm using windows XP and jdk 8. However, when I run the ./gradlew test, I got the following error: reactor.queue.PersistentQueueSpec >…
kasyauqi
  • 635
  • 1
  • 6
  • 17
3
votes
1 answer

How to manage data consistency with Chronicle queue

We have been building a bunch of micro services using Apache Kafka as a messaging bus to communicate between them. Some micro services also interact with a database or a JMS message broker (IBMM MQ) or both. We had lots of problems caused by the…
Julian
  • 3,678
  • 7
  • 40
  • 72
3
votes
1 answer

Chronicle Values: What's the point if it still needs to allocate an instance on heap?

I'm having trouble understanding how to use this library correctly, because it's creating garbage per allocation and that seems to be the intention? Is the library intended to be used with these characteristics? Or am I missing something, and is…
Jire
  • 9,680
  • 14
  • 52
  • 87
3
votes
1 answer

Chronicle Queue - Recieve last index of cycle

I am trying to use chronicle queue to determine the last index of the current cycle. I will use the start index and the last index to do a final check before deleting the single cq4 for the cycle. I would like to be able to find the last index of a…
3
votes
1 answer

2 x @NotNull == too much?

The BytesUtil.bytesEqual parameters use both the Jetbrains @NotNull and the OpenHFT @NotNull annotation the same parameter: public static boolean bytesEqual( @org.jetbrains.annotations.NotNull @NotNull RandomDataInput a, long offset, …
Jan Nielsen
  • 10,892
  • 14
  • 65
  • 119
3
votes
2 answers

Chronicle queue size determination

If we need to limit total size of chronicle queue to let say 1GB or 10GB. What would be the best way to do it ? We store buffers as bytes so I was trying to calculate total size just by summing buffer sizes but looks like there is no easy way to…
Chandra
  • 43
  • 4
3
votes
1 answer

Reading byte[] chronicle queue

I am trying to write a byte array that I know the size of to the array however I am not able to parse the resultant data. I am using the following code: okAppender.writeBytes(b -> b.write(byteData)); and byte[] byteData = new…
user
  • 158
  • 6
  • 19
3
votes
1 answer

Setting max entries on OpenHTF ChronicleMap

I'm playing around with ChronicleSet, which is backed by ChronicleMap. I've done some initial testing, and it's pretty good for our needs. Much more efficient in RAM usage than other solutions, with access time a bit slower, but still pretty fast.…
mjuarez
  • 16,372
  • 11
  • 56
  • 73
3
votes
1 answer

Does Chronicle queue ever delete files?

I am using Chronicle Queue 4.5.15 in one of my apps running on several Linux hosts. Each instance of the app had its own chronicle queue which usually stores several million strings. Recently i have noticed queue files on each instance vanishing.…
sam
  • 2,469
  • 8
  • 37
  • 57
3
votes
1 answer

Chronicle Queue: blockSize, index count and size guidance

The ChronicleQueueBuilder interface (4.5) allows parameterisation of the queue file characteristics. By default I get 80mb files for daily rollover. Is there any guidance how one should use these values? What are the trade-offs? Can I optimize it…
vasquez
  • 583
  • 5
  • 18
1
2 3
15 16