Details
-
Bug
-
Resolution: Done
-
Major
-
12.1.0.CR1
-
None
Description
SoftIndexFileStore when sync flush is enabled flushes every 100 milliseconds or for every 1000 entries. This doesn't scale when doing blocking writes in a small number of threads as each write will take at least 100 milliseconds to be acked. This causes writes to only occur at 10 per second.
The flush aspect needs to be rewritten to better scale with writers. Originally reducing the time is a possible fix, but this still can't scale and requires a configuration option if people have crazy fast write drives. Instead we should rewrite this to flush when we don't think there is any outstanding events which reduces latency to a minimal amount but also flush every so often to reduce memory footprint.