-
1. Re: Journal log store for transaction logs
tomjenkinson Jan 18, 2018 7:55 AM (in response to alon3392)1 of 1 people found this helpfulHi Alon,
It is called the artemis journal. You can see it imported as a dependency over here: narayana/pom.xml at master · jbosstm/narayana · GitHub You will see historic reference to a HornetQ journal in there too, Artemis supercedes HQ.
We do have a quickstart that shows usage:
quickstart/ArjunaJTA/object_store at master · jbosstm/quickstart · GitHub
Many thanks,
Tom
-
2. Re: Journal log store for transaction logs
mmusgrov Jan 18, 2018 8:06 AM (in response to alon3392)1 of 1 people found this helpfulOnce the server is booted you can read a the transaction subsystem resource description using:
/subsystem=transactions:read-resource-description()
The admin commands are described in Chapter 13: Configuring Transactions section of the configuration guide. You would enable the journal store using:
/subsystem=transactions:write-attribute(name=use-journal-store, value=true)
The journal store writes transaction logs as a journal, ie it is an append only file. Recovery will read the file looking for journal entries corresponding to pending transactions. The theory is that because it's a journal the disk write head does not need to move very much which ought to result in better performance. Various parameters affect the operation of the journal and the tuning is all about making sure you achieve these benefits for your particular workload. But note that modern storage is moving away from spinning disks and we are tracking these developments, the intent is to release new store implementations when those technologies mature.
As to your question about not being able to find it in the code: the store type is set via the config (narayana/ObjectStoreEnvironmentBean.java at master · jbosstm/narayana · GitHub), the class name of the store implementation to use is passed in. The class that implements the journal store is narayana/HornetqObjectStoreAdaptor.java at master · jbosstm/narayana · GitHub but you probably only need to know how to enable via the admin commands and how to tune it.
-
3. Re: Journal log store for transaction logs
alon3392 Jan 19, 2018 4:54 AM (in response to tomjenkinson)It's clear now, so it is still a file store but uses the same code that HornetQ/Artemis uses for its journal. From the name of the store it might seem that it requires HornetQ/Artemis server running (like JDBC store).
-
4. Re: Journal log store for transaction logs
tomjenkinson Jan 19, 2018 5:05 AM (in response to alon3392)Yeah, it would be hard to find a better name. We did talk to the Artemis team at some point about splitting the journal into it's own project. Perhaps that happened and it is now called "Artemis Journal" though - certainly our dependency is artemis-journal.