Hi all, Currently I'm working on MVCC feature (IGNITE-3478) and need your opinion on related configuration options.
1. MVCC will definitely bring some performance overhead, so I think it should not be enabled by default, I'm going to add special flag on cache configuration: CacheConfiguration.isMvccEnabled. 2. In current mvcc architecture there should be some node in cluster assigning versions for tx updates and queries (mvcc coordinator). Mvcc coordinator is crucial component and it should perform as fast as possible. It seems we need introduce special 'dedicated mvcc coordinator' node role: it should not be possible to start cache on such node and it should not process user's compute jobs. At the same time it should be possible that any regular server node can become mvcc coordinator: this can be useful during development (no extra setup for mvcc will be needed), or support scenario when all dedicated coordinator nodes fail. So we need a way to make node a 'dedicated mvcc coordinator', we can add special flag on ignite configuration: IgniteConfiguration.isMvccCoordinator. What do you think? Thanks