Philip O Toole
5f5a666a06
Move to "weak" and "strong" for consistency levels
9 years ago
Philip O Toole
1a16588450
Fix 'timings' JSON tag
9 years ago
Philip O Toole
ac92530a6d
Add sqlite file size to status
9 years ago
Philip O Toole
db1fb33fd3
Allow timing control
...
Fixes issue #75 .
9 years ago
Philip O Toole
8f674219eb
Re-enable timings
9 years ago
Philip O Toole
1649b83d14
Fix unexpected command 'typ'
9 years ago
Philip O Toole
11c18cd769
Service and store support consistency levels
...
Fix issue #5 .
9 years ago
Philip O Toole
20a05fd0a1
Refactor Raft command to support queries
9 years ago
Philip O'Toole
7b628686bf
Add SQLite version to diagnostics
9 years ago
Philip O'Toole
62c17291b4
More diagnostic information
9 years ago
Philip O Toole
e7e212411a
Ensure Raft dir exists
9 years ago
Philip O'Toole
4524d014eb
Leader redirection almost complete
9 years ago
Philip O'Toole
9d614b7c8d
Add explicit error for "no leader"
9 years ago
Philip O'Toole
3f1a3b3777
Fix Raft snapshots of in-memory databases
...
The snapshot code assumed all databases were disk-based.
9 years ago
Philip O'Toole
8cb852d1cf
Prettier store address in status
9 years ago
Philip O'Toole
59052ec0b4
More status output
9 years ago
Philip O'Toole
e88f97ed06
Support cluster-level leader checks for queries
9 years ago
Philip O Toole
ce0a2ce269
Usage and comment fixes
9 years ago
Philip O Toole
f1963221ca
Small fixes and formatting
9 years ago
Philip O Toole
cc73f0abbc
Default to leader check before backup
9 years ago
Philip O Toole
2e7ae59245
Complete multi-node replication test
9 years ago
Philip O Toole
b058458a0f
Start adding multi-node tests
9 years ago
Philip O Toole
347109e4bb
More unit tests of store
9 years ago
Philip O Toole
d0f689c07c
Start adding store-level unit tests
9 years ago
Philip O Toole
81a3af3b7e
Allow leader check for queries
9 years ago
Philip O Toole
3ffed779f8
Move to POST for bulk queries
...
Backup endpoint also added, but not fully-functional.
9 years ago
Philip O Toole
170a916dd5
fmt and lint fixes
9 years ago
Philip O Toole
9c02e1edb6
Make it easier to understand DSN
9 years ago
Philip O Toole
4ff67c2c90
Support in-memory databases
9 years ago
Philip O Toole
2ba973d7b7
Allow control of time display from db layer
...
This is not a great solution, and somewhat of a hack to make
unit-testing easier. However, it will allow control over "time"
in the response in the future.
9 years ago
Philip O'Toole
a8a03ddb07
Fix comment typo
9 years ago
Philip O Toole
7c75bd9494
Finalize name for sqlite file
9 years ago
Philip O Toole
17aea81d75
Add Raft statistics
9 years ago
Philip O Toole
ee4ffe1d15
Comment cleanups
9 years ago
Philip O Toole
b638fa7b87
Finish snapshot restore
...
Compiles, but not tested.
9 years ago
Philip O Toole
a47da4065f
Correctly handle database removal
9 years ago
Philip O Toole
35803cdf75
Shutdown Store on exit
9 years ago
Philip O Toole
a6cb950ff4
Allow DSN config at command line
...
It might still need to be richer, so end-users could specify an
in-memory SQLite database. Specifying a DSN would require the user
to supply the full path to the SQLite database. This is OK. However,
the code then needs to be able to parse out the path to the database
so it can remove it before start up.
9 years ago
Philip O Toole
179ad650f3
Apply() and Snapshot NOT called concurrently
...
No reason to worry about this.
9 years ago
Philip O Toole
2ebec9b973
Start adding support for snapshots
...
This shows that passing the database into the Raft module is probably
not going to work, since the database could be opened in two ways -
directly at startup, and be completely restored from the log, or with
a combination of restoring from a snapshot, followed by the remaining
log entries. In both cases the database must be opened using the
requested DSN settings.
A detailed config object for controlling SQLite behaviour, is probably
best, and it should be passed to the Raft store on start up.
Finally, file-level copying of the SQLite file can only take place if
no transaction is in effect. This might be handled by the use of a
RWLock. The write-lock is taken during Execute() and Snapshot, but
the Read lock is taken during Query(). Unfortunately this may reduce
the concurrency of inserts and updates. Perhaps the Backup call on
the Go SQLite library might be better, but it might be slow.
9 years ago
Philip O Toole
d30d2fffa4
Query path now works
9 years ago
Philip O Toole
ab71c3bdd2
Execute working now
9 years ago
Philip O Toole
639264db4f
Hook up handleExecute
9 years ago
Philip O Toole
28f4a73773
Simplify use of ApplyFuture
9 years ago
Philip O Toole
3ab8e01d91
Start threading ApplyFuture for Execute response
9 years ago
Philip O Toole
d70a9cb0ed
Push database into Raft store
...
Allows the DSN to be fully set, if requested.
9 years ago
Philip O'Toole
99f5e63f49
Build fixes
9 years ago
Philip O'Toole
73d880c93c
Start support for SQLite DSN
...
This isn't complete, since it prepends the Raft directory to the
filename, which would break a DSN.
9 years ago
Philip O'Toole
77b9077d9d
Pass Execute results up
...
Doesn't compile.
9 years ago
Philip O'Toole
63c74cabea
Fully build with new db package
9 years ago
Philip O'Toole
f6984f4134
Small wrapper around sqlite3
9 years ago
Philip O'Toole
4f110e26ea
Update README with desired behavior
9 years ago
Philip O'Toole
b95c84d16e
Add database interface to Store
...
CREATE TABLE now works.
9 years ago
Philip O'Toole
e43b0bc421
Initialize SQLite store
9 years ago
Philip O'Toole
12aef34625
Start integrating actual SQLite support
...
Builds without error.
9 years ago
Philip O'Toole
d7d46f79c0
Start refactor for Hashicorp
...
Heavily influenced by hraftd. rqlited builds without error.
9 years ago