Hi all, I'm trying to understand the behavior of memtable when writes/flush operations are going on in parallel.
In my understanding, once a memtable is full it is queued for flushing and a new memtable is created for ongoing write operations. However, I was looking at the code and it looks like the OpOrder class is used (don't understand all details) to ensure the synchronization between producers (writes) and consumers (batch flushes). So I am a bit confused about when exactly it is needed. There will always be only one latest memtable for write operations and all old memtables are flushed so where this producer/consumer interaction on the same memtable is needed? Thanks, Preetika