Eng Zer Jun
6969165330
test: fix failing Test_SingleNodeSnapshotOnDisk on Windows
...
Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2 years ago
Eng Zer Jun
5141eff5fc
test: use `T.TempDir` to create temporary test directory
...
This commit replaces `ioutil.TempDir` with `t.TempDir` in tests. The
directory created by `t.TempDir` is automatically removed when the test
and all its subtests complete.
Prior to this commit, temporary directory created using `ioutil.TempDir`
needs to be removed manually by calling `os.RemoveAll`, which is omitted
in some tests. The error handling boilerplate e.g.
defer func() {
if err := os.RemoveAll(dir); err != nil {
t.Fatal(err)
}
}
is also tedious, but `t.TempDir` handles this for us nicely.
Reference: https://pkg.go.dev/testing#T.TempDir
Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
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
67a6042afb
More style changes
2 years ago
Philip O'Toole
7bfc7afef0
Minor style changes to test logic
2 years ago
Abirdcfly
1b033f3b58
fix minor unreachable code caused by t.Fatal
...
Signed-off-by: Abirdcfly <fp544037857@gmail.com>
2 years ago
Philip O'Toole
9dbf590634
Better unit test
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
da8d4fcbe9
Unit test that pre-existing data is gone
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
Philip O'Toole
2729a17279
Move some functions to standalone form
2 years ago
Philip O'Toole
9783ef24b1
Switch to error on self-join attempt
3 years ago
Philip O'Toole
a524ed4979
Ignore join request if node ID is same
3 years ago
Philip O'Toole
e4fed0cee3
Add bootstrap-expect ( #974 )
...
Add cluster-boostrap
3 years ago
Philip O'Toole
ad7986630d
Better command-line flags
3 years ago
Philip O'Toole
ce099087ee
Control whether bbolt sync freelist to disk
...
When true, skips syncing freelist to disk. This improves the database write performance under normal operation, but requires a full database re-sync during recovery.# Please enter the commit message for your changes.
3 years ago
Philip O'Toole
490f654f36
Move to etcd's fork of BoltDB
...
bboltdb is the version the Consul now runs.
3 years ago
Philip O'Toole
4aea326959
Consul and etcd autoclustering ( #957 )
...
This PR introduces new node-discovery integration with Consul and etcd. By using one of those systems with rqlite, automatic clustering of rqlite is much easier.
3 years ago
Philip O'Toole
63b7d24814
Init rand seed once at Store level
3 years ago
Philip O'Toole
24a5dc8c4b
Much better random file names
3 years ago
Philip O'Toole
58adcb87c9
Fix Store unit tests
3 years ago
Philip O'Toole
ca556044e3
Merge branch 'master' of github.com:rqlite/rqlite into refactor-main-bootstrap
3 years ago
Philip O'Toole
2ffb29394f
Fix typo
3 years ago
Philip O'Toole
f5c03d4b60
Try simple refactor of bootstrap
3 years ago
Philip O'Toole
769557db7e
Better variable name
3 years ago
chermehdi
3bfcbffc37
Fix typos and Grammar issues
3 years ago
Philip O'Toole
6509070ce8
More STRONG queries to deal with races
3 years ago
Philip O'Toole
f3a9b79b34
Close obsolete Listeners during Store testing
3 years ago
Philip O'Toole
33bee34f89
More Store restart testing
3 years ago
Philip O'Toole
d74c05c2db
Support disabling in-memory init of on-disk
3 years ago
Philip O'Toole
003301aee6
Minor fixes to log messages ( #920 )
...
Minor fixes to log messages
3 years ago
Philip O'Toole
0b621cbec8
More logging tweaks
3 years ago
Philip O'Toole
5ce51bc2ba
Better comments
3 years ago
Philip O'Toole
05534cc94c
Don't use Windows file paths as IDs
3 years ago
Philip O'Toole
f9f35bf95c
Dump file
3 years ago
Philip O'Toole
7093cb25d3
Fix race in test
3 years ago
Philip O'Toole
9fb114c07f
Recover test after snapshot
3 years ago
Philip O'Toole
519a91e635
Actual recovery node test passes on Linux
3 years ago
Philip O'Toole
f9bcde0722
Back to no-change test
3 years ago
Philip O'Toole
e2e199633a
Fix JSON string in unit test
3 years ago
Philip O'Toole
c111df7ed5
Simpler node-recovery test
3 years ago
Philip O'Toole
92d5bc8b64
Unit test fixes (?)
3 years ago
Philip O'Toole
1b158d09fb
Simple unit test of node-recovery
3 years ago
Philip O'Toole
1abd3007ca
Rename peers.json after successful recovery
3 years ago
Philip O'Toole
cc1de72796
Ensure raft/ exists inside data directory
3 years ago
Philip O'Toole
abccc6ced3
Better function name
3 years ago
Philip O'Toole
d9ad3c080a
Add untested recover-node functionality
3 years ago
Philip O'Toole
32239b5053
Move new function to earlier per convention
3 years ago
Philip O'Toole
4ab72a8194
Refactor to make recover-cluster code easier
3 years ago
Philip O'Toole
5dd4aeed1e
More Snapshot metrics
3 years ago
Philip O'Toole
38eef8ee82
Merge pull request #890 from rqlite/more-abl
...
ABL
3 years ago
Philip O'Toole
dd71c07c73
ABL
3 years ago
Philip O'Toole
0e34dc49ca
Add BoltDB stats
3 years ago
Philip O'Toole
d6be09ba65
Update Snapshot comment
3 years ago
Philip O'Toole
5d48a18950
Check if slice is empty in addition to being nil
3 years ago
Philip O'Toole
bb002bb81b
Block query transactions during serialize
3 years ago
Philip O'Toole
a6da8d474f
Ensure (any) directory for on-disk-path exists
3 years ago
Philip O'Toole
1f33dbb2cb
Fix up Store-open logging
3 years ago
Philip O'Toole
00f4c6bc35
Wait, or timeout, for LeaderID to be set
...
Address https://ci.appveyor.com/project/otoolep/rqlite/builds/40607771
failures.
3 years ago
Philip O'Toole
5c63ff9bff
Check for WaitForLeader errors
3 years ago
Philip O'Toole
c9fdd7d05d
Ensure SQLite file was actually created
3 years ago
Philip O'Toole
105a894fe5
Support explicit SQLite path at Store level
3 years ago
Philip O'Toole
a6346ba9d4
Fix unit test -- start muxes
3 years ago
Philip O'Toole
9aecafedbe
Cluster client resolves advertised local address
...
Also, improve HTTP stats.
3 years ago
Philip O'Toole
d85bb55270
Merge branch 'master' of github.com:rqlite/rqlite into snapshot-gauges
3 years ago
Philip O'Toole
dd692ecf4f
Add gauge-like metric for Snapshot times
3 years ago
Philip O'Toole
e5a94f3592
Merge branch 'master' of github.com:rqlite/rqlite into cluster-execute-queries
3 years ago
Philip O'Toole
9d87a15194
Small simplication
3 years ago
Philip O'Toole
43e60a0469
Perform leader check first for STRONG query
...
Don't wait until Raft layer returns it. There is a small chance of a
false leadership detection, but the cluster would have to be in flux
anyway for that to be the case. Execute does this already.
3 years ago
Philip O'Toole
52ef9836ed
Minor store-level test cleanup
3 years ago
Philip O'Toole
fd98114839
HTTP-level testing passes
3 years ago
Philip O'Toole
3580e341a8
Store-level testing passes
3 years ago
Philip O'Toole
916342395e
Add Store-level FK constraint test
3 years ago
Philip O'Toole
a8d02bc807
Better JSON rendering of DB conf object
3 years ago
Philip O'Toole
deb4dabf2e
Thread through foreign key constraint controls
3 years ago
Philip O'Toole
9ed32972b1
Start adding FK option support
3 years ago
Philip O'Toole
0536bc3c1c
ABL
3 years ago
Philip O'Toole
74d0780a5f
Merge pull request #845 from rqlite/sqlite-options
...
Add SQLite compile-time options to status output
3 years ago
Philip O'Toole
39d0f2ad4a
Merge branch 'master' of github.com:rqlite/rqlite into sqlite-options
3 years ago
Philip O'Toole
fc76327b46
Use FSM index in tests
3 years ago
Philip O'Toole
b8d72f3fc4
New DB and FSM indexes to track state
3 years ago
Philip O'Toole
ea723ee830
Ping databases on open to ensure full availability
3 years ago
Philip O'Toole
696bac655f
Merge branch 'master' of github.com:rqlite/rqlite
3 years ago
Philip O'Toole
f03900b282
Log type of database on start-up
3 years ago
Philip O'Toole
b83424484d
Enhance SQLite database status
3 years ago
Philip O'Toole
6edff5ba24
Deal with SQLite connection "caching"?
...
https://github.com/mattn/go-sqlite3/issues/966
3 years ago
Philip O'Toole
6dc9583dab
Implement concurrent reads and writes
...
Disk doesn't support it yet, as it has not moved to WAL mode. Perhaps
wait for next release to do that.
3 years ago
Philip O'Toole
e0da96dd55
Remove support for specifying SQLite DSN
...
This is a breaking change. However this feature hasn't been tested and
allows end-users to break the system too easily. Low-level control over
the SQLite database is better done with PRAGMA commands where possible.
3 years ago
Philip O'Toole
8693694d14
Add current SQLite journal mode to status output
3 years ago