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
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
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
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
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
7badba4a7a
Try fast paths
1 year ago
Philip O'Toole
76ba50ca86
Log last (if any) WaitForLeader error
1 year ago
Philip O'Toole
ef403cdcc6
Fix up WaitForLeader
...
Add dedicated error codes too.
1 year ago
Philip O'Toole
c05e091cd1
Add WaitForRemoval
1 year ago
Philip O'Toole
c23d3e60b1
Reuse existing consistency level
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
eea101a1d5
Fix duplicate import
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
89f472743b
Start adding Store.Request()
1 year ago
Philip O'Toole
7680483793
Tighten up remove
1 year ago
Philip O'Toole
e64d78b809
Support removing self from cluster on shutdown
1 year ago
Philip O'Toole
02b6f7df61
selfLeaderChange is not just about restores
1 year ago
Philip O'Toole
159b127101
Clean up comments
1 year ago
Philip O'Toole
0c6be22478
Close auto-restore file
1 year ago
Philip O'Toole
1fa7cf73a7
Log any failure to delete auto-restore file
1 year ago
Philip O'Toole
1941c947c7
Fix comment
1 year ago
Philip O'Toole
466c757dcf
Add long-missing init call to Store stats
1 year ago
Philip O'Toole
ee55a35c03
SetRestorePath unit testing
1 year ago
Philip O'Toole
e7919a906f
Avoid the race during testing
1 year ago
Philip O'Toole
31467482a3
Store-level multi-node auto-restore testing
...
This test ensures that auto-restoring works as expected when
Bootstrapping is enabled.
1 year ago
Philip O'Toole
bf1e1cb1cd
Add first tested version of Store auto-restore
1 year ago
Philip O'Toole
5c2e8e7ad6
Add channel which gets signal on becoming Leader
1 year ago
Philip O'Toole
833d9d3a6f
Perform older checks first
1 year ago
Philip O'Toole
5e3f294dfa
Only check for a ready store if making changes
1 year ago
Philip O'Toole
2ce3c5f34c
Check Store is ready in more places
1 year ago
Philip O'Toole
57ca03014b
More integration and testing of Store readiness
1 year ago
Philip O'Toole
716f84ff28
Store supports registering "ready" channels
1 year ago
Philip O'Toole
372e4dd4a9
Store implements simpler Provide() interface
1 year ago
Philip O'Toole
5fcc222f73
Better Store comment
1 year ago
Philip O'Toole
ae97060f2c
Implement the DataProvider interface on the Store
1 year ago
Philip O'Toole
519df067cc
Check for more possible errors with peers
...
https://github.com/rqlite/rqlite/issues/1217
1 year ago
Philip O'Toole
35df643a0b
Remove unneeded type assertions
1 year ago
Philip O'Toole
1794724ef0
Remove unused code and fix error handling
1 year ago
Philip O'Toole
93b3308502
Skip any files that disappear during walking
1 year ago
Philip O'Toole
ff001bc5a8
Migrate to a Protos data model for Notify Requests
2 years ago
Philip O'Toole
a782513a11
Migrate to a join-request proto
2 years ago
Philip O'Toole
fdf5fce053
Update store.go
2 years ago
Philip O'Toole
2730fa06e5
Empty config means not a voter
2 years ago
Philip O'Toole
5636febf9a
Add IsVoter() and add to status/ output
2 years ago
Philip O'Toole
defde21281
Merge remote-tracking branch 'origin' into ignore-join-explicit-if-state
2 years ago
Philip O'Toole
90b4dc0745
Silently ignore unchanged node self-joins
2 years ago
Philip O'Toole
54d61c7866
Update store.go
2 years ago
Philip O'Toole
a2899a1cdd
Support stepping down before shutting down
2 years ago
Philip O'Toole
0702e39ace
Add ResetStats
2 years ago
Philip O'Toole
4da5b6322f
Log message could be confusing with remote remove
2 years ago
Philip O'Toole
98575d727b
Start adding remote remove node
...
More testing, including unit testing, required.
2 years ago
Philip O'Toole
bfc35eaf7c
Simplify reap command line flags ( #1118 )
...
Simplify reap command line flags
2 years ago
Philip O'Toole
220424c7d1
Simple refactor, better Go style
2 years ago
Philip O'Toole
07620cab41
Reap nodes ( #1114 )
...
Support automatic reaping of nodes
2 years ago
Philip O'Toole
e158ae8a72
Start HTTP server ASAP
2 years ago
Philip O'Toole
0e8e266f96
Merge pull request #1090 from rqlite/fix-remote-load-errors
...
Fix remote-load error handling
2 years ago
Philip O'Toole
893fbb0249
More store-level load operation logging
2 years ago
Philip O'Toole
65cd556549
Fix remote-load error handling
...
Error from remote node was being dropped.
2 years ago
Philip O'Toole
5f33bffa0f
More logging and resolution checks
2 years ago
Philip O'Toole
b0f17b86c7
Notified node checks address resolution
...
If a non-resolvable address is passed to the Store, and then Store then
adds that to the config, it can result in a cluster that seems to have
insufficient members (since the remote node can't be contacted). This
may trigger a new leader election.
2 years ago
Philip O'Toole
47d79c859a
Log database backup time
2 years ago
Philip O'Toole
9fc6ea16e9
Even better defer sequence
2 years ago
Philip O'Toole
555883d1a2
Correct order of deferred calls
2 years ago
Philip O'Toole
54aec1ca33
Tighten up backup code
2 years ago
Philip O'Toole
31bba4c577
Move to Backup proto model
2 years ago
Philip O'Toole
dc2b9f5b6f
Ignore freshness when serving queries on Leader
...
It doesn't make sense to check the last leader-contact time when the
node itself is the leader. Any read, when served by the leader, is going
to be within the freshness bound.
Fixes https://github.com/rqlite/rqlite/issues/1048
2 years ago
Philip O'Toole
89b132ac26
Fix Store-level unit tests
2 years ago
Philip O'Toole
b03ed99eda
Update comment
2 years ago
Philip O'Toole
304124952c
Add Store level changes
...
Needs unit testing, and HTTP testing won't compile.
2 years ago