Hello, Thanks for helping me out! I have been a lot of progress since then and have been able to spin up a multi Raft group setup we been trying out!
I had a few questions about the threading model. So I have been using RocksDB in my statemachine and right now I was able to setup transactions with RocksDB and snapshotting. I ran into a few issues with concurrency. I saw in the Counter example the state machines use AtomicInteger, and was wondering should all implemented methods of state machines be designed for thread safe access, including the actual state that is being used? To get myself further, I have made the methods initialize and takeSnapshot marked with synchronized as I had some File operations that were clashing when they were done concurrently. I am wondering if I should think more carefully as well about my applyTransaction method. I am also new to using RocksDB so I am still learning how that will be affected by this. I was also eager to setup metrics, but I wasnt able to easily follow how to do so. https://jojochuang.github.io/ratis-site/docs/metrics I found this link that helped me see what metrics were there out of the box (fantastic!). Do I have to do anything special to turn this on? and how can I integrate with these as well? My goal is to set up some sort of visualization and will most likely go through something like Prometheus/Grafana setup in the end. Thanks for your help so far! Sahith
