Sayan Nandan
3c14501913
Simplify tests
3 years ago
Sayan Nandan
f67057dfb5
Add authn tests
3 years ago
Sayan Nandan
ade5b2a105
Enable authentication in dbtest tests
3 years ago
Sayan Nandan
4a075422de
Enable using TLS on dbtest tests
3 years ago
Sayan Nandan
2cd87fbc35
Add separate `dbtest_func` macro for individual dbtest functions
3 years ago
Sayan Nandan
e62fb74e81
Simplify dbtest macros
3 years ago
Sayan Nandan
bb978e5a84
Simplify uninit array generation
...
The previous method used was a dirty hack due to limitations with
expressions in constant contexts, but the latest `rustc` lets
us greatly simplify this impl.
3 years ago
Sayan Nandan
68e5e07450
Fix length checks in auth subactions
3 years ago
Sayan Nandan
ff8bb08ab9
Fix `auth login` and `auth claim` impls for unauth connections
3 years ago
Sayan Nandan
6db1667420
Enable auth to be configured
3 years ago
Sayan Nandan
d70a42fd10
Fix tests
3 years ago
Sayan Nandan
d6fed47eae
Implement `login`, `logout`, `claim` and `adduser` for `auth`
3 years ago
Sayan Nandan
473f435638
Enable users to authenticate
3 years ago
Sayan Nandan
2a91eab273
Add `ActionError` impls for `AuthError`
3 years ago
Sayan Nandan
720764f5d2
Move system tables into separate namespace
3 years ago
Sayan Nandan
21d0e0a2b6
Version gate the storage engine
3 years ago
Sayan Nandan
ffce889c00
Improve bytemark save/restore tests
3 years ago
Sayan Nandan
339e43928f
Add table restoration tests using bytemark
3 years ago
Sayan Nandan
2cf4ec5e87
Fix unflush for volatile tables
3 years ago
Sayan Nandan
380ba67cc6
Make unflush routines generic over keyspaces and tables
3 years ago
Sayan Nandan
8a1bf4b400
Optimize table flush/unflush routines
3 years ago
Sayan Nandan
6832c92775
Make flushing of keyspaces and tables generic over types
3 years ago
Sayan Nandan
fa74a149b4
Fix tests
3 years ago
Sayan Nandan
8d7126994d
Fix `LocalSnapshot` and `RemoteSnapshot` implementations
3 years ago
Sayan Nandan
39726177cd
Simplify flush routines using `StorageTarget`
3 years ago
Sayan Nandan
652ae8d2f0
Reduce duplication in strong action test impls
3 years ago
Sayan Nandan
d5e53eede0
Reduce duplication in `DdlError` handling
3 years ago
Sayan Nandan
750d054144
Don't unnecessarily obtain arc clones
3 years ago
Sayan Nandan
5d9ef41c31
Fix length checks
...
Also improve panic messages in `dbtest` tests.
3 years ago
Sayan Nandan
4c46ff3c2b
Simplify action error propagation
3 years ago
Sayan Nandan
b59243eec1
Fix try_from_slice impl
3 years ago
Sayan Nandan
31d4cbb34d
Enable login and add login tests
3 years ago
Sayan Nandan
2fc77e0393
Use smaller size for random bytes
...
A sample space of 40 provides enough randomness so that the
likelihood of two tokens being the same is almost entirely
ruled out. And even if they are, it shouldn't be a problem
since they correspond to different accounts, although the
possibility itself is as good as impossible due to the
possible number of permutations being 8.560685103E+94, so
we can safely ignore this "risk".
40 is a sensible balance between what clients have to send
and the level of security we're expecting to provide, than
64 bytes.
3 years ago
Sayan Nandan
c8ccfca09b
Implement `AuthProvider`
3 years ago
Sayan Nandan
3a6083b3f1
Add `AuthProvider` definition
3 years ago
Sayan Nandan
7285d63908
Simplify `Once` implementation
3 years ago
Sayan Nandan
6ed994fe19
Add `Once` implementation
3 years ago
Sayan Nandan
53d4c2b529
Use `TcpBackoff` in `SslListener` as well
3 years ago
Sayan Nandan
d2e297e367
Use dedicated backoff algorithm for busy loops
...
Also use `util::exit_error` whenever possible to reduce
duplication.
3 years ago
Sayan Nandan
57f05e9788
Simplify TCP backoff impl
3 years ago
Sayan Nandan
96f817d31e
Simplify `resp` impls
...
The `RespCode` impl is no longer used, so it was removed.
3 years ago
Sayan
e9620d0a8c
Release 0.7.3 ( #238 )
...
* Bump version
* Upgrade deps
3 years ago
Sayan Nandan
49fae295d1
Simplify termination signal handling
...
Yeah, signal handling is not one of the best things to do, and it
definitely is one of the messiest things to do. This commit
simplifies the way we handle "termination signals" which can be
SIGTERM or SIGINT on POSIX-compliant systems or can be Ctrl+C
or Ctrl+Break on Windows systems; whenever we receive any of these,
we'll attempt to terminate the database server.
Now, instead of waiting for multiple futures to complete, we create
a different `TerminationSignal` type that is a `Future`, which on
polling checks whether either of the signals have been received
or closed. We return the poll state for either.
3 years ago
Sayan Nandan
ed66e4f291
Decrement threshold on first call
3 years ago
Sayan Nandan
0b87452b97
Listen to SIGTERM while in save-on-termsig retry loop
3 years ago
Sayan Nandan
2d6d776edc
Cleanup code and ensure strong_count of `Corestore` is 1
...
I suppressed some lints, but all of them will be removed very
soon. (use a TODO finder or something to see what all need to
be removed)
3 years ago
Sayan Nandan
33b0693fcb
Fix infinite loop on save failure during termination
3 years ago
Sayan Nandan
e6ae290334
Fix CI script and resolve artifact name conflict
...
[skip ci] No need for testing this.
3 years ago
Sayan Nandan
60f625196f
Fix build matrix
3 years ago
Sayan Nandan
e1bee46cac
Fix release CI script
3 years ago