88 Commits (a512b8b6179797717dc608ee22abec2336d54e9f)

Author SHA1 Message Date
Sayan Nandan 57571bc519
Add changelog entry 2 years ago
Sayan Nandan 231dd53341
Reduce code redundancy by using `RawParser` and `RawParserExt`
Also added changelog
2 years ago
Sayan Nandan 2ccd771833
Fix `sky-bench testkey` causing RST due to wrong buffer size
Also fixed linuxpkg harness that was broken due to code cleanup
in 14d9eb4bac
3 years ago
Sayan Nandan df994cf4f7
Add `sys metric storage` for checking on-disk storage usage 3 years ago
Sayan Nandan 2c6768dc12
Ensure snapshot overwrite protection if host time is incorrect 3 years ago
Sayan Nandan 076282df2b
Add tests for snapshot directory structure 3 years ago
Sayan Nandan e5909eb1f9
Use separate flag for tree cleanup 3 years ago
Sayan Nandan 08cffa1d3f
Fix bug causing bgsave/termsig flush failure if a snapshot flushed it
I came across an interesting scenario that led to the discovery of this bug:
if a keyspace is created before a snapshot cycle and before termsig/bgsave,
and then the snapshot cycle runs, then the subsequent runs of bgsave/termsig
would fail. The reason behind this interesting bug turns out to be rather
trivial.

Since the `flush_full` routine, regardless of storage targets would untrip
the PRELOAD switch, the snapshot target as expected untrips the switch. Now,
this means that a tree re-init is not run by BGSAVE or save on termsig.
As a consequence, while attempting to run bgsave/save on termsig, the new
keyspace directories are not found, resulting in flush failure. This commit
fixes it my simply checking if the target should untrip the switch or not.

Tests for the same were added
3 years ago
Sayan Nandan c4eaf3d182
Bump version [skip ci] 3 years ago
Sayan Nandan 5002fed675
Fix pipeline with pedantic execution for stages 3 years ago
Sayan Nandan 0283d91f67
Fix panic resulting from corrupted metadata in `PARTMAP` 3 years ago
Sayan Nandan 0b17f7b0e4
Fix new instance detection 3 years ago
Sayan Nandan 0e7340c965
Fix LF check in protocol impl 3 years ago
Sayan Nandan d57b0d98cf
Improve error reporting infrastructure
This commit greatly improves the error reporting infrastructure
all across the `skyd` crate. Now, every error has far more
context making it easier to debug and test while also providing
helpful feedback to users. This feedback can be extremely helpful
to find out offending files and fix them; for example, by being
specific about which file is corrupted or has bad metadata.
3 years ago
Sayan Nandan 624c7e5aaa
Update docs [skip ci] 3 years ago
Sayan Nandan f40c1d00e5
Add `auth whoami` 3 years ago
Sayan Nandan 81c3479ffb
Fix handling of EOF keystroke 3 years ago
Sayan Nandan 82420e2013
Enable inspecting the current table 3 years ago
Sayan Nandan ced5e75182
Enable inspecting current keyspace 3 years ago
Sayan Nandan b057de94e6
Bump version to 0.7.4 3 years ago
Sayan Nandan 90ef10a56d
Fix snapshot engine init failure 3 years ago
Sayan Nandan ad2f87de7a
Add `auth listuser` subaction 3 years ago
Sayan Nandan 369f7b89ed
Enable table access using partial entity syntax 3 years ago
Sayan Nandan 482f4009db
Enable regenerating tokens and fix panic on wrong length `AuthID` 3 years ago
Sayan Nandan 88955b62c6
Add changelog and remove unused code 3 years ago
Sayan Nandan 33b0693fcb
Fix infinite loop on save failure during termination 3 years ago
Sayan Nandan 0b54ea1cb3
Bump up version 3 years ago
Sayan Nandan 6c59bc4f31
Add changelog entry [skip ci] 3 years ago
Sayan Nandan 84134ed240
Remove `upgrade` subcommand and log on restore
The `upgrade` subcommand from `skyd` which was removed in 0.7, but was
erroneously accepted in the CLI parameters has been removed. This
was silently ignored.
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 12d90944a3
Report error when sample space is too low for key generation
It's important that we report an error when the sample space is too
low for the given k/v size and key count. Previously, we'd end up
entering an infinite wait time (essentially an infinite loop); this
has been fixed.
3 years ago
Sayan Nandan 6800b5eb0a
Use native endian for testing
Add changelog
3 years ago
Sayan Nandan 93d1004c80
Add changelog and switch to using rustc edition 2021 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 9656d7d9f6
Upgrade deps
Also added changelog entry
3 years ago
Sayan Nandan 01ab66f64c
Support comments in `skysh`
Also support multiline pasting in the interactive shell

Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
3 years ago
Sayan Nandan af53eda1f7
Simplify line append op and add changelog entry
Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
3 years ago
Sayan Nandan 0e645569b0
Fix quote inputs to skysh for whitespaced vals
If the matched group has a starting 0x22, only then remove the trailing
quotes. Similarly, if the matched group has a starting 0x27, only then
remove the trailing quote.

Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
3 years ago
Sayan Nandan 374ba57133
Add support for environment variable configuration
Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
3 years ago
Sayan Nandan 9f08122759 Fix silent removal of all quotes from input string
The CLI simply replaced all the quotes in the origin string which can
result in unexpected behavior. For example, consider the input string:
SET "all the cars' tyres" 'have holes'
In our last impl, we'd end up replacing all single and double quotes
resulting in the origin string being entirely changed! This commit
fixes this.
3 years ago
Sayan Nandan 05bae45cb0 Add changelog entry [skip ci] 3 years ago
Sayan Nandan d744eaa2f6 Fix `HEYA` impl and add `HEYA` actiondoc
Also added heya echo test
3 years ago
Sayan Nandan 687ee0cb4c Switch `DEFAULT_REPEAT` to 5 iters
Also updated changelog
3 years ago
Sayan Nandan fa2a4c2611 Add the `mpop` action and update the `pop` action 3 years ago
Sayan Nandan bb19d024ea Ignore errors in run loop
This fixes CVE-2021-37625
3 years ago
Sayan Nandan 8b7de7173e Use flocks for pid file to enable auto release
This can help in situations where the process is forcefully terminated.
3 years ago
Sayan Nandan 5a0d3017a5 Support non-interactive TLS passphrase input 3 years ago
Sayan Nandan 3619d114b8 Fix logging output even when --json flag is passed
Also, the construction of `Workpool`s was simplified.
3 years ago
Sayan Nandan 252dd9c08d Add supdate concurrency tests
Also added changelog entry
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