1
0
Fork 0

283 Commits (c7357f14e572d9715351c63d1b1483ba064e1a8e)

Author SHA1 Message Date
Philip O'Toole 83026e4612 Add Peers to status output 8 years ago
Philip O'Toole 47539cf8e1 Add RemoveNode() to Store 8 years ago
Philip O'Toole ef18cd5b17 Expose Raft Peers() on Store 8 years ago
Philip O Toole bf2047b45b 'go lint' fixes 8 years ago
Philip O'Toole 8c0fee4b06 Include Raft dir in status 9 years ago
Philip O'Toole 5380c4d7e4 Map Raft "not leader" error to Store error (#112) 9 years ago
Philip O'Toole c04ff92d7a Fill our API peers lookups (#110) 9 years ago
Philip O'Toole fac48629bc Start initial integration of mux (#109)
Integrate TCP mux with cluster and store

This change allows any node, including followers, to use the Raft log to make changes to a cluster-wide state.
9 years ago
Philip O Toole 5aefda9983 Move to new rqlite org 9 years ago
Philip O'Toole e8c92e088c Don't join unless actually necessary 9 years ago
Philip O'Toole a02f44f089 Remove cluster-like code from Store 9 years ago
Philip O'Toole 9164550aab Remove debug print 9 years ago
Philip O'Toole bdeda47774 Initial implementation of Meta server
This should really be a distinct cluster package.
9 years ago
Philip O'Toole 0a3454a675 Methods on store to set and get API peers 9 years ago
Philip O'Toole 0bffa38319 Start implementing cluster meta comms 9 years ago
Philip O'Toole 16e3125149 Add support for cluster meta
This change required that the cluster meta become part of the Raft
snapshot.
9 years ago
Philip O'Toole 99ebaf9767 Add support for peersSub 9 years ago
Philip O'Toole ed56f77714 Add hierarchy to Raft commands 9 years ago
Philip O'Toole 099c7c18ac Enable TCP muxing layer for Raft commns 9 years ago
Philip O'Toole ef554e33a0 Update sqlite3 status output 9 years ago
Philip O'Toole 91a552b7ec Further store-layer updates 9 years ago
Philip O'Toole 31cda32a38 'go fmt' fixes 9 years ago
Philip O'Toole 1ea4edd515 Store layer adapted to new DB layer 9 years ago
Philip O Toole c07c11f134 Fix trivial typo 9 years ago
Philip O'Toole 7fd7a9a385 Finish multi-node cluster testing 9 years ago
Philip O'Toole 5bd3ab574d Idiomatic network layer function names 9 years ago
Philip O'Toole 9693d7dc95 Obey 'timings' flag at database level 9 years ago
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