Philip O'Toole
208fc20659
Fix more uses of random
1 year ago
Philip O'Toole
54713b63f4
Merge remote-tracking branch 'origin' into wal-snapshot-store-v3
1 year ago
Philip O'Toole
c51b8364e8
Fix import path
1 year ago
Philip O'Toole
2288cfe2a9
random only needed by store
1 year ago
Philip O'Toole
c1a8b4a13a
Use global, sync'ed random source
...
Almost unbelievably it appears tests on AppVeyor get the same value when
seeding the random generator. See https://ci.appveyor.com/project/otoolep/rqlite/builds/47853399
1 year ago
Philip O'Toole
c6e214de1a
Remember store attributes
1 year ago
Philip O'Toole
dda86be0d3
Better Store open-and-close logging
1 year ago
Philip O'Toole
c44d020c11
Only attempt to checkpoint once
1 year ago
Philip O'Toole
d6b9c5b39e
Close streams
1 year ago
Philip O'Toole
ee8b23ba94
More logging
1 year ago
Philip O'Toole
e8e0381622
Log when Store closes
1 year ago
Philip O'Toole
a6134b02bc
Instrument the FSM snapshot process
1 year ago
Philip O'Toole
76867a682f
Time FSM snapshot creation
1 year ago
Philip O'Toole
ab6ca783e1
Checkpoint database during Recovery
1 year ago
Philip O'Toole
a9e895bee2
Some cleanups
1 year ago
Philip O'Toole
bd0f78391e
Remove unneeded FSM snapshot code
1 year ago
Philip O'Toole
47476d5b58
Integrate new snapshoting with Store
...
- Snapshot
- Restore
- RecoverNode
1 year ago
Philip O'Toole
5eb4e38cbc
Add comments and errors
1 year ago
Philip O'Toole
e4d5ffb8a9
Flesh our Store check()
1 year ago
Philip O'Toole
48ea4bbfd8
Use a single header
1 year ago
Philip O'Toole
ea8dc3ed18
More test fix-up post removal of in-memory
1 year ago
Philip O'Toole
6895525482
Rename some tests
1 year ago
Philip O'Toole
aa72408bc5
Remove racy use of rand
1 year ago
Philip O'Toole
07d49961d8
Remove unused functions
1 year ago
Philip O'Toole
9e31a054aa
RecoverNode now uses on-disk database
1 year ago
Philip O'Toole
88ce311b37
Remove all WAL-related files when loading new DB
1 year ago
Philip O'Toole
b931e387be
First pass at removing in-memory support
1 year ago
Philip O'Toole
23b8b6e5c9
Actually rename
1 year ago
Philip O'Toole
2ac27c2ffc
Move Store tests back to single directory
1 year ago
Philip O'Toole
65c6a56468
Remove the file
1 year ago
Philip O'Toole
88d448851d
Blank out on-disk store tests
1 year ago
Philip O'Toole
02b7ea7955
Close Store so temp storage can be cleaned up
1 year ago
Philip O'Toole
e47c7a1b7b
Stress-test snapshotting
1 year ago
Philip O'Toole
e497ee75f9
Fix typo
1 year ago
Philip O'Toole
f06e547ab5
Less disk IO during load
1 year ago
Philip O'Toole
f5517c0f66
Correct comment
1 year ago
Philip O'Toole
9bdf048975
Better naming of temp backup file
1 year ago
Philip O'Toole
b5cb889e1e
Auto-restore doesn't require ready() check
1 year ago
Philip O'Toole
b7633143cc
Restore from file uses chunking
1 year ago
Philip O'Toole
5ca5ce342e
Support internode LoadChunk()
1 year ago
Philip O'Toole
1c8e52c5f7
Test_SingleNodeLoadBinaryFromReader passes
...
That's good, but much more extensive testing needed, and this needs to
replace the existing load path -- and then we move to 8.0.
1 year ago
Philip O'Toole
93a752ae0e
Better variable names
1 year ago
Philip O'Toole
1c6f691ff8
Integrate chunking - WIP
...
I need more sophisticated dechunker management.
1 year ago
Philip O'Toole
13d47b24d8
Store can load from an io.Reader
...
This may be helpful for chunked-loads.
1 year ago
Philip O'Toole
a40c43725f
More logic reversal
1 year ago
Philip O'Toole
f81aad8fd3
Revert logic for clarity
1 year ago
Philip O'Toole
21dff4a68c
Remove on-disk-startup control
...
With the move to WAL and "synchronous mode" to OFF, on-disk startup
times are very close to in-memory. There is no need for this control
anymore and it complicates the start-up code.
1 year ago
Philip O'Toole
e845e0c243
Fix remaining expression test cases
1 year ago
Philip O'Toole
f7ced46377
Count number of DB stats errors
1 year ago
Philip O'Toole
36fa7f2afd
Detect DB stats error and log
1 year ago
Philip O'Toole
7ce2c6b99a
Fix comment
1 year ago
Philip O'Toole
7432bceca3
Since we're passed a ReadCloser, close it
1 year ago
Philip O'Toole
4342650c33
Fix RecoverNode
1 year ago
Philip O'Toole
ad73779285
Periodically record actually applied index
...
This ensures the system doesn't apply uncommitted log entries to the
FSM, if it runs the in-memory startup. There have been no reports of
this in the field -- it is an edge case -- but this removes any chance
of it.
1 year ago
Philip O'Toole
abfe056b4c
Remove any -wal and -shm files on shutdown
...
If in WAL mode, open-and-close again to remove the -wal file. This is not strictly necessary, since any on-disk database files will be removed when rqlite next starts, but it leaves the directory containing the database file in a cleaner state.
1 year ago
Philip O'Toole
6cd8d30749
Fix Store-level database-backup test
1 year ago
Philip O'Toole
a6925414ef
Better comments
1 year ago
Philip O'Toole
b2f28d1181
Better WAL control
1 year ago
Philip O'Toole
2f7672d897
Enable WAL mode
1 year ago
Philip O'Toole
585f9c9c05
Use Snapshot decoder in Store
1 year ago
Philip O'Toole
58534d4815
Better name for V1 Snapshotter
1 year ago
Philip O'Toole
c87931c45c
Factor Snapshot creation into own module
1 year ago
Philip O'Toole
3f462eecfa
Remove all on-disk SQLite files on startup
1 year ago
Philip O'Toole
7e1b8d12d7
Add full WAL support to DB layer
1 year ago
Philip O'Toole
eed215c664
Only 1 Snapshot needs to be retained
1 year ago
Philip O'Toole
b9253e6b41
Improve logging in Store
1 year ago
Philip O'Toole
4a7ac2850f
rqlite doesn't (yet) support WAL mode SQLite data
1 year ago
Philip O'Toole
92bc513242
Move FSMSnapshot to own source file
1 year ago
Philip O'Toole
e4a0d96f23
Further refactoring
1 year ago
Philip O'Toole
3dd37f8771
Move on-disk Store testing to distinct file
1 year ago
Philip O'Toole
6c7c32ab4e
Remove racy test code
1 year ago
Philip O'Toole
aed541b98e
Poll nodes
1 year ago
Philip O'Toole
8a8e126061
Use some loops
1 year ago
Philip O'Toole
ef42d28e36
Refactor and log more during test
...
https://ci.appveyor.com/project/otoolep/rqlite/builds/47107026 - this
looks racy, as the Leader had been detected, but the config not yet
applied. Leave for now and see if more info can be gathered. This may be
happening because WaitForLeader() has a fast path now.
1 year ago
Philip O'Toole
1b299b7e9b
Tigher logic
1 year ago
Philip O'Toole
9faea33da7
Give time for new leader to be elected
1 year ago
Philip O'Toole
7badba4a7a
Try fast paths
1 year ago
Philip O'Toole
76ba50ca86
Log last (if any) WaitForLeader error
1 year ago
Philip O'Toole
498cc39925
Fix Store unit tests
1 year ago
Philip O'Toole
ef403cdcc6
Fix up WaitForLeader
...
Add dedicated error codes too.
1 year ago
Philip O'Toole
562b1de03b
Multi-node testing of WaitForRemoval()
1 year ago
Philip O'Toole
94dbff6851
Unit test WaitForRemoval() on Store
1 year ago
Philip O'Toole
c05e091cd1
Add WaitForRemoval
1 year ago
Philip O'Toole
fb73b8e313
Add Contains() to Servers
1 year ago
Philip O'Toole
c23d3e60b1
Reuse existing consistency level
1 year ago
Philip O'Toole
ee01569f53
Request Freshness testing
1 year ago
Philip O'Toole
2186fa0c66
Merge branch 'master' of github.com:rqlite/rqlite
1 year ago
Philip O'Toole
c40303b6ae
Fix test error message
1 year ago
Philip O'Toole
ddea64ebe0
Fix Store tests
1 year ago
Philip O'Toole
18b76ebd4f
go fmt
1 year ago
Philip O'Toole
2f8d4e95e0
Update store.go
1 year ago
Philip O'Toole
3058d3e9fc
Fix transaction handling in db.Request()
1 year ago
Philip O'Toole
eea101a1d5
Fix duplicate import
1 year ago
Philip O'Toole
c995986630
Add parameter tests
1 year ago
Philip O'Toole
061ba8eed5
Add Request Tx unit test
1 year ago
Philip O'Toole
2261cb30c9
First unit test of Store.Request()
1 year ago
Philip O'Toole
f7cdbdea68
Handle Command_COMMAND_TYPE_EXECUTE_QUERY in Store
...
Works! Store.Request() needs unit testing however.
1 year ago
Philip O'Toole
b2b0b188e9
Factor out functions
1 year ago
Philip O'Toole
e171b2e725
Unit test RequiresLeader
1 year ago
Philip O'Toole
89f472743b
Start adding Store.Request()
1 year ago