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

Reply via email to