I have a question regarding the WAL + memtable writes in Cassandra. By default until WAL and memtable are both updated, Cassandra doesn't mark the write as complete. However, if the WAL succeeds and the memtable write fails, isn't Cassandra in inconsistent state?
I mean the memtable is volatile, if the memory crashes it is rebuilt from the WAL. So if a write which was only successful in WAL but not memtable, won't it mistakenly show up in memtable if it is generated from WAL?