Philip O'Toole
f939d33fe5
Remove Metadata concept from system
...
System testing passes.
3 years ago
Philip O'Toole
b2bcdb584d
Tweak Store API
3 years ago
Philip O'Toole
b579e5c59f
Shut down Raft first
4 years ago
Philip O'Toole
1dc156b965
Add total Raft directory size to Store stats
4 years ago
Philip O'Toole
fd4b76a419
Convert Raft stats to numbers where possible
4 years ago
Philip O'Toole
125074ab6e
Only shutdown BoltDB when Raft is done with it
4 years ago
Philip O'Toole
3ff13cda74
More system testing
4 years ago
Philip O'Toole
51c745ea23
More in-mem and on-disk system test
4 years ago
Philip O'Toole
ae16a65d8d
Handle snapshots with database data
...
This shouldn't happen normally, but technically could.
4 years ago
Philip O'Toole
f8e4795d44
Merge branch 'master' into test-snap-restore-more
4 years ago
Philip O'Toole
c2f40500a2
Close Bolt on Store close
4 years ago
Philip O'Toole
e4c60bed7a
Merge branch 'master' into test-snap-restore-more
4 years ago
Philip O'Toole
ca1f8e1752
Whitebox testing of Noops on Store
4 years ago
Philip O'Toole
aa2fec4a1f
More useful store test helper functions
4 years ago
Philip O'Toole
0b84667b45
Fix on-disk create in Apply
4 years ago
Philip O'Toole
a8559b49e8
Merge pull request #754 from rqlite/noop-store-test
...
Support Noop commands in Raft Log
4 years ago
Philip O'Toole
9b8016e079
Simple Noop unit test
4 years ago
Philip O'Toole
824dab5536
Doesn't work because Store can't be re-opened
...
Due to network issues.
4 years ago
Philip O'Toole
d31105e0f0
Add missing return
4 years ago
Philip O'Toole
ed080fe9d0
Close database before Restore
4 years ago
Philip O'Toole
9c53b0f8b7
Consolidate database creation functions
4 years ago
Philip O'Toole
c782b43f2d
Build on-disk databases in-memory first
...
With this change, rqlite nodes running in "on-disk" mode build the database in memory first, and move it to the disk just before the Raft system starts. This means that on-disk nodes now initialize almost as quickly as in-memory nodes.
4 years ago
Philip O'Toole
4551bd30da
Add LastCommandIndex
4 years ago
Philip O'Toole
33aa4522cf
Better timing from first to last log
4 years ago
Philip O'Toole
a4185172da
Time snapshot, restore, and startup times
4 years ago
Philip O'Toole
80e0db9f52
Make logic easier to read
4 years ago
Philip O'Toole
9ea54b608f
Use DeserializeInMemoryWithDSN for in-mem restore
4 years ago
Philip O'Toole
fa43fd4dc0
Enhance in-mem snapshot unit test
4 years ago
Philip O'Toole
ef1f0f1d57
Sync queries and restores
4 years ago
Philip O'Toole
0f1352fb01
Remove duplicate pre-restoration Close()
4 years ago
Philip O'Toole
ce7a3a6912
Merge branch 'master' into no-disk-during-restore
4 years ago
Philip O'Toole
0b3a41bd3f
Clearer comment
4 years ago
Philip O'Toole
535d690d7c
Tigthen up Store-level locking
...
Previous locking didn't look quite correct, and with the advent of the
Serialize functionality, it needs to be more precise.
4 years ago
Philip O'Toole
0d0bb3f44a
Close database before restoration
...
This change also adds better logging, so the restoration process can be
better observed.
4 years ago
Philip O'Toole
eb01e8dc9d
Skip temp file when restoring in-memory database
...
This saves a read and write to disk, the size of the SQLite database.
4 years ago
Philip O'Toole
db64f4c923
Don't use temp file during database snapshot
...
Snapshotting the database does not now need to write to disk, and copy
the SQLite database straight to RAM, for handoff to the Raft subsystem.
4 years ago
Philip O'Toole
93a78f09a0
Add call to Serialize function
4 years ago
Philip O'Toole
d560356d8d
Fix spelling mistakes
4 years ago
Philip O'Toole
8576ed3cfd
Remove unused byte slice address
4 years ago
Philip O'Toole
bb31aef20a
ABL
4 years ago
Philip O'Toole
5295a0e6b1
Trivial cleanups
4 years ago
Philip O'Toole
9b0852e711
Implement policy over trailing logs
...
Don't allow control over trailing logs directly, just implement a policy
that scales the number by 1.25 relative to Snapshot threshold. Without
doing this it may be that setting the snapshot threshold lower doesn't
actually affect SQLite start up times, due to log application. Perhaps
this really needs exposure at the command line, but the command line is
starting to get complicated.
4 years ago
Philip O'Toole
2e6a93faa3
Convenience function to get both indexes at once
4 years ago
Philip O'Toole
8e11534139
Support getting log first and last index
4 years ago
Philip O'Toole
8cb88d7744
Count number of legacy commands unmarshaled
4 years ago
Philip O'Toole
4f0c3092b3
Better command decoding panic message
4 years ago
Philip O'Toole
7780a0987b
Simplify variable declaration
4 years ago
Philip O'Toole
e52b4c58c3
Factor out binary value functions
4 years ago
Philip O'Toole
011bc00784
Add SQLite database page-centric size to status output
4 years ago
Philip O'Toole
6d77d904e7
Compress SQLite database in Raft snapshot
...
Before Raft truncates the log, it needs to retrieve a snapshot of the SQLite database to represent the log entries that are removed during that truncation. Raft then writes that snapshot to disk. To reduce both disk IO and disk space this change compresses that SQLite snapshot before it is written to disk, and decompresses it during a restore operation.
This change also deals with older SQLite snapshots, which were not compressed.
4 years ago