Fix solo repl dev log flush and graceful shutdown.#681
Conversation
71fc378 to
a13759d
Compare
|
Codecov ReportAttention: Patch coverage is
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. Additional details and impacted files@@ Coverage Diff @@
## master #681 +/- ##
===========================================
+ Coverage 56.51% 67.17% +10.66%
===========================================
Files 108 109 +1
Lines 10300 11428 +1128
Branches 1402 1566 +164
===========================================
+ Hits 5821 7677 +1856
+ Misses 3894 3001 -893
- Partials 585 750 +165 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
LGTM, except the comment around open_logdev to see if we can even simplify, thanks! |
xiaoxichen
left a comment
There was a problem hiding this comment.
I am curious why the flush_mode needs to be persisted?
The flush mode controlled the flushing behavior when appending logs, once the log dev closed then re-opened, the previous flush_mode should not take any forward impact right? Meaning that nublox can use explicit then in one tick we change the config file to use timer, after a restart the timer can works and effect on new appending logs.
What is the benefit of remember "this log dev was created with explicit flushing" ?
And if we believe there is a racing between logdev_superblk_found and open_logdev, then there is a ambiguity whether the mode provided by open_logdev take effect, or the mode in sb take effect.
Add flush mode to logdev as nublocks uses timer, nuobject uses explicit log flush mode. Flush mode has to be stored in superblk to support recovery. Enable solo repl dev UT. Add graceful shutdown for UT to work.
This is to support logdev_superblk_found to open logdev with flush mode. |
a13759d to
11bf9b9
Compare
Add flush mode to logdev as nublocks uses timer,
nuobject uses explicit log flush mode. Flush mode has to be stored in superblk to support recovery. Enable solo repl dev UT. Add graceful shutdown for UT to work.