1
0
Fork 0

214 Commits (ec2b6a019ab6bf7849fa32e921553cc6aedd1732)

Author SHA1 Message Date
Philip O'Toole 2c52d9726c Log launch command 4 years ago
Philip O'Toole c782b43f2d
Build on-disk databases in-memory first
With this change, rqlite nodes running in "on-disk" mode build the database in memory first, and move it to the disk just before the Raft system starts. This means that on-disk nodes now initialize almost as quickly as in-memory nodes.
4 years ago
Philip O'Toole c4ee9cafd9 Disable TLS v1.0 and v1.1 by default 4 years ago
Philip O'Toole 3ff1c35998 Add oneshot option to rqbench 4 years ago
Philip O'Toole 5295a0e6b1 Trivial cleanups 4 years ago
Philip O'Toole b27cdfbf4d Better control over waiting for leader 4 years ago
Philip O'Toole 6670a22850 Actually check error codes during Store startup
This was a bug.
4 years ago
Philip O'Toole f07c3673c5 Log at start-up first and last Raft log indexes 4 years ago
Philip O'Toole 09931f8338 rqlite dumps rqlite node version at startup 4 years ago
Philip O'Toole 499df692be Exit if arguments are passed after data directory
Fixes issue #718.
4 years ago
Philip O'Toole a40338b113 Tweak log output 4 years ago
Philip O'Toole d5322a1909
Ignore join request if node already part of cluster (#711)
rqlite used to work like this, but suffered a regression due to a change in how Hashicorp Raft worked. The manner it changed in was not public, so relying on it was always fragile.
4 years ago
Philip O'Toole 6575de779d
Use Protobuf for encoding Raft Log commands
This PR changes Raft Log Entry encoding from JSON to Protobuf. Furthermore, larger Raft commands (which can result from batching SQL statements, or individually long SQL statements) are compressed before encoding.

This primary reason for this change is to reduce IO load since that is one of the largest performance bottlenecks. It will also reduce internode traffic.

Legacy JSON-encoded commands are still handled by this code, so this change is backwards-compatible with previous releases in the v5 series.
4 years ago
Philip O'Toole 29b73cdf63 Add rqbench README 4 years ago
Philip O'Toole 5f4ec0c607 Support both execute and query benchmarking 4 years ago
Philip O'Toole c48c3cbe9b Pass path to HTTP tester 4 years ago
Philip O'Toole 73ea4b9424 Remove unneeded : 4 years ago
Philip O'Toole ac5fb55301 Display HTTP response body on 503 4 years ago
Philip O'Toole b6ebdf3ab1 Support setting Leader Lease timeout 4 years ago
Philip O'Toole d47c290cda Restore request should re-read file every attempt
It can now handle HTTP 301 redirects properly.
4 years ago
Philip O'Toole 9482741afa Set BasicAuth when needed during restore 4 years ago
Philip O'Toole 0f3010f15c Add missing calls to set BasicAuth 4 years ago
Philip O'Toole fbdbee3e25 Include API proto in node meta 4 years ago
Philip O'Toole 3f0182c8e8 Make num join attempts and interval configurable 4 years ago
Philip O'Toole aa2467b29d Print help in alpha order 5 years ago
Philip O'Toole ad1557664a Add support to CLI for node removal 5 years ago
Philip O'Toole 487c0e3f8c Set Snapshot Interval to non-zero value
Snapshotting was *never* functional due to the zero interval value.
5 years ago
Philip O'Toole 5bf8fc2d43 Fix formatting 5 years ago
Philip O'Toole 887530db26 Correct package godoc for rqbench 5 years ago
Philip O'Toole 536cac4fdf Allow log level control for Raft module
Default log level is INFO.
5 years ago
Philip O'Toole 668720cbb6
Remove obsolete SQLite const 5 years ago
Philip O'Toole ef44c199aa
Update main.go 5 years ago
Philip O'Toole cc65e36fcc
Remove obsolete const 5 years ago
Philip O'Toole 81f5f6faf1 Add support for non-voting nodes
A non-voting node doesn't participate in Raft consensus, but does
subscribe to the committed log entries originating with the leader.
This means a non-voting node keeps up-to-date with the state machine,
without impacting write-latency. These non-voting nodes can provide
read scalability for the cluster.
5 years ago
Philip O'Toole 8ecf84a42b Reset strings reader every execute loop 5 years ago
Philip O'Toole 99ac2353b3 Simplify rqlite implementation
This results in significant duplicated code, but is easier to follow.
The previous code was buggy when it came to redirection handling.
Longer term tool needs to be rebuilt to use a proper Go SQL-compliant
package (yet to be written).
5 years ago
Philip O'Toole 68271534ed
Merge pull request #608 from rqlite/features_status
Add features list to status output
5 years ago
Philip O'Toole 3b9aca29c2 Add features list to status output
This will make it easier for client libraries to check for features in a given server, in a standard way.
5 years ago
Philip O'Toole 9ab39b7b29 Read, and close, response body ASAP 5 years ago
Philip O'Toole 959d280c49 rqlite CLI explicitly checks for HTTP 200 5 years ago
Philip O'Toole f57ace7da2 Broadcast Store meta via standard consensus
With this change the cluster metadata (arbitrary key-value data associated with each node) is now broadcast across the cluster using the standard consensus mechanism. Specifically the use case for this metadata is to allow all nodes know the HTTP API address of all other nodes, for the purpose of redirecting requests to the leader.

This change removed the need for multiplexing two logical connections
over the single Raft TCP connection, which greatly simplifies the
networking code generally.

Original PR https://github.com/rqlite/rqlite/pull/434
5 years ago
Philip O'Toole 853133ecb2 By default use Raft network address as node ID 5 years ago
Philip O'Toole 8a0e1ce8f0 Move to Hashicorp Raft v1 5 years ago
Philip O'Toole 6213f5d604
Print Welcome message in CLI 5 years ago
Philip O'Toole 70fec8fb1f Add HTTP proxy (from environment) support
Port PR573.
5 years ago
Philip O'Toole 76975f96fe Add .dump to CLI 5 years ago
Philip O'Toole ff0d5d1d39 Add restore command to CLI
Port of PR450.
5 years ago
Philip O'Toole 7ac47a1571 CLI now supports history
Port of PR527.
5 years ago
Philip O'Toole ea8d568406 Commit new file 5 years ago
Philip O'Toole 7a81104082 Support backups from CLI
Port PR436.
5 years ago