Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

There are multiple ways to implement state store transactions that present different trade-offs. This proposal includes a single implementation via a secondary RocksDB for uncommitted writes. It also adds a configuration enum RocksDBTransactionalMechanism to allow other implementations in the future in a backward-compatible way.

StateStore changes

This section covers multiple changes to the state store interfaces.  This proposal replaces StateStore#flush with 2 new methods - StateStore#commit(Long) and StateStore#recover(Long) and adds a boolean transactional() method to determine if a state store is transactional.

...