Philip O'Toole
071112aef7
Pass Store to Cluster service
3 years ago
Philip O'Toole
796ef147f7
Hook in explicit Cluster Dialer
3 years ago
Philip O'Toole
606b45051b
Fix help typo
3 years ago
Philip O'Toole
9ed32972b1
Start adding FK option support
3 years ago
Philip O'Toole
b8d72f3fc4
New DB and FSM indexes to track state
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
f0f8bf0388
Change what-was too noisy logging
3 years ago
Philip O'Toole
4591e2df35
Don't ignore -join even if previous state exists
3 years ago
Philip O'Toole
232449b113
Correct help text for -node-id
3 years ago
Philip O'Toole
4c43049f9c
Start cluster service as early as possible
3 years ago
Philip O'Toole
585a204f8b
Add more startup logging
3 years ago
Philip O'Toole
088a06bfc9
Try simple way to share build information
3 years ago
Philip O'Toole
697132a6ee
Remove metadata from Join operations
...
It's no longer needed.
3 years ago
Philip O'Toole
0d533dfa4c
Some cleanup
3 years ago
Philip O'Toole
f939d33fe5
Remove Metadata concept from system
...
System testing passes.
3 years ago
Philip O'Toole
2cef5679b7
rqlited starts and stops fine
3 years ago
Philip O'Toole
30d4d63ebb
System tests pass
3 years ago
Philip O'Toole
38b2abca84
Remove older TCP transport code
...
Still unclear about whether tn.Open() is required with new mux.
3 years ago
Philip O'Toole
d237a13a59
Use muxed connection for Raft internode comms
3 years ago
Philip O'Toole
98a7b3d30e
Minor cleanup for mux code
3 years ago
Philip O'Toole
662daa74cb
Add CA cert support which was erroneously removed
...
This was clearly a mistake due to a previous code change.
3 years ago
Philip O'Toole
2a55f98af7
Tweak help message for source IP
...
https://github.com/rqlite/rqlite/issues/774
4 years ago
osxlinux
03e616d1f7
fix: Optimize the Conversation from O\'Toole
4 years ago
osxlinux
3ba5e31fb2
feat: Support to specify the source IP when you are in a complex network environment
4 years ago
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
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
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
b6ebdf3ab1
Support setting Leader Lease timeout
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
487c0e3f8c
Set Snapshot Interval to non-zero value
...
Snapshotting was *never* functional due to the zero interval value.
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
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
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
9499a7f92d
Revert changes to Disco client
5 years ago
Philip O'Toole
de379a883c
When joining try HTTPS if HTTP fails
5 years ago
Zac Medico
f01e6b1b0a
Server -http-ca-cert and -node-ca-cert options
...
The -http-ca-cert and -node-ca-cert options allow the user to specify
trusted X.509 root CA certificates as an alternative to the
-http-no-verify and -node-no-verify options. This behavior is analogous
to the rqlite client -ca-cert option.
5 years ago
Philip O'Toole
2e91858e1e
Allow Raft election timeout to be set
6 years ago
Philip O'Toole
6937a377ae
Allow control of shutdown-on-remove
...
Defaults to leaving Raft run if the node is removed.
6 years ago
Philip O Toole
c1e1509b93
Correct rqlite GoDoc
7 years ago
Philip O Toole
3fcc5d36f6
Refactor credential store instantiation
...
This will make it easier for other services to use the credential store.
7 years ago
Philip O'Toole
aa998db89e
More GoDoc
7 years ago
Philip O'Toole
1a11536495
Include Go runtime version when issued -version
7 years ago
Philip O'Toole
c8fb4dc9cf
Fix HTTP x509 key help
7 years ago
Philip O'Toole
d753a8f7be
HTTP service now supports registered statuses
...
Mux is first service to register status for serving.
7 years ago
Philip O'Toole
75cec9a9c1
Tweak start-up logo
...
Strictly speaking the system is rqlite, not rqlited. The latter is just
the daemon.
7 years ago
Philip O'Toole
ebfa38d726
Move to clearer command-line options
7 years ago
Philip O'Toole
5e2718d7f7
Better TLS-related logging
7 years ago
Philip O'Toole
a0753d9968
Unit test TLS mux
7 years ago
Philip O'Toole
8f8894bd0e
Complete node-to-node encryption
7 years ago
Philip O'Toole
b96220f1eb
Better commenting
7 years ago
Philip O'Toole
ba53bde877
Add creation TLS-enabled listener
7 years ago
Philip O'Toole
ece0994057
Command-line options for secure internode comms
7 years ago
Philip O Toole
6e664b9797
Log Go version at startup
8 years ago
Philip O Toole
57495a8457
Support multiple join addresses
8 years ago
Philip O Toole
299f5dee7e
Tweak rqlite description
8 years ago
Philip O Toole
fb92953a88
const out the name 'rqlited'
8 years ago
Philip O'Toole
4fad2d22df
Tweak join-related logging
8 years ago
Philip O'Toole
159da1b5e5
Check if join allowed before determining addresses
8 years ago
Philip O'Toole
b1ddec679d
Don't name variable after package
8 years ago
Philip O'Toole
0ae7425678
Disco service is capitalized in logs
8 years ago
Philip O'Toole
acaa014b49
Merge pull request #286 from rqlite/fix_http_help
...
Tweak help output
8 years ago
Philip O'Toole
4b9220c107
More join logging
8 years ago
Philip O Toole
abd24c75ec
Tweak help output
8 years ago
Philip O Toole
144514f370
Tweak main log message
8 years ago
Philip O'Toole
218610822c
Merge pull request #283 from rqlite/fix_main_log
...
main code should also log to stderr
8 years ago
Philip O Toole
4d145f8ac5
main code should also log to stderr
8 years ago
Philip O Toole
9d39d59a6c
Fix join failure log message
8 years ago
Philip O Toole
cf39350d62
Start fixing Discovery Redirects
...
The Go HTTP client does some automatic redirect handling, and the code needs to deal with this.
8 years ago
Philip O'Toole
7810c3470a
Complete integration with Discovery Service
8 years ago
Philip O'Toole
a61f05985b
Supply HTTP advertised address to disco service
8 years ago
Philip O'Toole
35528928e2
Integrate cluster.Join with main
8 years ago
Philip O'Toole
8f9a26ed7b
Add initial, more complex, join functions
...
Also, remove questionable check of join and disco.
8 years ago
Philip O'Toole
b0abb64d62
Sart integration of disco service
8 years ago
Philip O'Toole
caf1562a77
Add GOOS and GOARCH to --version output
8 years ago
Philip O'Toole
e6d9a9dda8
Add build branch to -version output
8 years ago
Philip O'Toole
851f486ff8
Make waiting for logs optional
8 years ago
Philip O'Toole
03899af510
Set params on store before opening
8 years ago
Philip O'Toole
059ab0757b
Allow Store to wait for initial logs to be applied
...
Better fix for issue #260 .
8 years ago
Philip O Toole
5b0cc7bb98
Log GOOS and GOARCH at startup
8 years ago
Philip O Toole
ae0d119d83
Allow Raft Apply timeout to be configurable
8 years ago
Philip O Toole
982fa54030
Not all queries begin with SELECT so pull check
...
Common Table Expressions can begin with WITH. This check was always dubious.
8 years ago
Tycho Andersen
326ca757d7
add an API for using custom raft.PeerStore/log.Logger
...
This is useful in case the server needs to store other metadata (e.g. auth
data) along side the peer list.
The logging bit is handy in case something has its own logging framework
that it wants to use.
Signed-off-by: Tycho Andersen <tycho.andersen@canonical.com>
8 years ago
Philip O'Toole
39ebf50cb7
Remove explicit control of FK constraints
...
It's not clear whether it's the right thing to do, and FK constraints
can still be controlled via PRAGMA commands.
8 years ago
Philip O Toole
c691b04dca
Tweak usage output
8 years ago
Philip O'Toole
4cf39b626e
Tweak logo
8 years ago