HomeStore icon indicating copy to clipboard operation
HomeStore copied to clipboard

Disable automatic timer flush in logdev and simplify sync flushes

Open hkadayam opened this issue 1 year ago • 1 comments

2 parts on this request

  1. As we stand with current design for replication, we need to disable automatic timer flush in logdev. This would mean we split the logdev into 3 flush modes, (inline, timer, explicit). A logdev could be flushed in any combinations or all of them. For HomeObject use case, as it stands now, it will enable only explicit flush.

  2. We have written logdev flush when there was no coroutines and everything is done async. As a result, there are lots of deadlock possibility when we tried to integrate with raft log store as they need sync code. It is time to use coroutines and significantly simplify and completely get rid of async flush.

  3. We need to also take care of situation where raft can call compact/truncate on lsns which were not written yet.

hkadayam avatar May 10 '24 00:05 hkadayam

we can not close it for now. 1 and 2 are implemented. but 3 seems not. need @raakella1 to confirm it.

JacksonYao287 avatar Aug 14 '24 14:08 JacksonYao287

we do sync flush for log store now

JacksonYao287 avatar Sep 13 '24 07:09 JacksonYao287