Due to duplicate registration of SegmentNodeStoreStats in both SegmentNodeStore and LockBasedScheduler, we end up with two instances of this MBean. The former gets exposed via JMX and always returns empty tables for CommitsCountPerWriter and QueuedWriters, while the latter correctly tracks these data, but is not exposed. To address this, we should stick to only one instance of SegmentNodeStoreStats, used in both SegmentNodeStore and LockBasedScheduler.
While at this, two additional points to be addressed:
- CommitsTracker needs to be unit tested
- commits count map size needs to be configurable via SegmentNodeStoreStats