Closed cole-miller closed 4 months ago
This PR does a few different things (sorry):
--enable-dqlite-next
from the build system and all mention of DQLITE_NEXT
in the source code. All the code for the new disk-based configuration is now compiled in all build configurations, except for uses of new raft APIs that aren't available when linking against an old, external libraft.vfs2_unapply
. I've repurposed the existing dqlite_node_enable_disk_mode
option to switch between the old in-memory VFS and vfs2; the existing on-disk configuration of the old VFS is no longer reachable after this PR.raft_uv
I/O implementation, raft_uv_set_format_version
, that toggles between the backwards-compatible format for the persistent log and the new format (originally introduced and gated behind DQLITE_NEXT
in #639).vfs2_pseudo_read_begin
needs to be rewritten and the way the WAL-index header is handled needs to be redone, also some of the fixes in this PR are more like band-aids and need to be redone more carefully.dqlite_node
and then destroy it without running it first (a longstanding issue, see comments in this file on master). I got sucked into doing this while working on the extra initialization required to set up vfs2, although it wasn't strictly necessary to carry it as far as I have done here.Closing in favor of more focused PRs.
Codecov Report
Attention: Patch coverage is
71.08434%
with168 lines
in your changes missing coverage. Please review.Additional details and impacted files
```diff @@ Coverage Diff @@ ## master #661 +/- ## ========================================== - Coverage 77.41% 77.35% -0.07% ========================================== Files 196 196 Lines 27269 27377 +108 Branches 5455 5519 +64 ========================================== + Hits 21111 21178 +67 + Misses 4297 4286 -11 - Partials 1861 1913 +52 ```:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.