246 Commits (next)

Author SHA1 Message Date
Sayan Nandan 151d2dd454
Upgrade deps
Closes #96, Closes #97, Closes #98, Closes #101, Closes #102
and Closes #103.

Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
4 years ago
Sayan Nandan 5d98b3522e
Enable string escaping with quotes for skysh
This commit uses a Regex match iterator along with a few replace
operations to enable the parsing of quoted strings from arguments.

Previously, we simply ran a `split_whitespace()` to get the parts of the
ActionGroup, but now we're using this new Regex which enables arguments
like: 'SET me "sayan spaced"' to be passed and validated.

Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
4 years ago
Sayan Nandan 339844a613
Merge branch 'hotfix.1' into next
Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
4 years ago
Sayan Nandan 6a10f927c8
Upgrade deps
Closes #88, closes #89

Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
4 years ago
Sayan Nandan 38b011273b
Add fix and tests for VE/S/00001
This commit now checks if the second value passed to MKSNAP points
to any parent/root directory before performing any action.

Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
4 years ago
Sayan Nandan a3398f1d07
Rebrand from TerrabaseDB to Skybase (#90)
Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
4 years ago
Sayan Nandan 2c895cf143
Upgrade dependencies
This closes #86 and also closes #87.

Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
4 years ago
Sayan Nandan 8736db1034
Code cleanup and added auto-sync with repo mirror
Dependencies were upgraded

A mirror sync badge was added. Also README was revised and workflow badge was fixed.

Signed-off-by: Sayan Nandan nandansayan@outlook.com
4 years ago
Sayan Nandan 8a54e8f85d
Remove `openssl-sys` as a dependency
`openssl-sys` isn't required anymore; it was added in the `ssl` branch
during the development phase.

Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
4 years ago
Sayan Nandan 3a6b9b282f
Merge branch 'ssl' into next
Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
4 years ago
Sayan Nandan 4722e01d23
Add `ran_string()` to `tdb-bench`
Also, dependencies were upgraded across all crates and the version for
`tdb-macros` was streamlined to 0.5.0 like the other crates.

Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
4 years ago
dependabot[bot] 4db769c2d8 Bump bytes from 1.0.0 to 1.0.1
Bumps [bytes](https://github.com/tokio-rs/bytes) from 1.0.0 to 1.0.1.
- [Release notes](https://github.com/tokio-rs/bytes/releases)
- [Changelog](https://github.com/tokio-rs/bytes/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/bytes/compare/v1.0.0...v1.0.1)

Signed-off-by: dependabot[bot] <support@github.com>
4 years ago
dependabot[bot] 42b710e154 Bump rand from 0.8.1 to 0.8.2
Bumps [rand](https://github.com/rust-random/rand) from 0.8.1 to 0.8.2.
- [Release notes](https://github.com/rust-random/rand/releases)
- [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-random/rand/compare/0.8.1...0.8.2)

Signed-off-by: dependabot[bot] <support@github.com>
4 years ago
dependabot[bot] 4f039f45f5 Bump tokio from 1.0.1 to 1.0.2
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.0.1 to 1.0.2.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.0.1...tokio-1.0.2)

Signed-off-by: dependabot[bot] <support@github.com>
4 years ago
Sayan Nandan e92a6eb8c1
Use `read_again()` to read from the `SslStream`
Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
4 years ago
Sayan Nandan d84234724d
Update to upstream changes and polish SSL API
Also several debug messages were added for debugging SSL connections.

Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
4 years ago
dependabot[bot] 43ee423c83 Bump serde from 1.0.118 to 1.0.119
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.118 to 1.0.119.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.118...v1.0.119)

Signed-off-by: dependabot[bot] <support@github.com>
4 years ago
dependabot[bot] c3d70ccbec Bump log from 0.4.11 to 0.4.13
Bumps [log](https://github.com/rust-lang/log) from 0.4.11 to 0.4.13.
- [Release notes](https://github.com/rust-lang/log/releases)
- [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/log/compare/0.4.11...0.4.13)

Signed-off-by: dependabot[bot] <support@github.com>
4 years ago
dependabot[bot] bff95b9d27 Bump regex from 1.4.2 to 1.4.3
Bumps [regex](https://github.com/rust-lang/regex) from 1.4.2 to 1.4.3.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.4.2...1.4.3)

Signed-off-by: dependabot[bot] <support@github.com>
4 years ago
Sayan Nandan 07b9985732
Add client side SSL support
Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
4 years ago
dependabot[bot] c0539598a2 Bump syn from 1.0.57 to 1.0.58
Bumps [syn](https://github.com/dtolnay/syn) from 1.0.57 to 1.0.58.
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/1.0.57...1.0.58)

Signed-off-by: dependabot[bot] <support@github.com>
4 years ago
Sayan Nandan 3f5848d49a
Fix test macro that caused test runs to fail
With upstream changes to Tokio, the API for `Shutdown<'_, T>` as defined
by the `AsyncWriteExt` trait has changed. This change requires us to
await the function and then handle the result.
The macro definition was changed as a consequence.

Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
4 years ago
dependabot[bot] 4915121ce8 Bump syn from 1.0.56 to 1.0.57
Bumps [syn](https://github.com/dtolnay/syn) from 1.0.56 to 1.0.57.
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/1.0.56...1.0.57)

Signed-off-by: dependabot[bot] <support@github.com>
4 years ago
dependabot[bot] 7a7b0fee49 Bump devtimer from 4.0.0 to 4.0.1
Bumps [devtimer](https://github.com/ohsayan/devtimer) from 4.0.0 to 4.0.1.
- [Release notes](https://github.com/ohsayan/devtimer/releases)
- [Changelog](https://github.com/ohsayan/devtimer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ohsayan/devtimer/commits)

Signed-off-by: dependabot[bot] <support@github.com>
4 years ago
dependabot[bot] 3c24c1c74b Bump serde_json from 1.0.60 to 1.0.61
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.60 to 1.0.61.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.60...v1.0.61)

Signed-off-by: dependabot[bot] <support@github.com>
4 years ago
Sayan Nandan f2031129ce
Upgrade dependencies
Closes #59, closes #60, closes #61, closes #62, closes #63 and closes #64.

Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
4 years ago
Sayan Nandan 43bb178954
Implement basic TLS module and connection handler
This commit implements 'TLS versions' of `CHandler` and `Listener` from
`dbnet`.

Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
4 years ago
Sayan Nandan 0087d6b07c
Add basic SSL/TLS listener
This commit adds a basic SSL/TLS listener using `openssl`.
The `SslListener` object can accept a connection and get a decrypted
stream.

Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
4 years ago
dependabot[bot] 5d17e0a89d
Upgrade deps
Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
4 years ago
Sayan Nandan c83dbd0436
Improve error handling in snapstore
We've made the error handling slightly 'less aggressive' than the
previous version which `unwrap`ped here and there.

Also, the documentation for the entire snapstore module was greatly
improved.

Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
4 years ago
Sayan Nandan b257b7286d
Further reduce the size of the docker image
Also the deps were upgraded (there's no point of dependabot creating
multiple commits for upgrading deps)

Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
4 years ago
Sayan Nandan 792351108d
Rollout 0.5.0
Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
4 years ago
Sayan Nandan bfb4b920df
Bump up version and add changelog entry
Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
4 years ago
Sayan Nandan cbebda85b0
Enable JSON output for `tdb-bench`
This commit enables JSON output for the benchmark tool.
This is an effort to support automated benchmarking, once we do have
such a facility in the future. This closes #37

Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
4 years ago
Sayan Nandan 824944e30e
Don't use an explicit `enabled` flag in `snapshot`
There is no merit in having a redundant `enabled` key under
`snapshot` in the configuration file; if a `snapshot` key is present,
it is inherently obvious that snapshotting is enabled

Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
4 years ago
Sayan Nandan 7232fe9189
Enable tdb-bench to read args and opts from shell
From now on, tdb-bench has to be run with
`tdb-bench -c <c> -q <q> -s <s>` instead of just using positional args.
Also, we'll keep `tdb-bench`'s version in
sync with the version of `tdb`, just like the others in the project

Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
4 years ago
Sayan Nandan 477acfab4b
Allow tsh to process flags and opts from the shell
This commit enables processing for flags and
options for `tsh`. This is a breaking change as it prevents
users from using the previous launch arguments and
instead requires them to use a `-h` and `-p` combination

Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
4 years ago
Sayan Nandan ac37769b7a
Rollout v0.4.5
Also, the actiondoc for `MKSNAP` was updated and a changelog entry was
added for this release

Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
4 years ago
Sayan Nandan f142a41ed7
Fix port issues with the `dbtest` macro on Windows
Since the ports in the range [49670,50293] along with ports {5357,7680}
are blocked by Hyper-V on Windows VMs, we'll exclude them.
Previously, several tests on Windows have failed as a result of
attempting to connect to these reserved ports.

Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
4 years ago
Sayan Nandan bc1a6fd456
Upgrade tokio to 0.3.2
Upstream changes in tokio have required several changes.
For example, `delay_until` was renamed to `sleep_until`. Similarly,
`notify` was renamed to `notify_one`.
Also, in tdb-macros, the `runtime::Builder::new()` line was changed into
`runtime::Builder::new_multi_thread()` due to changes upstream

Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
4 years ago
Sayan Nandan 0ea02f846a
Add tests for MKSNAP and bump up version
We don't need tests for MKSNAP when it is enabled as we already have
tests for snapshotting in `diskstore::snapshot`

Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
4 years ago
Sayan Nandan a3c5135022
Provide `asyncdb` for `dbtest` macro functions
In `cli` other errors are now formatted in a `[ERR]` format
Also the documentation across the project was updated

Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
4 years ago
Sayan Nandan f8fea34e18
Fix tests for snapshots not setting `SnapshotStatus`
Also upgrade syn from 1.0.46 to 1.0.48 (#31)
4 years ago
Sayan Nandan 5d499fa36d
Remove `testsuite` crate and decompose a few tests 4 years ago
Sayan Nandan 3d1dd04b0d
Improved testing to use custom compiler macros
Also, multi-threaded tests were re-enabled
4 years ago
dependabot[bot] 270dea251f
Bump syn from 1.0.45 to 1.0.46 (#30)
Bumps syn from 1.0.45 to 1.0.46

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
4 years ago
Sayan Nandan 47831252b3
Fix the `dbtest` macro using a `#[test]` attribute
Also several misc. fixes were made to the `dbtest` compiler macro
The macro now creates a TcpListener and closes the socket once finished
4 years ago
Sayan Nandan 147f13a020
Rename `tdb-derive` to `tdb-macros`
The proc_macro can now be applied on modules only
All functions within the module will be considered to be a test
This has the advantage of not having to flag every test function
4 years ago
Sayan Nandan 3ce9ea6eeb
Bump up version 4 years ago
Sayan Nandan 87ef3f3ae2
Enable previous snapshots to be parsed 4 years ago
Sayan Nandan a527f3c39d
Implement `mksnap` so that snapshots can be made 4 years ago
Sayan Nandan 8e429c17f4
Add basic `Snapshot` object 4 years ago
Sayan Nandan e6250ae68a
Rollout v0.4.3 4 years ago
Sayan Nandan f6be0cd781
Bump up version 4 years ago
Sayan Nandan ed6e990572
Fix incorrect versions
A mass rename was done in 1ac8dd8
This action incorrectly replaced versions in deps
This commit reverts the changes made to the dependency versions
4 years ago
Sayan Nandan b2a5237191
Bump up version 4 years ago
Sayan Nandan f2b040e578
Add testing suite
The `testsuite` crate is a library which contains testing utils.
`testsuite` re-exports tdb-derive for ease of use.
4 years ago
Sayan Nandan 0b901b0492
Add proc macro for tests 4 years ago
Sayan Nandan 913cef85e2
Move `tdb-bench` into a separate crate
Since tdb-bench no longer needs to be with cli, it was moved
4 years ago
Sayan Nandan b3500ee3b9
Use jemalloc for non-MSVC targets 4 years ago
Sayan Nandan 9064c0aca3
Enable tests for `get`, `mget` and `heya` 4 years ago
Sayan Nandan 59a2b42615
Implement logging 4 years ago
Sayan Nandan f69bef7308
Improve terminal output and bump up version
We will show a syntax error when we get an invalid config file.
4 years ago
Sayan Nandan c26a319877
Bump up version 4 years ago
Sayan Nandan 914b1f06e3
Added port, host and noart options in config file 4 years ago
Sayan Nandan 86d15120e4
Add methods to parse cli arguments 4 years ago
Sayan Nandan 0690be4d4e
Add module to handle configuration files 4 years ago
Sayan Nandan 3163b6a0e8
Add outline for `jget` 4 years ago
Sayan Nandan 6ad417e7ce
Bump up version to 0.4.0 4 years ago
Sayan Nandan e23cd5ffcd
Update version and labels 4 years ago
Sayan Nandan d8408a45cd
Bump up version 4 years ago
Sayan Nandan 2e4e9f662a
Fix parsing of sizes greater than 9 4 years ago
Sayan Nandan c5c9709e9b
Upgrade `cli` to use the new protocol 4 years ago
Sayan Nandan a0ea3b6c61
Upgrade server::protocol to the new protocol 4 years ago
Sayan Nandan 67dc83764a
Rename `corelib` to `libtdb` 4 years ago
Sayan Nandan e9b2a8c527
Fix output on Windows 4 years ago
Sayan Nandan d6d764cfb9
Improve command line output for responses 4 years ago
Sayan Nandan f536ebb9aa
Upgrade to use new protocol 4 years ago
Sayan Nandan 689345cc90
Add tdb-bench to bundle 4 years ago
Sayan Nandan 9a4dfd2ebc
Upgrade client to use new corelib modules 4 years ago
Sayan Nandan 12597ce250
Add generic benchmarking module 4 years ago
Sayan Nandan 730ff3fa41
Move and document deserializer module 4 years ago
Sayan Nandan 851b6fd43c
Move to using buffer
Something is wrong with reading the frame sizes, this should be fixed
4 years ago
Sayan Nandan d926e35e22
Use a different R/W lock implementation 4 years ago
Sayan Nandan 16945337fa
Implement persistent storage 4 years ago
Sayan Nandan 59046db8f8
Implement client 4 years ago
Sayan Nandan 0f1dde109b
Implement client
However, the client has some propagation errors
4 years ago
Sayan Nandan ab24e6588f
Reimplement terrapipe metaframe 4 years ago
Sayan Nandan 7434071509
Implement basic client 4 years ago
Sayan Nandan a78e54b215
Make error responses static 4 years ago
Sayan Nandan 0edaf27bd3
Implement basic coredb 4 years ago
Sayan Nandan 520bcbc95c
Implement async I/O 4 years ago
Sayan Nandan 59dd4a778d
Implement single-threaded server 4 years ago
Sayan Nandan cfcc73bd86
Add code to benchmark parsers 4 years ago
Sayan Nandan ed1815422d
Refactor project and add terrapipe spec 4 years ago
Sayan Nandan e98bc39a46
Initial commit
Add basic parsing
4 years ago