855 Commits (a56968b0172f8c7c5824758be5e5da2d174f9360)
 

Author SHA1 Message Date
Sayan Nandan d826acf0c1 Copy TLS cert within script 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 864c6d461f
Enable maximum connections to be configured manually (#182)
* Enable maximum connections to be configured

* Add arbiter for handling server startup

* Add handling of maxcon for command-line args

* Add changelog entry
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 Nandan 79f657b462 Add more LLVM specific optimizations
Just to reduce LLVM bloat
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 Nandan 0f06f7b26f Add some LLVM specific optims for O1 builds 3 years ago
Sayan Nandan aaa84b150e Fix release script
Use hub to upload release assets
3 years ago
Sayan 3f0fc340c7
Add automated builds for ARM (#179)
* Move arm64 tests into test workflow

* Archive artifacts for arm64

* Fix missing target

* Add upload assets step

* Simplify packaging

* Use caching on ARM runners and remove is_md_file

Since GH now supports `skip ci`, we don't need this anymore

* Save artifacts for ARM64

* Simplify hashing condition

* Fix caching condition

* Use IPv6 for wget

* Don't use https for wget

* Add automatic release for ARM64
3 years ago
Sayan d53a0cb505
Fix handling of SIGTERM on *nix (#178)
* Fix handling of SIGTERM on *nix

This is just for future extensibility

* Fix error codes

I have been silly enough to break error codes
3 years ago
Sayan Nandan 5be3041138 Fix 0 being accepted as a valid value in sky-bench
All inputs are expected to be non-zero
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 2a2addfa6d Upgrade deps and add changelog entries 3 years ago
Glydr a4f6905e3a
Merge pull request #175 from skytable/tests/stress
Add stress testing and ARM builds
3 years ago
Sayan Nandan 71de7b7cca Only run stress test when asked for
If any user needs a stress test, they just need to pass [stress-ci] in
their commit message.
3 years ago
Sayan Nandan f9f49aee0b Use num_cpus to get number of cores 3 years ago
Sayan Nandan 4bd717b899 Autorun stress tests on push 3 years ago
Sayan Nandan bc8934e6ba Add tests for ARM64 3 years ago
Sayan Nandan ee04d89b0f Add pipeline script 3 years ago
Sayan Nandan 5b48aba345 Add linearity meter 3 years ago
Sayan Nandan 0f1264d312 Decompose linearity tests and utils into modules
Also fixed license headers
3 years ago
Sayan Nandan eb9053ce50 Only refresh specific sys data 3 years ago
Sayan Nandan 87c673e468 Establish connection before bombarding 3 years ago
Sayan Nandan b7229ca55d Use parallel iterators wherever possible 3 years ago
Sayan Nandan c83481cf36 Add linearity tests for GET 3 years ago
Sayan Nandan 5f00b2ddf2 Fix key generation and avoid using mutex
Keys can't repeat, so put them in a set. Also, don't use a mutex as it
only slows down things
3 years ago
Sayan Nandan d39f2dcda5 Add stress testing for `set` queries 3 years ago
Sayan Nandan f416c7f50c Document libstress 3 years ago
Sayan Nandan 5c10584351 Add auto-drop method to `Workpool`
This avoids the need for us to manually drop something to ensure that
all the workers have exited.
3 years ago
Sayan Nandan 9ea48363c2 Fix iterator pool init
The pool was being re-initialized on clone which caused a runtime panic.
To avoid complicating matters, we'll just ignore the result.
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 be087f0c84 Fix benchtool::runner not using max_connections
At the same time, several expressions were simplified.
3 years ago
Sayan Nandan 827a4afff2 Refactor sky-bench into modules
Also, error handling was improved.
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 c2030d676e
Auto install any dependencies (#174) 3 years ago
Glydr ce9d830b5a
Merge pull request #173 from skytable/actions/pop
Add the `pop` action
3 years ago
Sayan Nandan 76acde2f4f Fix missing action argument in setkeys macro 3 years ago
Sayan Nandan 26775924ac Add tests for pop 3 years ago
Sayan Nandan a322159088 Add actiondoc for `pop` action 3 years ago
Sayan Nandan 57c957d4e7 Add `pop` action 3 years ago
Sayan 8bed8c9c2a
Use Makefile for builds (#172)
* Add makefile

* Use makefile for builds

* Fix start_server command on Windows

* Use `&` for backgrounding

Since mingw on Windows provides a bash shell, we can just use this

* Use `cmd` as shell for Windows builds

* Use `start` for backgrounding on Windows

* No need for chmod

* Specify target for server to start up

* Sleep to let the server start up

* Update build docs
3 years ago
Sayan cdae667cb0
Fix pid file creation (#170)
* Remove the pid file if runtime errors occur

* Clean up error handling and fix pid file creation

The pid file was being created before evaluating the args, now it may
happen that incorrect args or --help was passed: in that event, the pid
file remains created. This was also fixed, besides some refactoring.
3 years ago
Sayan ca9e482f47
Deter other processes from using the same data dir (#169)
* Deter other processes from using the same data dir

For more information, see #167

* Don't lock `pid_file`

Windows has mandatory locking so second instance won't be able to read
the PID of the other process. We'll just keep the file descriptor/handle
open
3 years ago
Glydr 40093e602c
Merge pull request #168 from skytable/workflow/rmlabel
Remove GHA labelling workflow
3 years ago
Sayan Nandan e1a60dd361 Remove labelling workflow
Our bot glydr now does this automatically on the server-side, so this
isn't required.
3 years ago
Sayan 7349e461e6
Try to auto recover the save operation on termination (#166)
This is very useful because it removes the need for user intervention in
the event save on termination fails. Say the save operation fails due to
'some bad daemon' changing the directory's perms. Now skyd reports this
error while trying to save upon termination. Our sysadmin now fixes the
perms issue. The previous design would force the sysadmin to _somehow_
foreground skyd and hit enter. That is silly. The new design just
attempts to do a save operation every 10 seconds. So in case the issue
is fixed, the save operation will recover on its own.

Why not exponential backoff?
That's because the issue can be fixed some long time later and we may
have reached a large backoff value so the save that could have succeeded
would have to wait for a long duration before it can do anything
meaningful.

This also fixes a bug that caused BGSAVE errors to be reported as info
class log entries.
3 years ago
Sayan 8df9901740
Upgrade deps and actiondoc (#165) 3 years ago