Hi all: I am considering moving from Atomix to Ratis for one of our core components. This is a state machine which handles time-sensitive data.
Alas, Ratis does not seem to have a virtual clock, so, in order to have a replicable behavior upon log replay, I need to add the timestamp into the log entry. The problem is that I must create the timestamp inside preAppendTransaction(). I cannot do that in startTransaction(), because this leads to events being passed to applyTransaction() in random order, and not in the order in which the timestamp where inserted into the logData. But…. There is not way to update the TransactionContext’s logData into an existing TransactionContext. Yes, I can create a new one and return it from preAppendTransaction(), but this will just cause the entire call to fail, because the server does not properly handle the newly returned TransactionContext. So, for now I have to resort to set the (private) caseData_ field by reflection, and I’d rather avoid doing so. Any chance that you can allow updating the logData in the StateMachineLogEntryProto? That would solve the problem. Or… even better…. Can you automatically associate a timestamp with the log entries? That would be GREAT! Luigi Mercurio Sr. Application Analyst FDR-New Arch Acceleration Office: +1 954.851.0000 Fiserv 3975 NW 120th Avenue Coral Springs, Florida 33065 United States Register Today | Forum 2020 | June 15–18<https://www.fiserv.com/en/lp/emailsignature.html> Fiserv<https://www.fiserv.com/index.aspx> | Join Our Team<https://www.careers.fiserv.com/?utm_source=outlook&utm_medium=email&utm_campaign=signature> | Twitter<https://twitter.com/fiserv> | LinkedIn<https://www.linkedin.com/company/fiserv/> | Facebook<https://www.facebook.com/Fiserv/> FORTUNE Magazine World's Most Admired Companies® 2014 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 © 2020 Fiserv Inc. or its affiliates. Fiserv is a registered trademark of Fiserv Inc. Privacy Policy<https://www.fiserv.com/en/about-fiserv/privacy-policy.html> © 2020 Fortune Media IP Limited. Used under license.
