246 Commits (next)

Author SHA1 Message Date
Sayan Nandan 669eca3ff7
Increase shard count and remove redundant impls 2 years ago
Sayan Nandan d4c10bee80
Upgrade deps and bump version 2 years ago
Sayan Nandan 4a0cc3579e
Upgrade deps 2 years ago
Sayan Nandan d4dcd7b127
Upgrade deps and ignore tree test on M1 builder
For some spurious reason, the tree test is failing on the M1
builder; so we'll hack around by ignoring the test when run
on the M1 CI. Note to self: the test runs successfully on
a physical M1 machine so it is likely that this is a problem
with the runner.
2 years ago
Sayan Nandan 879e20f6ca
Upgrade all interfaces to use the new protocol 2 years ago
Sayan Nandan a018b76f40
Ensure empty payload is allowed
Bump Skytable driver git revision to ensure builds don't fail
(possibly a force push).
2 years ago
Sayan Nandan 7ab9bbe8e0
Upgrade deps 2 years ago
Sayan Nandan c4eaf3d182
Bump version [skip ci] 3 years ago
Sayan Nandan 5054adc33c
Add sys action tests 3 years ago
Sayan Nandan 0e7340c965
Fix LF check in protocol impl 3 years ago
Sayan Nandan f9b997c1f1
Avoid verbose logging in test harness 3 years ago
Sayan Nandan 6234018077
Wait for servers to start/shut down instead of waiting blindly 3 years ago
Sayan Nandan b099dd1825
Add missing respcode output impls 3 years ago
Sayan Nandan b057de94e6
Bump version to 0.7.4 3 years ago
Sayan Nandan ad2f87de7a
Add `auth listuser` subaction 3 years ago
Sayan Nandan 37ba222428
Upgrade deps 3 years ago
Sayan Nandan f04e026178
Generate TLS certs programmatically 3 years ago
Sayan Nandan b9d3318ef9
Use powershell script for Windows termination
Also added additional logging
3 years ago
Sayan Nandan b018f14e1c
Add harness for test and release 3 years ago
Sayan Nandan 426948f8d5
Upgrade deps 3 years ago
Sayan Nandan c8ccfca09b
Implement `AuthProvider` 3 years ago
Sayan e9620d0a8c
Release 0.7.3 (#238)
* Bump version

* Upgrade deps
3 years ago
Sayan Nandan 9b296cbf9b
Bump version 3 years ago
Sayan Nandan c961548b01
Upgrade deps and bump version 3 years ago
Sayan Nandan e9369a40ef
Simplify recipes 3 years ago
Sayan Nandan d550e0d7a7
Expect `noart` in production mode
This might make one think that we are being outrageously strict,
but at the end of the day, it can help investigate crashes
or inspect logs without artwork all over the place.

Following some discussions, the `user` mode was renamed to `dev`
mode.

This commit also upgrades some deps, other than clap which has
deprecated yaml support (we will continue to use 2.x).

Finally, the CHANGELOG was updated.
3 years ago
Sayan Nandan 85e789a1ee
Upgrade deps 3 years ago
Sayan Nandan 88a8095f42
Upgrade deps 3 years ago
Sayan Nandan c68d3ea3f4
Upgrade deps
All deps except for `clap` has been upgraded. Due to the removal of
the `args` field in `ArgMatches` in v3, and our dependence on the
field, we cannot upgrade to the latest version.

A PR has been created and once it is merged or a workaround
suggested, we can upgrade. (see clap-rs/clap#3265)
3 years ago
Sayan Nandan 1c16e43d3d
Upgrade deps 3 years ago
Sayan Nandan 7c9058a02e
Upgrade deps 3 years ago
Sayan Nandan 50eb183f46
Upgrade deps 3 years ago
Sayan Nandan 93d1004c80
Add changelog and switch to using rustc edition 2021 3 years ago
Sayan Nandan 769378f7ce
Fix tests for `whereami` 3 years ago
Sayan 76f493753b
Add the `whereami` action (#232)
* Move macros into module

* Add the `whereami` action to identify the current entity

* Show entity group in the skysh prompt

* Add tests and actiondoc for `whereami`

* Add changelog entry

* Upgrade deps
3 years ago
Sayan Nandan b7f34d849f
Add the `!pipe` command to the shell 3 years ago
Sayan Nandan ce8b6e2340
Disable caching on ARM64 CI
Caching only adds latency to the entire workflow, so we'll disable
it until GitHub fixes the issue with their caching on IPv6.
3 years ago
Sayan Nandan 9656d7d9f6
Upgrade deps
Also added changelog entry
3 years ago
Sayan Nandan 048e79df2c
Fix pipeline impl and add basic pipeline tests
The pipeline impl had a bug which caused a parse error; this happened
because we directly wrote the length as an integer (with the tsymbol)
when we were supposed to only write the integer in its string form
to the stream. This was fixed.

Also, some preliminary tests were added for pipelines.
3 years ago
Sayan Nandan 9b132f4351
Upgrade deps
Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
3 years ago
Sayan Nandan 49d7eecbab
Remove re expressions used for queries in skysh
These are no longer relevant because of the last commit

Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
3 years ago
Sayan Nandan 2814bdb151
Bump up version to 0.7.1
Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
3 years ago
Sayan Nandan 90276e3ead
Upgrade deps
Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
3 years ago
Sayan Nandan a43e1183b3 Bump up version 3 years ago
Sayan Nandan 4dbcce6e04 Upgrade deps 3 years ago
Sayan Nandan 8c95ef0049 Upgrade deps 3 years ago
Sayan Nandan a1ea9c3111 Upgrade deps and document parser 3 years ago
Sayan Nandan a34d7b11a6 Use `Query` to reduce mem usage and simplify impl
Also fixed an incorrect value for read_exact in the testkeys impl
3 years ago
Sayan 111d50b75e
Release v0.7.0 (#210)
* Simplify query gen in sky-bench and bump versions

* Upgrade to the latest driver version
3 years ago
Sayan Nandan 2160ae37cf Add migration tool
Closes #200
3 years ago
Sayan Nandan 95504a8be6 Fix `FlatArrayWriter` impl and `mpop` tests
Update driver version
3 years ago
Sayan Nandan 2ed3335a1e Upgrade all interfaces to use the latest driver
Fix lskeys impl
3 years ago
Sayan Nandan 42f3251d2c Upgrade deps
Also added docs for Skymap
3 years ago
Sayan Nandan da8462eda3 Switch hasher implementation 3 years ago
Sayan Nandan 9da0cdafee Upgrade interfaces to use Skymap 3 years ago
Sayan Nandan db60133dc3 Add basic Skymap methods 3 years ago
Sayan b6fcb4c035
Add `drop keyspace <name> force` (#192)
* Add forceful dropping of keyspaces

This commit also improves the reliability of `drop keyspace` in general

* Add changelog

* Add tests for `force_drop_keyspace`

* Upgrade deps
3 years ago
Sayan Nandan 32fcbc2075 Add changelog and bump up version 3 years ago
Sayan Nandan 1025933cfb Run tests parallelly in the `testsuite` keyspace
This saves us time and simplifies things. A lot.
3 years ago
Sayan Nandan c1064a7cd1 Implement and upgrade to `Corestore` 3 years ago
Sayan Nandan c20302ef75 Add storage module for custom encoding/decoding 3 years ago
Sayan d43e6f41da
Use `QuickLock` instead of mutex (#185)
* Use our own lock instead of parking_lot::Mutex

* Account for spurious failures in cmpxchg weak

* Ignore send error because parent may have panicked

The parent thread may have already panicked, dropping the rx.
3 years ago
Sayan bae2b8354c
Release v0.6.3 (#184)
* Bump up version to 0.6.3

* Update changelog entry
3 years ago
Sayan 2d7b9d7667
Add automated tests for TLS (#183)
* Auto start with TLS

* Add automated tests for SSL

* Add cert generation script

* Use script to generate SSL cert
3 years ago
Sayan ea1871747d
Re-add TLS (#181)
* Re-add TLS

When we moved to use the Skytable client driver, we missed out TLS
support. This was re-added.

* Fix attempt to rm PID file if it doesn't exist

* Fix sequence of `inner_repl` and `inner_eval`
3 years ago
Sayan e30d51a599
Release v0.6.2 (#180)
* Bump up version and add changelog entry

* Use separate cache object for release workflows
3 years ago
Sayan 66e5d41302
Simplify overall locks (#176)
* Remove the need for TableLockStateGuard

The htable impl uses locks under the hood making external locks
redundant.

* Use atomics instead of rwlock for poisoned state

* Simplify snapshot locking
3 years ago
Sayan Nandan f9f49aee0b Use num_cpus to get number of cores 3 years ago
Sayan Nandan 5b48aba345 Add linearity meter 3 years ago
Sayan Nandan c83481cf36 Add linearity tests for GET 3 years ago
Sayan Nandan d39f2dcda5 Add stress testing for `set` queries 3 years ago
Sayan Nandan a7c0af01d4 Add support for parallel iterators in `libstress` 3 years ago
Sayan Nandan 1b8fda51fc Use parallel iterators for benches 3 years ago
Sayan Nandan a87478dcba Optimize dependencies 3 years ago
Sayan Nandan 15d2b1922c Add basic stress-test crate 3 years ago
Sayan Nandan 6b4d27cf43 Add `libstress` and `Workpool` object
The `Workpool` is a more generic version of the Netpool that we used,
making it modular.
3 years ago
Sayan 8df9901740
Upgrade deps and actiondoc (#165) 3 years ago
Sayan e553c5172b
Release v0.6.1 (#164)
* Explicitly fsync and relax CPU on snap busy-loop

This commit also switches to using global `VERSION` and `URL` statics
than defining it per-crate.

* Add changelog entry and bump up version

* Optimize `dbtest` macro and rm redundant allocs

* Upgrade deps
3 years ago
Sayan Nandan 72d871ed3f Upgrade deps 3 years ago
Sayan Nandan eea0f86c97 Upgrade skytable client driver version 3 years ago
Sayan Nandan 260b336bf6 Add tests for races and synchronized unlocks 3 years ago
Sayan a1320da52b
Migrate to using `Coremap` (#156)
* Upgrade all interfaces to use new HTable

* Document `HTable`
3 years ago
Sayan Nandan a7f5d84ef4 Bump dependencies
Also use `tokio::join` in-place of `futures::join`
3 years ago
Sayan Nandan 3616793554 Update versioning and support information [skip ci] 3 years ago
Sayan Nandan 5847cf1da9 Upgrade sky-bench to use client driver 3 years ago
Sayan Nandan f55fa85174 Upgrade server to use client driver's `RespCode`s 3 years ago
Sayan Nandan 870c6f560d Upgrade CLI to use the client driver 3 years ago
Sayan Nandan 80fc9e5e9c Upgrade all tests to use the driver 3 years ago
Sayan Nandan d18631680c Bump up version and add changelog entry 3 years ago
Sayan Nandan 50273f324a Upgrade dependencies 3 years ago
Sayan Nandan f1beb7b1e3
Add support for line editing, history and keyboard shortcuts in skysh (#142)
* Add line editing and history support

* Enable screen to be cleared by running clear
3 years ago
Sayan Nandan 07dd884f3c Upgrade deps and remove unused regex in cli
Closes #128, closes #129 and closes #132
3 years ago
Sayan Nandan 6e680b33e5 Add native file locks for unix and windows systems
This commit implements file locks for unix-based systems and windows
systems. This is done by using platform-specific `__sys` modules for
locking, trying to lock and unlocking files.

A build script was added for unix-systems that make use of the
flock-posix.c file
3 years ago
Sayan Nandan aca9888109 Remove fscposix and begin adding native impls
This commit removes the fscposix.c file and begins implementing native
file locking mechanisms for each platform (supported platforms)

BSD-style `flock`s were added
3 years ago
Sayan Nandan a9710587bb Add advisory locking for POSIX systems
This commit adds a basic implementation of POSIX advisory record locking
which sets a lock on the `data.bin` file when the database server starts
and releases the lock when it terminates. This is just done for
compliance to let other processes know that we don't want them to use
the file.

However, the result depends entirely on the process that wants to do
'something' with the file. It is the responsibility of the process to
ensure that it respects the file lock.

Also, exclusive locks aren't perfect on Linux, so we can't rely on them.
See discussion #123 for more information.
3 years ago
Sayan Nandan 1be348f5a2 Upgrade deps
Closes #117, closes #118 and closes #121
3 years ago
Sayan Nandan d815793246
Bump syn from 1.0.68 to 1.0.69 (#116)
Closes #116

Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
3 years ago
Sayan Nandan 740ba03ecc
Upgrade deps and remove caching on macOS again
Closes #113 and closes #114

Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
4 years ago
Sayan Nandan e10cc1411f
Upgrade deps and fix actiondoc script
Closes #111 and closes #112

Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
4 years ago
Sayan Nandan 9df39187d1
Upgrade deps, add changelog entry and bump version
This closes #107, closes #108 and closes #109.

The configuration template was updated to include TLS/SSL and the
corresponding tests were also updated.

It also renames `sdb` to `skyd` for streamlining binary names.

Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
4 years ago