-
Notifications
You must be signed in to change notification settings - Fork 72
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
include/rocksdb: Configuration validation while opening a DB #517
base: main
Are you sure you want to change the base?
include/rocksdb: Configuration validation while opening a DB #517
Commits on Apr 25, 2023
-
Configuration menu - View commit details
-
Copy full SHA for bb5cc7d - Browse repository at this point
Copy the full SHA bb5cc7dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9379bb1 - Browse repository at this point
Copy the full SHA 9379bb1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9973138 - Browse repository at this point
Copy the full SHA 9973138View commit details -
Configuration menu - View commit details
-
Copy full SHA for 07397a6 - Browse repository at this point
Copy the full SHA 07397a6View commit details -
Configuration menu - View commit details
-
Copy full SHA for f12c2ef - Browse repository at this point
Copy the full SHA f12c2efView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6da560f - Browse repository at this point
Copy the full SHA 6da560fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 676f24e - Browse repository at this point
Copy the full SHA 676f24eView commit details -
SPDB-347: Add a version number to our builds
The change set includes: 1) A header file that contains the Major, Minor, and Patch versions of speedb as a macro, as well as a set of functions returning info about how/when/where this version of speedb was created. also includes all changes done on build_version.cc.in in the following commits: 1. version: remove superfluous build property The `speedb_build_spdb_key` property is unused and was accidentally imported as part of #1. 2.general: replace RocksDB references in strings with Speedb (#64) This includes references in statuses as well as tools output.
Configuration menu - View commit details
-
Copy full SHA for 5b84652 - Browse repository at this point
Copy the full SHA 5b84652View commit details -
SPDB-382: Exclude third party code from the checks
as changes to it are either version updates or fixing compiler errors.
Configuration menu - View commit details
-
Copy full SHA for 2904fbb - Browse repository at this point
Copy the full SHA 2904fbbView commit details -
SPDB-270: db_bench: add SeekRandomWriteRandom test
combination of seek random and overwrite random. all threads are doing seek and write interchangeably.
Configuration menu - View commit details
-
Copy full SHA for 0de9942 - Browse repository at this point
Copy the full SHA 0de9942View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9ff33d6 - Browse repository at this point
Copy the full SHA 9ff33d6View commit details -
customizable_test: revert the offsetof() build-related fixes (#55)
They were made because the original version failed to compile with Clang 12 and 13, complaining about `offsetof()` being applied to a non-standard-layout type. The error is no longer emitted with Clang 14, so this is likely a compiler bug that was fixed, and there's no need for this dirty hack.
Configuration menu - View commit details
-
Copy full SHA for 4d7f424 - Browse repository at this point
Copy the full SHA 4d7f424View commit details -
SPDB-180: general: avoid comparing Status using == as it only compare…
…s status code This breaks when comparing against e.g. `Status::NoSpace()` because it has a status code of `Code::kIOError` and only a subcode of `SubCode::kNoSpace`.
Configuration menu - View commit details
-
Copy full SHA for 333d57f - Browse repository at this point
Copy the full SHA 333d57fView commit details -
SPDB-180: tests: avoid comparing Status using == as it only compares …
…status code This breaks in cases such as `Status::NoSpace()`, which has a status code of `Code::kIOError`, and a subcode of `SubCode::kNoSpace`, but the comparison ends up checking only if a general IO error happened.
Configuration menu - View commit details
-
Copy full SHA for 778b769 - Browse repository at this point
Copy the full SHA 778b769View commit details -
Configuration menu - View commit details
-
Copy full SHA for 10b0d98 - Browse repository at this point
Copy the full SHA 10b0d98View commit details -
SPDB-341: optimistic_transaction_example: fix snapshots leak
The example acquires snapshots but doesn't release them, resulting in a memory leak error when run under ASan.
Configuration menu - View commit details
-
Copy full SHA for c678763 - Browse repository at this point
Copy the full SHA c678763View commit details -
Configuration menu - View commit details
-
Copy full SHA for 945d7f7 - Browse repository at this point
Copy the full SHA 945d7f7View commit details -
SPDB-534: db_bench: fix rocksdb bug of last_ref assertion
test doesnt delete db properly.
Configuration menu - View commit details
-
Copy full SHA for cfd5281 - Browse repository at this point
Copy the full SHA cfd5281View commit details -
SPDB 521: db_bench: fix SeekRandom and ReadRandomWriteRandom
fix both these tests to operate not only on the default cf
Configuration menu - View commit details
-
Copy full SHA for 0cd3fbe - Browse repository at this point
Copy the full SHA 0cd3fbeView commit details -
mutable_db_options: fix a Clang 14 build error (#57)
Clang 14 fails to compile with the following error: ``` options/db_options.h:120:21: error: definition of implicit copy constructor for 'MutableDBOptions' is deprecated because it has a user-declared copy assignment operator [-Werror,-Wdeprecated-copy] MutableDBOptions& operator=(const MutableDBOptions&) = default; ^ db/compaction/compaction_job.cc:439:7: note: in implicit copy constructor for 'rocksdb::MutableDBOptions' first required here mutable_db_options_copy_(mutable_db_options), ^ ``` This is caused by the introduction of an assignment operator in #7 due to a diagnostic emitted by Clang 13 which isn't emitted by Clang 14, so this was probably a compiler bug, and we just need to remove the assignment operator.
Configuration menu - View commit details
-
Copy full SHA for 5461017 - Browse repository at this point
Copy the full SHA 5461017View commit details -
db_bench: reset the last operation time where rate limiting is applied
This is relevant for not including the delay in latency calculation, and is already done for the write rate limiter.
Configuration menu - View commit details
-
Copy full SHA for d5daa47 - Browse repository at this point
Copy the full SHA d5daa47View commit details -
Add ability to create MemTableFactory from URI/string to tools
Made use of the CreateFromString to pass an arbitrary URI to create a memtable factory to the tools that use it.
Configuration menu - View commit details
-
Copy full SHA for 58f0bf5 - Browse repository at this point
Copy the full SHA 58f0bf5View commit details -
cmake: use the old plugin infra and add support for *_FUNC registrati…
…on (#80) The new Customizable plugin infra in CMake relies on regex parsing of Makefiles, which is very brittle and clunky, as well as being unintuitive for CMake users. The only thing missing from the old infra is plugin `*_FUNC` registration, so just add support for that to the old infra, and remove the Makefile parsing logic.
Configuration menu - View commit details
-
Copy full SHA for 1f17620 - Browse repository at this point
Copy the full SHA 1f17620View commit details -
spdb memtable: add a new hash-based memtable
This memtable supports concurrent readers and writers and provides much better results for insertions and point selections than the skip list memtable, while maintaining more tolerable iteration performance than the built-in RocksDB hash-based memtable.
Configuration menu - View commit details
-
Copy full SHA for 11851b0 - Browse repository at this point
Copy the full SHA 11851b0View commit details -
build: always add the Speedb plugin to the build (#87)
This allows us to make sure that our additions are included in the build even if the user forgot to set `ROCKSDB_PLUGINS` explicitly.
Configuration menu - View commit details
-
Copy full SHA for 5bbd306 - Browse repository at this point
Copy the full SHA 5bbd306View commit details -
crash_test: add the new memtable as a random choice (#89)
Currently only the skip list memtable is being tested. Increase coverage by adding the new Speedb memtable as an option as well. For now we'll simply choose randomly between the two, without giving any one of them preference, but we may want to change that in the future.
Configuration menu - View commit details
-
Copy full SHA for 2777012 - Browse repository at this point
Copy the full SHA 2777012View commit details -
spdb_memtable: fix an unused parameter issue (#91)
A last minute change before merging #30 breaks builds that configure `-Werror=unused-parameter` (this is the default for some GCC versions with the `-Wextra` configuration). Fix it by not declaring the `logger` argument to the `CreateMemTableRep()` function.
Configuration menu - View commit details
-
Copy full SHA for 892bf2d - Browse repository at this point
Copy the full SHA 892bf2dView commit details -
crash_test: fix incorrect passing of the memtablerep argument (#93)
As part of #90, I accidentally added a comma at the end of the line when choosing the memtable reperesntation to use. This is a tuple construction syntax and was formatted as such by Black, but unfortunately missed by me and during review. Fix it by removing the comma so that the argument isn't passed to db_stress as a Python tuple.
Configuration menu - View commit details
-
Copy full SHA for 187e1f8 - Browse repository at this point
Copy the full SHA 187e1f8View commit details -
crash_test: remove the hash-based memtable from crash test (#98)
The test seems to fail for now, so in order to avoid headaches for devs working on `main`, let's not test the new memtable until the issues are fixed. This is not intended as a fix for #98, but rather as a temporary workaround to allow testing to continue, since no one is supposed to be using the new memtable yet.
Configuration menu - View commit details
-
Copy full SHA for 5e1e5ef - Browse repository at this point
Copy the full SHA 5e1e5efView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2a2e969 - Browse repository at this point
Copy the full SHA 2a2e969View commit details -
Configuration menu - View commit details
-
Copy full SHA for 788c79e - Browse repository at this point
Copy the full SHA 788c79eView commit details -
ci: add a /var/tmp volume to the QA tests to fix tests failing (#107)
The tests that break are `env_test` and `db_test`. `env_test` fails due to trying to use `FS_IOC_GETVERSION` on an overlayfs, which doesn't support it. We need to use a host filesystem for this because only certain filesytsems support this ioctl. For this we add a host bind volume to /var/tmp which is what the code tries to use. `db_test` fails for an unknown reason and only in buffered I/O mode, which might indicate a bug in overlayfs. This is caused by a setting of the `TMPD` environment variable to the overlayfs mount. Add a mount to the host's /tmp directory and set `TMPD` to it instead (we can't use the default of /dev/shm because there's not enough memory available on the runner machines). While at it, clean up the workflow definition a bit.
Configuration menu - View commit details
-
Copy full SHA for 12d375d - Browse repository at this point
Copy the full SHA 12d375dView commit details -
Configuration menu - View commit details
-
Copy full SHA for eb89955 - Browse repository at this point
Copy the full SHA eb89955View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6e73bec - Browse repository at this point
Copy the full SHA 6e73becView commit details -
* docs: initial contribution guide update This includes changes to building instructions, in order to reflect our level of commitment to platform support and to change references to RocksDB with Speedb. * moar updates * Update README.md Co-authored-by: Arthur Berezin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3c79e3b - Browse repository at this point
Copy the full SHA 3c79e3bView commit details -
build: fix the java test target dependencies (#128)
The test target in the Java Makefile has an incorrect dependency graph that could cause tests to start executing before the compilation finished (or even started) when make is invoked in job server mode. Fix it by specifying target dependencies such that running the tests depends on having the tests compiled first.
Configuration menu - View commit details
-
Copy full SHA for df4d3ba - Browse repository at this point
Copy the full SHA df4d3baView commit details -
flush_job: do not roll back memtable flush on CF drop and DB shutdown (…
…#126) Rolling back in these cases is meaningless because the memtables will be freed shortly afterwards, so making them available for flush again is useless at best. Additionally, in atomic flush, memtables that were successfully flushed aren't rolled back if a CF is dropped or a DB shutdown was requested (the shutdown case is the more relevant one for the comparison here because it aborts the flush, whereas the in the CF drop case it's simply ignored at flush result installation time). In this regard this change simply matches the behaviour there. Lastly, this might be needed for the WriteBufferManager changes in #113, since we plan to use the information about memory that can be flushed in the future for triggering flushes based on immutable memory as well, and rolling back flushes causes the memtable memory to become ready for flush again for a brief period of time until it is dropped, which might wrongly affect the WBM decisions.
Configuration menu - View commit details
-
Copy full SHA for 189d9ab - Browse repository at this point
Copy the full SHA 189d9abView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8ea4d3b - Browse repository at this point
Copy the full SHA 8ea4d3bView commit details -
bloom_test: fix compilation error with GCC 12 (#136)
When compiling bloom_test with GCC 12 it complains about using uninitialised variables. The error is technically wrong, since only the address is taken, but since this is a test and there's no performance penalty, initialise the member to get rid of the error.
Configuration menu - View commit details
-
Copy full SHA for 426dff3 - Browse repository at this point
Copy the full SHA 426dff3View commit details -
build: clean up the Makefile a bit (#118)
Remove dependency on perl, which isn't really needed and can be replaced with POSIX tools. Also do some minor cleanup of the check targets.
Configuration menu - View commit details
-
Copy full SHA for a832417 - Browse repository at this point
Copy the full SHA a832417View commit details -
build: allow setting the path to GNU Parallel in the Makefile (#118)
This allows using more up to date versions from the user's system as well as possibly patched versions with additional features.
Configuration menu - View commit details
-
Copy full SHA for ca8e583 - Browse repository at this point
Copy the full SHA ca8e583View commit details -
licence: remove the GPL as an alternative licence (#118)
We only license Speedb under the Apache 2.0 licence, so we need to remove the GPL text from the repository. Since GNU Parallel is currently vendored in the repo and requires having a copy of the GPL text, remove it as well and depend on the system installed binary if exists (out build instructions ask users to install it anyway, and it's installed in CI).
Configuration menu - View commit details
-
Copy full SHA for 95598cc - Browse repository at this point
Copy the full SHA 95598ccView commit details -
docs: update license files to comply with Apache 2.0 (#111)
Update license files to comply with Apache 2.0 and update authors
Configuration menu - View commit details
-
Copy full SHA for 1cfc729 - Browse repository at this point
Copy the full SHA 1cfc729View commit details -
* Adding logo and badges to readme
Configuration menu - View commit details
-
Copy full SHA for d8ba17a - Browse repository at this point
Copy the full SHA d8ba17aView commit details -
ci: move fuzz testing to reusable workflow (#133)
Move the definition of the fuzz testing jobs to a separate workflow so that it could be reused by workflows other than the main CI one.
Configuration menu - View commit details
-
Copy full SHA for 8d73646 - Browse repository at this point
Copy the full SHA 8d73646View commit details -
plugins: add Plugin Tests to builds (#123)
Allow plugins to compile and run their unit tests as part of the Speedb build and test runs.
Configuration menu - View commit details
-
Copy full SHA for 2e732b9 - Browse repository at this point
Copy the full SHA 2e732b9View commit details -
makefile: avoid setting TEST_TMPDIR unnecessarily (#140)
The changes in #119 included an upstream commit that moved the TEST_TMPDIR setting to common.mk and executed it unconditionally. This is causing pollution of /dev/shm unnecessarily, and also causes the crash tests and other targets to use /dev/shm when they originally didn't. On machines with small /dev/shm this leads to the crash tests failing with an out of space error. Make the setting of TEST_TMPDIR and the creation of a temporary directory under it execute only once during a single make invocation and only for the check target, as it was originally. This requires dealing with make restarts (due to makefiles getting remade) in the form of adding another temporary configuration file named test_config.mk
Configuration menu - View commit details
-
Copy full SHA for 806b630 - Browse repository at this point
Copy the full SHA 806b630View commit details -
crash_test: clean up DB copies in whitebox and narrow test (#159)
The debugging backup logic in whitebox wasn't cleaning up DB copies on timeout because the cleanup logic was inside the loop. Move it to the end of the function to ensure that backups are cleaned up on success. Also make sure to clean up DB backup copies in the narrow test.
Configuration menu - View commit details
-
Copy full SHA for 9ba9e67 - Browse repository at this point
Copy the full SHA 9ba9e67View commit details -
Configuration menu - View commit details
-
Copy full SHA for e04dcd3 - Browse repository at this point
Copy the full SHA e04dcd3View commit details -
db: Fixes for db_test2 and deletefile_test
Following the change of scheduling purges with low priority, instead of high priority, tests that tried to block purges from happening by taking up a slot in the high priority queue, had to instead be scheduled with low piority too.
Configuration menu - View commit details
-
Copy full SHA for e6d5758 - Browse repository at this point
Copy the full SHA e6d5758View commit details
Commits on May 4, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 604cb54 - Browse repository at this point
Copy the full SHA 604cb54View commit details -
Configuration menu - View commit details
-
Copy full SHA for b9e0792 - Browse repository at this point
Copy the full SHA b9e0792View commit details -
db_bench: allow setting avoid_unnecessary_blocking_io (#183)
This would allow us to compare the performance of changes related to background purges using db_bench.
Configuration menu - View commit details
-
Copy full SHA for 2c3e28a - Browse repository at this point
Copy the full SHA 2c3e28aView commit details -
makefile: fix shell tab-completions (#147)
Shell tab-completions are currently broken due to the regeneration of `make_config.mk` on every invocation, which also causes a make restart. Prevent regeneration if the file exists and we're in an invocation that doesn't execute rule recipes (-n or -q).
Configuration menu - View commit details
-
Copy full SHA for ef69a9b - Browse repository at this point
Copy the full SHA ef69a9bView commit details -
makefile: fix parallel
make check
failing on the first run (#177)After the changes in #141, parallel `make check` started failing with the following GNU Parallel error: > Option tmpdir requires an argument This is caused by the fact that `test_config.mk` uses `?=` for setting `TEST_TMPDIR` and on make restarts this doesn't work for some reason (perhaps having to do with empty `TEST_TMPDIR` being somehow exported). Replace it with a check for empty value and unconditional assignment instead. While at it, include `test_config.mk` only on make restarts for check targets instead of forcing everything that makes use of `TEST_TMPDIR` to reuse the unit tests configuration. Also use 6 Xs for the mktemp template in order to support BusyBox mktemp and maybe some others as well, that require the template to end with 6 Xs exactly.
Configuration menu - View commit details
-
Copy full SHA for fb74783 - Browse repository at this point
Copy the full SHA fb74783View commit details -
Configuration menu - View commit details
-
Copy full SHA for 80b4b44 - Browse repository at this point
Copy the full SHA 80b4b44View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5e974da - Browse repository at this point
Copy the full SHA 5e974daView commit details -
docs: update HISTORY.md (#189)
Add the Speedb release notes to the HISTORY file.
Configuration menu - View commit details
-
Copy full SHA for 89cb3c2 - Browse repository at this point
Copy the full SHA 89cb3c2View commit details -
Configuration menu - View commit details
-
Copy full SHA for b9373bd - Browse repository at this point
Copy the full SHA b9373bdView commit details -
cmake: allow running the tests in parallel like in the Makefile (#102)
Allow running tests in parallel by default by setting the CTEST_PARALLEL_LEVEL environment variable. The functionality is added using a CMake script in order to determine options when running the tests (rather than when configuring CMake) in compatibility with the Makefile (in particular -- the `J` and `TEST_TMPDIR` environment variables). While at it, add a test timeout parameter in order to kill stuck tests, and set the default timeout to 10 minutes (we don't currently have tests that are running longer than that). Test Plan: run the check target using different generators (ninja, make) to see the improvement in test runtime.
Configuration menu - View commit details
-
Copy full SHA for 5353ac4 - Browse repository at this point
Copy the full SHA 5353ac4View commit details -
makefile: rework the dependency graph for faster test runs startup (#174
) The Makefile has many places where it needlessly invokes a sub-make instead of declaring the dependencies correctly. Rework the dependency graph so that at least running tests doesn't involve invoking make three times. This also avoids pollution in /dev/shm caused by the needless creation of temporary directories on make restarts and sub-make invocations.
Configuration menu - View commit details
-
Copy full SHA for f0eeb55 - Browse repository at this point
Copy the full SHA f0eeb55View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0586cb8 - Browse repository at this point
Copy the full SHA 0586cb8View commit details -
options: fix documentation from #34 purges set to LOW
since purges are now set from the LOW pri pool, the bg job scheduled when background_purge_on_iterator_cleanup is true is scheduled in the compaction queue
Configuration menu - View commit details
-
Copy full SHA for 197f94c - Browse repository at this point
Copy the full SHA 197f94cView commit details -
options: change the default value for compaction threads to 8 (#169)
This is done through the deprecated `max_background_compactions` option, which overrides `max_background_jobs`, so in order to avoid having an adverse effect on users who set `max_background_jobs` to a high value we try to detect that case and shift back to the user's choice in case there are enough background jobs to be enough for both flushes and compactions.
Configuration menu - View commit details
-
Copy full SHA for 04b536b - Browse repository at this point
Copy the full SHA 04b536bView commit details -
Configuration menu - View commit details
-
Copy full SHA for e0ed0ec - Browse repository at this point
Copy the full SHA e0ed0ecView commit details -
tests: fix breakage caused by the compaction threads value change (#197)
In #194 the default value for background compaction threads was changed to 8 (from 1). This caused some tests to fail, but they were fixed. Alas, the fixes seems to not be complete, as under stress some tests still fail. Make it so the tests are truly fixed now. This can be checked by running them in a loop with the machine overloaded: ``` $ while ./db_compaction_test --gtest_filter=DBCompactionTestWithParam/DBCompactionTestWithParam.PartialCompactionFailure/1; do sleep 1; done ``` And ``` $ while ./deletefile_test --gtest_filter=DeleteFileTest.BackgroundPurgeCopyOptions; do sleep 1; done ```
Configuration menu - View commit details
-
Copy full SHA for 5d8d87a - Browse repository at this point
Copy the full SHA 5d8d87aView commit details -
paired_filter: fix copyright and licence headers (#199) (#204)
The paired Bloom filter files are either missing a copyright notice and licence header, or contain the wrong one. Fix that in order to adhere to the contribution guidelines.
Configuration menu - View commit details
-
Copy full SHA for ee787bf - Browse repository at this point
Copy the full SHA ee787bfView commit details -
build: clean up the build configuration to allow rebranding (#64)
This updates the CMake and Makefile configuration and related scripts to use variables where possible and avoid explicit references to RocksDB in order to allow rebranding of the output artefacts.
Configuration menu - View commit details
-
Copy full SHA for 94df4ed - Browse repository at this point
Copy the full SHA 94df4edView commit details -
build: rename artefacts from RocksDB to Speedb (#64)
This includes both the CMake and Makefile configurations, various scripts that are invoked during the build or during test runs, as well as the Java native library loader code.
Configuration menu - View commit details
-
Copy full SHA for 3fe5bdb - Browse repository at this point
Copy the full SHA 3fe5bdbView commit details -
scripts: rename RocksDB references to Speedb (#64)
This includes simple renaming from `rocksdb` to `speedb` as well as replacing URLs that are pointing to the RocksDB repository with the URL of the Speedb repository.
Configuration menu - View commit details
-
Copy full SHA for f1fd855 - Browse repository at this point
Copy the full SHA f1fd855View commit details -
general: replace RocksDB references in strings with Speedb (#64)
This includes references in statuses as well as tools output.
Configuration menu - View commit details
-
Copy full SHA for ffe4885 - Browse repository at this point
Copy the full SHA ffe4885View commit details -
tools: replace RocksDB version information with the Speedb version (#64)
This is done across all tools except trace_replay, which specifically looks for the RocksDB version for database compatibility checks.
Configuration menu - View commit details
-
Copy full SHA for 3af146b - Browse repository at this point
Copy the full SHA 3af146bView commit details -
Configuration menu - View commit details
-
Copy full SHA for fa900e2 - Browse repository at this point
Copy the full SHA fa900e2View commit details -
The release pipeline is currently editing the RocksDB version and in a broken manner. Fix it and use a proper trigger for the artefacts release.
Configuration menu - View commit details
-
Copy full SHA for 349e24e - Browse repository at this point
Copy the full SHA 349e24eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6eb9b38 - Browse repository at this point
Copy the full SHA 6eb9b38View commit details -
cmake: clean up on successful runs and randomise test scheduling (#202)
In the case where we create the test path, we should clean up after the run finishes as done in the Makefile, due to garbage that is left behind by tests and accumulates. While at it, randomise test scheduling in order to increase the likelihood of surfacing latent bugs that are hidden by the execution order.
Configuration menu - View commit details
-
Copy full SHA for 9c3b26b - Browse repository at this point
Copy the full SHA 9c3b26bView commit details -
build: add a version build-tag for non-release builds (#156)
The build tag can be set during the build (using either the Makefile or the CMake). If it's not provided, and we're not in a release build, it will be calculated using the state of the git tree since the last release tag (for example, for this PR the build tag will be calculated as `(main+17)-(156-build-add-a-build-tag-into-the-version-for-non-release-builds+1)`. If the git tree state can not be determined, a question mark will be used instead.
Configuration menu - View commit details
-
Copy full SHA for 8cba38e - Browse repository at this point
Copy the full SHA 8cba38eView commit details -
build: support ccache and sccache in the Makefile build (#170)
Add support for detecting and using ccache/sccache to the Makefile build in order to speed up build times as it's done in the CMake configuration.
Configuration menu - View commit details
-
Copy full SHA for 1b1a724 - Browse repository at this point
Copy the full SHA 1b1a724View commit details -
memtable_list: avoid rolling back memtable flush on CF drop (#144)
This is a continuation of #126 with changes that were missed there in case a CF drop was encountered after the flush was completed but before or during manifest write. Rolling back on CF drop is meaningless because a flush is not possible in that state, and the only path forwards is for the memtables to be freed shortly afterwards, so making them available for flush again is useless at best. Additionally, this might be needed for the WriteBufferManager changes in in the future for triggering flushes based on immutable memory as well, and rolling back flushes causes the memtable memory to become ready for flush again for a brief period of time until it is dropped, which might wrongly affect the WBM decisions. Finally, the code installs a new version even if no changes are made. This is unnecessary and as such that part is moved into the version-mutating code path only. This PR also adds two regression tests, so we could rely on rollback not being performed on CF drop.
Configuration menu - View commit details
-
Copy full SHA for 58246bf - Browse repository at this point
Copy the full SHA 58246bfView commit details -
deletefile_test: fix breakage caused by the compaction threads change (…
…#217) In #194 the default value for background compaction threads was changed to 8 (from 1). This caused some tests to fail and fixes were implemented as part of #197. Alas, it seems that the fixes weren't complete, as under stress a test still fail. Make it so the test is truly fixed now. This can be verified by running them in a loop with the machine overloaded: ``` $ while ./deletefile_test --gtest_filter=DeleteFileTest.BackgroundPurgeCFDropTest; do sleep 1; done ```
Configuration menu - View commit details
-
Copy full SHA for ab702c5 - Browse repository at this point
Copy the full SHA ab702c5View commit details -
Configuration menu - View commit details
-
Copy full SHA for d3e982c - Browse repository at this point
Copy the full SHA d3e982cView commit details -
Configuration menu - View commit details
-
Copy full SHA for f01f543 - Browse repository at this point
Copy the full SHA f01f543View commit details -
docs: fix instructions for building Speedb in README.md and INSTALL.md
Both were incorrectly referencing the old artefact names before the changes in #66.
Configuration menu - View commit details
-
Copy full SHA for cc59224 - Browse repository at this point
Copy the full SHA cc59224View commit details -
ci: build a release without a debug tag (#228)
Specify `SPDB_RELEASE_BUILD` to both CMake and the Makefile builds in order to get the release artefacts to build without a build tag of `?`.
Configuration menu - View commit details
-
Copy full SHA for 90514aa - Browse repository at this point
Copy the full SHA 90514aaView commit details -
build: correctly handle merge commits when calculating a build tag (#225
) Merge commits were incorrectly handled due to the named use of `git rev-list`, which does not give an ancestry path as I expected, but simply a list of unique commits between the two refs. Additionally, the check for the base tag was wrong in the face of merge commits, since a tag could be an ancestor through a merge commit, but not be the actual base of the branch. Both of these issues resulted in an incorrect tag being calculated, as well as a build slowdown due to the iteration over all of the commits from the other parent of the merge commit, which is unneeded. While at it, add logic for caching the build tag in order to speed up builds when the checked-out git tree hasn't changed.
Configuration menu - View commit details
-
Copy full SHA for cd89bda - Browse repository at this point
Copy the full SHA cd89bdaView commit details -
db_test2: fix BackgroundPurgeTest (#236)
fix by adding WaitUntilSleeping before deleting the iterator
Configuration menu - View commit details
-
Copy full SHA for d4f99cb - Browse repository at this point
Copy the full SHA d4f99cbView commit details -
Configuration menu - View commit details
-
Copy full SHA for a5fe261 - Browse repository at this point
Copy the full SHA a5fe261View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3c323bb - Browse repository at this point
Copy the full SHA 3c323bbView commit details -
Import shorten memtable switch latency (#14)
Configuration menu - View commit details
-
Copy full SHA for 9f0f8cc - Browse repository at this point
Copy the full SHA 9f0f8ccView commit details -
Configuration menu - View commit details
-
Copy full SHA for cf06aba - Browse repository at this point
Copy the full SHA cf06abaView commit details -
Configuration menu - View commit details
-
Copy full SHA for d8cd9ea - Browse repository at this point
Copy the full SHA d8cd9eaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2d35a96 - Browse repository at this point
Copy the full SHA 2d35a96View commit details -
Configuration menu - View commit details
-
Copy full SHA for eb245b9 - Browse repository at this point
Copy the full SHA eb245b9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 388e7bb - Browse repository at this point
Copy the full SHA 388e7bbView commit details -
Configuration menu - View commit details
-
Copy full SHA for e7f3b2a - Browse repository at this point
Copy the full SHA e7f3b2aView commit details -
Configuration menu - View commit details
-
Copy full SHA for b5ebaaa - Browse repository at this point
Copy the full SHA b5ebaaaView commit details -
Configuration menu - View commit details
-
Copy full SHA for b5712a8 - Browse repository at this point
Copy the full SHA b5712a8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5ebb3ce - Browse repository at this point
Copy the full SHA 5ebb3ceView commit details -
Configuration menu - View commit details
-
Copy full SHA for bd23caa - Browse repository at this point
Copy the full SHA bd23caaView commit details -
db_bench: Enhancement - Support multiple benchmarks groups, each with…
Configuration menu - View commit details
-
Copy full SHA for 9c58025 - Browse repository at this point
Copy the full SHA 9c58025View commit details -
Rebase 8.1.1: fix for db_bench: Enhancement - Support multiple benchm…
…arks groups, each with its own config (#220)
Configuration menu - View commit details
-
Copy full SHA for 9c9942c - Browse repository at this point
Copy the full SHA 9c9942cView commit details -
db_bench: ErrorExit from static func compiler error (#277)
while we're at it, also, remove the need to add an exit(1) after ErrorExit to stop compiler complaining about : error: control reaches end of non-void function
Configuration menu - View commit details
-
Copy full SHA for 43beb26 - Browse repository at this point
Copy the full SHA 43beb26View commit details -
db_bench: Support control over WBM's allow_stall ctor parameter (#187)
and print the allow_stall parameter to the LOG file
Configuration menu - View commit details
-
Copy full SHA for 6604be1 - Browse repository at this point
Copy the full SHA 6604be1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6d3c92a - Browse repository at this point
Copy the full SHA 6d3c92aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2ef83ea - Browse repository at this point
Copy the full SHA 2ef83eaView commit details -
Configuration menu - View commit details
-
Copy full SHA for edaa74c - Browse repository at this point
Copy the full SHA edaa74cView commit details -
* Update README.md * Update README.md * Update README.md
Configuration menu - View commit details
-
Copy full SHA for dca1875 - Browse repository at this point
Copy the full SHA dca1875View commit details -
Update link to the documentation repo
Configuration menu - View commit details
-
Copy full SHA for 747e4f0 - Browse repository at this point
Copy the full SHA 747e4f0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 272c6ab - Browse repository at this point
Copy the full SHA 272c6abView commit details -
Configuration menu - View commit details
-
Copy full SHA for 479f1f6 - Browse repository at this point
Copy the full SHA 479f1f6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 624fd45 - Browse repository at this point
Copy the full SHA 624fd45View commit details -
generic switch memtable allows the ability to pre create memtable tha…
…t allocated memory as part of the constructor this will reduce the penelty time of switch mutable memtable which by definition will effect write flow (#296)
Configuration menu - View commit details
-
Copy full SHA for bba6a28 - Browse repository at this point
Copy the full SHA bba6a28View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0dfe58a - Browse repository at this point
Copy the full SHA 0dfe58aView commit details -
misc: add build properties info to LOG file (#262)
use_rtti, debug level, portable was added to LOG file
Configuration menu - View commit details
-
Copy full SHA for ded3aa9 - Browse repository at this point
Copy the full SHA ded3aa9View commit details -
Dynamic Delay: new feature - Dynamic Delay (#276)
Calculate the delayed write rate based on the current state of the CF based on the value of delayed_write_rate that the user initially set. The calculation reduces speed linearly with regards to how much the CF has exceeded the slowdown conditions (L0 files and pending bytes). The slowdown for writing to the last memtable (when theres more than 3) is 10 fold
Configuration menu - View commit details
-
Copy full SHA for 5a6c9c2 - Browse repository at this point
Copy the full SHA 5a6c9c2View commit details -
Configuration menu - View commit details
-
Copy full SHA for cf427c9 - Browse repository at this point
Copy the full SHA cf427c9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5a53078 - Browse repository at this point
Copy the full SHA 5a53078View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2df1aab - Browse repository at this point
Copy the full SHA 2df1aabView commit details -
Configuration menu - View commit details
-
Copy full SHA for 114b857 - Browse repository at this point
Copy the full SHA 114b857View commit details -
Configuration menu - View commit details
-
Copy full SHA for 21805dd - Browse repository at this point
Copy the full SHA 21805ddView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8eafc2c - Browse repository at this point
Copy the full SHA 8eafc2cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1a37466 - Browse repository at this point
Copy the full SHA 1a37466View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1995c9e - Browse repository at this point
Copy the full SHA 1995c9eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 05fc753 - Browse repository at this point
Copy the full SHA 05fc753View commit details -
Configuration menu - View commit details
-
Copy full SHA for e114378 - Browse repository at this point
Copy the full SHA e114378View commit details -
unit tests: fix CompactionServiceTest.RemoteEventListener (#314)
the test assumes that each compaction job_id from the remote compaction is unique but in fact all the job_ids are 1. the test passed thus far since there was just 1 bg compaction by default. once we increased it to 8, there could be concurrent remote compactions which led to this error.
Configuration menu - View commit details
-
Copy full SHA for 88010da - Browse repository at this point
Copy the full SHA 88010daView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7b4b77b - Browse repository at this point
Copy the full SHA 7b4b77bView commit details -
build: remove the dependency on GNU Parallel for running unit tests (#…
…122) Instead, use gtest-parallel as a bundled script for running both gtest tests and non-gtest tests (such as c_test, for example).
Configuration menu - View commit details
-
Copy full SHA for 482dd17 - Browse repository at this point
Copy the full SHA 482dd17View commit details -
db_bench: set db_bench defaults to speedbs (#61)
actual values that have changed: 1. index_shortening_mode - from 2 (kShortenSeparatorsAndSuccessor) to 1 (kShortenSeparators) 2. hard_pending_compaction_bytes_limit - from 128 Gb to 256 Gb 3. delayed_write_rate - from 8Mb to 0 (0 is sanitized to 16Mb) 4. enable_pipelined_write - from true to false
Configuration menu - View commit details
-
Copy full SHA for e3508a5 - Browse repository at this point
Copy the full SHA e3508a5View commit details -
Spdb memtable: improve performance (#298)
Reduce lock access between switch writes vectors Avoid unnecessary lock between read and writes Decrease the writes vectors numbers
Configuration menu - View commit details
-
Copy full SHA for ed8320d - Browse repository at this point
Copy the full SHA ed8320dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 26768f9 - Browse repository at this point
Copy the full SHA 26768f9View commit details -
db_bench: align used tests (#325)
make sure all the tests used: 1. are working on all cfs if theres more than 1 2. use one rand num to get the db and cf and the key which makes it possible to find a key in a cf later on. 3. have the ability for read and write limiter wherever relevant. tests: seekrandomwriterandom, BGWriter, readrandom, seekrandom and readrandomwriterandom
Configuration menu - View commit details
-
Copy full SHA for 5668e8e - Browse repository at this point
Copy the full SHA 5668e8eView commit details -
windows build failed in speedb_paired_bloom_internal files due to bad…
… used of double / uint32 casting #383
Configuration menu - View commit details
-
Copy full SHA for ccc4e1a - Browse repository at this point
Copy the full SHA ccc4e1aView commit details -
unit_tests: Generate new db dir per test (#353)
Add a method that allows the test name to be part of the DB name. This makes it easier to associate a given test run with a given test. Otherwise, some of the tests will overwrite the old data from a previous test.
Configuration menu - View commit details
-
Copy full SHA for e8ca52f - Browse repository at this point
Copy the full SHA e8ca52fView commit details -
MAC_build: Add F_BARRIERFSYNC (#319)
Allow the posix sync code to be based upon BARRIER sync
Configuration menu - View commit details
-
Copy full SHA for 6724bee - Browse repository at this point
Copy the full SHA 6724beeView commit details -
db_bench: Fix compilation issues on Mac (#393)
A few different compilation issues requiring static_cast
Configuration menu - View commit details
-
Copy full SHA for ce39679 - Browse repository at this point
Copy the full SHA ce39679View commit details -
Add Injection and NoSyncFS (#380)
Use a NoSyncFileSystem to skip Sync/FSync to reduce test times
Configuration menu - View commit details
-
Copy full SHA for eb8d27e - Browse repository at this point
Copy the full SHA eb8d27eView commit details -
live config changes: add RefreshOptions method (#294)
Added a method and options to support reading configuration changes to options periodically while a process is running. Every "refresh_options_sec", the periodic task scheduler runs a task to check if the "refresh_options_file" exists. If it does, the file is loaded as an options file and the mutable options from the file are updated in the running process (via SetDBOptions and SetOptions). Once updated, the refresh file is deleted. If an error occurs, it will be written to the log file. Note that the file is read as an Options file and must be a valid Options file. This means that the file must have a DBOptions section and at least one ColumnFamilyOptions section. Only options that are mutable can be in this file -- immutable options will cause an error and abort the processing. Additionally, note that TableFactory options must be specified as part of the ColumnFamilyOptions. For example, to change the block size, the "table_factory.block_size" option should be set in the appropriate ColumnFamilyOptions. Options set in a TableFactory section will be ignored. Currently tested manually via db_bench. Unit tests will be forthcoming.
Configuration menu - View commit details
-
Copy full SHA for fbec567 - Browse repository at this point
Copy the full SHA fbec567View commit details -
db_bench: fix for issue (#290) (#370)
Changed db_bench so that when using multiple databases (num_multi_db > 1) we only destroy databases that were used for the current group (databases specified in dbs_to_use). Added logic in `OpenAllDbs()` to handle the case where the `-optimistic_transaction_db` option is used. Co-authored-by: andy-byers <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for af39698 - Browse repository at this point
Copy the full SHA af39698View commit details -
Paired-Bloom-Filter: Balancing rounding to batches between the bottom…
…most level and rest of the levels (#369)
Configuration menu - View commit details
-
Copy full SHA for 49030a9 - Browse repository at this point
Copy the full SHA 49030a9View commit details -
AXV512: don't use XXH3_accumulate_512 with ASAN (#398)
avoid these functions when running with ASAN since they caused errors in the stress test. this happens in rocksdb as well and this is only meant as a workaround to continue ASAN testing.
Configuration menu - View commit details
-
Copy full SHA for 9f7f68c - Browse repository at this point
Copy the full SHA 9f7f68cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 32557b0 - Browse repository at this point
Copy the full SHA 32557b0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8de66a0 - Browse repository at this point
Copy the full SHA 8de66a0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 973a309 - Browse repository at this point
Copy the full SHA 973a309View commit details -
Configuration menu - View commit details
-
Copy full SHA for 147a52e - Browse repository at this point
Copy the full SHA 147a52eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 717596f - Browse repository at this point
Copy the full SHA 717596fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 35c78db - Browse repository at this point
Copy the full SHA 35c78dbView commit details -
ci job test_fuzz - removed saving logs to s3, it is not needed as the…
…re is no point to save the logs for long periods
Configuration menu - View commit details
-
Copy full SHA for 87c350d - Browse repository at this point
Copy the full SHA 87c350dView commit details -
removed AWS credentials as they are not required, were used for uploa…
…ding fuzz test logs
Configuration menu - View commit details
-
Copy full SHA for 267dd76 - Browse repository at this point
Copy the full SHA 267dd76View commit details -
Global Write Controller: share write controller across dbs (#346)
enable sharing the Write Controller across dbs through the db options while still retaining the old behavior. when shared between dbs, the write controller keeps track of all the delay requirements of all cfs in the dbs and enforces on all of them the lowest write rate required. NOTE: plz note that setting a write controller in the options is only valid with use_dynamic_delay = true. Dynamic Delay: CFs wont override each other (#358) Currently, in a setting of multiple cfs, the delayed_write_rate_ value is overridden by the latest cf that entered a delay state. so if a cf registered a delay state that is less severe than the previous cf, it will override the previous value of delayed_write_rate_ with a higher rate than the system should use. fix it by storing the delay requirements of all the CFs in the write controller and only set a new delayed_write_rate_ when its smaller than the min.
Configuration menu - View commit details
-
Copy full SHA for acdac96 - Browse repository at this point
Copy the full SHA acdac96View commit details -
Configuration menu - View commit details
-
Copy full SHA for df515d5 - Browse repository at this point
Copy the full SHA df515d5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 66b75c3 - Browse repository at this point
Copy the full SHA 66b75c3View commit details -
added a step that copies thirdparty.inc from external dir to the spee…
…db project. It is required for the build in order to reflect the environment on the runner machine (#442)
Configuration menu - View commit details
-
Copy full SHA for 22031b8 - Browse repository at this point
Copy the full SHA 22031b8View commit details -
Global delay bug fix: use credits only under mutex (#438)
While at it, rename and reorder some members
Configuration menu - View commit details
-
Copy full SHA for 23e8586 - Browse repository at this point
Copy the full SHA 23e8586View commit details -
crashtest: dont reroll skip_list or HashSpdRepFactory (#452)
Theres a sanitize check in case of allow_concurrent_memtable_write == 1 which verifies that the memtablerep supports it. This commit prevents the code from rerolling if the memtablerep was originally skip_list or speedb.HashSpdRepFactory
Configuration menu - View commit details
-
Copy full SHA for 79c1f87 - Browse repository at this point
Copy the full SHA 79c1f87View commit details -
options: Forward declare WriteBufferManager (#279)
There is a circular dependency between options.h and write_buffer_manager.h. In order to fix that, I forward declare the WriteBufferManager class in options.h and include it in options.cc and in other .cc files which use WriteBufferManager.
Configuration menu - View commit details
-
Copy full SHA for 173b86c - Browse repository at this point
Copy the full SHA 173b86cView commit details -
CI windows: switched VC 2019 to VC 2022 in the ci_windows.yml in orde…
…r to solve compilation error (#456)
Configuration menu - View commit details
-
Copy full SHA for 3f137d4 - Browse repository at this point
Copy the full SHA 3f137d4View commit details -
dynamic delay: fix pending bytes rate calculation (#451)
use fixed num delay steps instead of fixing the step size and deducing the num steps. this makes the code simpler and avoids a bug when the excess bytes are greater than num_steps * step_size which then fails the assert: assert(step_num < num_steps); - since step_num == num_steps.
Configuration menu - View commit details
-
Copy full SHA for be2a194 - Browse repository at this point
Copy the full SHA be2a194View commit details -
EXPERIMENTAL feature. This write flow doesn't wait for the WAL to finish a write before writing concurrently to the memtable, shortening the amount of time threads have to wait for a write to complete in a heavily multithreaded write scenario.
Configuration menu - View commit details
-
Copy full SHA for 878a97d - Browse repository at this point
Copy the full SHA 878a97dView commit details -
Configuration menu - View commit details
-
Copy full SHA for ff53bc4 - Browse repository at this point
Copy the full SHA ff53bc4View commit details -
TTL: Skip expired object when using DBWithTtl (#403)
Currently even if objects have been expired we still return them until compaction delete those objects. This commit adds a skip_expired_data to the ReadOptions, if this option is true, it Get, MultiGet and iterator will not return objects that have been expired by the configured ttl. Currently this feature does not include support for Merge operations. For Read Only and iterator pinned data the skip_expired_data will be enforced and expired keys will not be returned. Resolves: #394, #417 Pull Request: #403
Configuration menu - View commit details
-
Copy full SHA for fa5eddf - Browse repository at this point
Copy the full SHA fa5eddfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5c574dc - Browse repository at this point
Copy the full SHA 5c574dcView commit details -
adding beezcli and ttl support (#427)
beezcli is an interactive tool wrapping ldb This commit adds some enhancement to ldb Resolves: #407
Configuration menu - View commit details
-
Copy full SHA for 57e540c - Browse repository at this point
Copy the full SHA 57e540cView commit details -
466 artifact build fails due to beezcli is missing (#469)
* added readline-devel package to the artifact-release.yml, needed by beezcli
Configuration menu - View commit details
-
Copy full SHA for aea4a01 - Browse repository at this point
Copy the full SHA aea4a01View commit details -
Configuration menu - View commit details
-
Copy full SHA for 46474b6 - Browse repository at this point
Copy the full SHA 46474b6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 083326c - Browse repository at this point
Copy the full SHA 083326cView commit details -
Java FilterPolicy: Add Filter::CreateFromString to Java (#387)
This PR adds the ability to create a Filter (FilterPolicy) in Java via the CreateFromString methodology. This change allows the other filter policies (such as Ribbon Filter and plugin filters) to be created in Java using the C++ infrastructure.
Configuration menu - View commit details
-
Copy full SHA for 7124d9e - Browse repository at this point
Copy the full SHA 7124d9eView commit details -
Rebase 8.1.1: reintroduce preserve_unverified_changes
which was accidentally removed in general: replace RocksDB references in strings with Speedb (#64)
Configuration menu - View commit details
-
Copy full SHA for b088644 - Browse repository at this point
Copy the full SHA b088644View commit details -
Rebase 8.1.1: fix for speedb_db_bloom_filter_test
as part of - Speedb's Paired Block Bloom (#29)
Configuration menu - View commit details
-
Copy full SHA for 835f46c - Browse repository at this point
Copy the full SHA 835f46cView commit details -
Configuration menu - View commit details
-
Copy full SHA for bcb244d - Browse repository at this point
Copy the full SHA bcb244dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 929f6b4 - Browse repository at this point
Copy the full SHA 929f6b4View commit details -
Rebase 8.1.1: disable failing unit tests and paired
bloom filter stress testing DBIOFailureTest.DropWrites fails rarely
Configuration menu - View commit details
-
Copy full SHA for 21ff6ca - Browse repository at this point
Copy the full SHA 21ff6caView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6c96280 - Browse repository at this point
Copy the full SHA 6c96280View commit details
Commits on May 11, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 57686e6 - Browse repository at this point
Copy the full SHA 57686e6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 11ff28a - Browse repository at this point
Copy the full SHA 11ff28aView commit details -
Configuration menu - View commit details
-
Copy full SHA for f28f0d7 - Browse repository at this point
Copy the full SHA f28f0d7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2ffee5b - Browse repository at this point
Copy the full SHA 2ffee5bView commit details -
Makefile: Remove pycache artifacts after running gtest-parallel (#495)
Configuration menu - View commit details
-
Copy full SHA for 0960fa5 - Browse repository at this point
Copy the full SHA 0960fa5View commit details -
AVX512: fix disabling other optimizations (#489)
fix - AXV512: don't use XXH3_accumulate_512 with ASAN (#398) the previous commit disabled all the rest of the XXH optimizations since it didnt prevent the XXH_VECTOR from being defined as XXH_AVX512.
Configuration menu - View commit details
-
Copy full SHA for be87eba - Browse repository at this point
Copy the full SHA be87ebaView commit details -
Configuration menu - View commit details
-
Copy full SHA for b2698cc - Browse repository at this point
Copy the full SHA b2698ccView commit details -
stress test: fix decoding error (#498)
when verify_before_write = true, msg_prefix was misplaced and the value from the db was inserted instead of it which led to junk and a decoding error.
Configuration menu - View commit details
-
Copy full SHA for 9cee48e - Browse repository at this point
Copy the full SHA 9cee48eView commit details
Commits on May 15, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 49bd79a - Browse repository at this point
Copy the full SHA 49bd79aView commit details
Commits on May 16, 2023
-
Updated the history file with all of the content until 2.4.1 release.
Configuration menu - View commit details
-
Copy full SHA for 2fc98a8 - Browse repository at this point
Copy the full SHA 2fc98a8View commit details
Commits on May 18, 2023
-
db_bench and stress: fix WBM initiation (#510)
* Set initiate_wbm_flushes to the same default value used by the WBM (true) * Remove sanitizations of wbm flags in the db_bench, db_stress, and db_crashtest.py * Create a WBM unconditionally in db_bench / db_stress (using the applicable flags)
Configuration menu - View commit details
-
Copy full SHA for 3a8d9b9 - Browse repository at this point
Copy the full SHA 3a8d9b9View commit details
Commits on May 21, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 040e688 - Browse repository at this point
Copy the full SHA 040e688View commit details
Commits on May 22, 2023
-
Configuration menu - View commit details
-
Copy full SHA for e7e2de7 - Browse repository at this point
Copy the full SHA e7e2de7View commit details
Commits on May 23, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 5a4cba3 - Browse repository at this point
Copy the full SHA 5a4cba3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5ac0b2e - Browse repository at this point
Copy the full SHA 5ac0b2eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7904f10 - Browse repository at this point
Copy the full SHA 7904f10View commit details
Commits on May 24, 2023
-
Configuration menu - View commit details
-
Copy full SHA for df8962b - Browse repository at this point
Copy the full SHA df8962bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 39e3e99 - Browse repository at this point
Copy the full SHA 39e3e99View commit details -
WC: fix for stop while shutting down (#499)
Also switch to waiting a sec on the CV each time. This is required since a bg error doesn't signal the CV in the WriteController.
Configuration menu - View commit details
-
Copy full SHA for 5bcecf0 - Browse repository at this point
Copy the full SHA 5bcecf0View commit details -
Configuration menu - View commit details
-
Copy full SHA for d0cdbbd - Browse repository at this point
Copy the full SHA d0cdbbdView commit details
Commits on May 26, 2023
-
Dirty Memory: Connect WBM to the global delay (#423)
Allow slowing down writes based on memory consumption by having the WBM raise a delay requirement in the WriteController. The delay requirement is stored in the WC as part of the Global Delay feature (#346). The same way a CF signals the WC that it has a delay requirement.
Configuration menu - View commit details
-
Copy full SHA for 6ede30d - Browse repository at this point
Copy the full SHA 6ede30dView commit details
Commits on May 30, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 4c034e1 - Browse repository at this point
Copy the full SHA 4c034e1View commit details
Commits on Jun 6, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 1788bc7 - Browse repository at this point
Copy the full SHA 1788bc7View commit details
Commits on Jun 7, 2023
-
Always assume optimize_filters_for_memory=false when creating a paire…
…d bloom filter (#528)
Configuration menu - View commit details
-
Copy full SHA for fc24b77 - Browse repository at this point
Copy the full SHA fc24b77View commit details -
Configuration menu - View commit details
-
Copy full SHA for cd136e1 - Browse repository at this point
Copy the full SHA cd136e1View commit details
Commits on Jun 11, 2023
-
Configuration menu - View commit details
-
Copy full SHA for f39f76f - Browse repository at this point
Copy the full SHA f39f76fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3d4c9d1 - Browse repository at this point
Copy the full SHA 3d4c9d1View commit details
Commits on Jun 12, 2023
-
Prevent flush entry that has a delete entry (#411)
currently during memtable flush, if a key has a match key in the delete range table and this record has no snapshot related to it, we still write it with its value to SST file. This feature keeps only the delete record and reduce SST size for later compaction.
Configuration menu - View commit details
-
Copy full SHA for 594f177 - Browse repository at this point
Copy the full SHA 594f177View commit details -
Hashspd memtable: Memory bug fix( #553)
prevent merge vectors if not needed
Configuration menu - View commit details
-
Copy full SHA for f3bdb69 - Browse repository at this point
Copy the full SHA f3bdb69View commit details -
db_bench: Create a WBM once for all db-s regardless of their use in d…
…ifferent groups (#551)
Configuration menu - View commit details
-
Copy full SHA for 1bc17c8 - Browse repository at this point
Copy the full SHA 1bc17c8View commit details -
Dirty Memory: Revert allow_stall naming from allow_delays_and_stalls (#…
…549) During #423 , the WriteBufferManager ctor parameter allow_stall was renamed to allow_delays_and_stalls to reflect its new capabilities (delaying in addition to stalling (stopping) writes). This creates confusion and unwanted behavior so this PR reverts this change and the new functionality of #423 is controller via the old WriteBufferManager ctor parameter named allow_stall. This commit also sets back the allow_stall default value to false to avoid changing current expected behavior.
Configuration menu - View commit details
-
Copy full SHA for 72d4181 - Browse repository at this point
Copy the full SHA 72d4181View commit details
Commits on Jun 13, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 6bf9458 - Browse repository at this point
Copy the full SHA 6bf9458View commit details
Commits on Jun 14, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 201de3d - Browse repository at this point
Copy the full SHA 201de3dView commit details -
release: publish version 2.5.0
GitHub Runner Bot committedJun 14, 2023 Configuration menu - View commit details
-
Copy full SHA for 041da08 - Browse repository at this point
Copy the full SHA 041da08View commit details
Commits on Jun 15, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 1286d7f - Browse repository at this point
Copy the full SHA 1286d7fView commit details -
Configuration menu - View commit details
-
Copy full SHA for a9e051b - Browse repository at this point
Copy the full SHA a9e051bView commit details
Commits on Jun 18, 2023
-
Configuration menu - View commit details
-
Copy full SHA for ea3bdd5 - Browse repository at this point
Copy the full SHA ea3bdd5View commit details
Commits on Jun 26, 2023
-
db_bench: Add table-readers-mem benchmark (#575)
This benchmark prints the memory estimated to be used by the table readers. Excluding blocks in block cache.
Configuration menu - View commit details
-
Copy full SHA for 3ee5632 - Browse repository at this point
Copy the full SHA 3ee5632View commit details -
Configuration menu - View commit details
-
Copy full SHA for a81e3ec - Browse repository at this point
Copy the full SHA a81e3ecView commit details
Commits on Jul 3, 2023
-
unit tests: Fix GlobalAndWBMSetupDelay (#589)
The problem was that calling Flush with FlushOptions.wait = true, doesn't wait for the memory to be freed which also happens during the flush process. So the fix is adding a sync point which delays the assertion of checking the WBM memory usage to after the flush cleared the memtable memory.
Configuration menu - View commit details
-
Copy full SHA for a785634 - Browse repository at this point
Copy the full SHA a785634View commit details -
590 new runner ubuntu 2004 on arm64 (#591)
* added workflow for MacOS on ARM and added PORTABLE=1 for building rocksdbjavastatic on Mac i86 * added build for libspeedbjni-linux-aarch64.so to the build_and_publish_jar.yml * deleted sleep comment
Configuration menu - View commit details
-
Copy full SHA for 0e1971c - Browse repository at this point
Copy the full SHA 0e1971cView commit details -
switch to rocksdbjavastatic and portable for building on Ubuntu u86 b…
…uild_and_publish_jar.yml (#594)
Configuration menu - View commit details
-
Copy full SHA for f66ae81 - Browse repository at this point
Copy the full SHA f66ae81View commit details
Commits on Jul 4, 2023
-
593 build of libspeedbjni linux64so is dynamic needs to be static (#595)
* switch to rocksdbjavastatic and portable for building on Ubuntu u86 build_and_publish_jar.yml * fixed artifact to speedbjni-shared.dll
Configuration menu - View commit details
-
Copy full SHA for 7d5f079 - Browse repository at this point
Copy the full SHA 7d5f079View commit details
Commits on Jul 5, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 404d794 - Browse repository at this point
Copy the full SHA 404d794View commit details
Commits on Jul 13, 2023
-
604 missing dependencies in jar (#605)
* switched buiding the rocksdbjavastatic from native to docker based * switched buiding the rocksdbjavastatic from native to docker based * switched buiding the rocksdbjavastatic from native to docker based * switched buiding the rocksdbjavastatic from native to docker based * switched buiding the rocksdbjavastatic from native to docker based * switched buiding the rocksdbjavastatic from native to docker based for linux, both x86 and arm * test rename * test rename * test rename * test rename * deleted commented directives * rename bld_java_ubu_arm.yml -> ci_ubuntu_arm.yml * renamed steps in build_and_publish_jar.yml
Configuration menu - View commit details
-
Copy full SHA for 45713bb - Browse repository at this point
Copy the full SHA 45713bbView commit details
Commits on Jul 18, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 964a9b4 - Browse repository at this point
Copy the full SHA 964a9b4View commit details
Commits on Jul 24, 2023
-
Configuration menu - View commit details
-
Copy full SHA for e887846 - Browse repository at this point
Copy the full SHA e887846View commit details
Commits on Jul 25, 2023
-
Configuration menu - View commit details
-
Copy full SHA for e0d7d07 - Browse repository at this point
Copy the full SHA e0d7d07View commit details
Commits on Jul 31, 2023
-
613 workflow with a status check not triggered when a pr initiated fr…
…om a fork (#614) * sanity-check, switched to public runner * sanity-check, switched to public runner * sanity-check, avoiding use of docker container * sanity-check, avoiding use of docker container * sanity-check, avoiding use of docker container
Configuration menu - View commit details
-
Copy full SHA for a680523 - Browse repository at this point
Copy the full SHA a680523View commit details -
613 workflow with a status check not triggered when a pr initiated fr…
…om a fork (#616) * sanity-check, switched to public runner * sanity-check, switched to public runner * sanity-check, avoiding use of docker container * sanity-check, avoiding use of docker container * sanity-check, avoiding use of docker container * sanity-check, added pull_request_target to the trieeger list
Configuration menu - View commit details
-
Copy full SHA for ba1ce97 - Browse repository at this point
Copy the full SHA ba1ce97View commit details
Commits on Aug 2, 2023
-
unit tests: fix DisableMultiManualCompaction in db_compaction_test (#611
) The test sometimes failed in CI since the test code assumed there was only 1 bg compaction thread which needed to be blocked but in #194, the default was changed to 8 so the fix is simply to block all the bg threads.
Configuration menu - View commit details
-
Copy full SHA for 8ed9b68 - Browse repository at this point
Copy the full SHA 8ed9b68View commit details -
Clean Memory: Introduce a TablePinningPolicy to control how and when …
…memory is pinned (#459)
Configuration menu - View commit details
-
Copy full SHA for 6e05428 - Browse repository at this point
Copy the full SHA 6e05428View commit details -
* Snapshot Optimization (#35) Motivation: The most important information inside a snapshot is its Sequence number, which allows the compaction to know if the key-value should be deleted or not. The sequence number is being changed when modification happens in the db. This feature allows the db to take a snapshot without acquiring db mutex when the last snapshot has the same sequence number as a new one. In transactional db with mostly read operations, it should improve performance when used with multithreaded environment and as well other scenarios of taking large amount of snapshots with mostly read operations. This Feature must have folly library installed. In order to cache the snapshots, there is last_snapshot_ (folly::atomic_shared_ptr, lock free atomic_shared_ptr) in order to access the last_snapshot_ created and point to it. For every GetSnapshotImpl call (where snapshots are being created), the function checks if the sequence number is different than last_snapshot_, if no, it creates new snapshot and inside this snapshot it adds a reference to last_snapshot_ (the reference is cached_snapshot), so this sequence number will remain inside SnapshotList (SnapshotList is the list of the snapshots in the system and used in compaction to show which snapshots are being used), if there are still snapshots holding this sequence number. If the sequence number as changed or the last_snapshot_ is nullptr it will create the snapshot while acquiring db_mutex. For ReleaseSnapshotImpl (deleting a snapshot). We will unref the last_snapshot_ (using comapre_exchange_weak) and if the refcount becomes 0, it will call Deleter and remove this snapshot entirely from the SnapshotList and continue with taking the db mutex. If there are still references, it will return without taking it out from the SnapshotList nor taking the db mutex
Configuration menu - View commit details
-
Copy full SHA for ff1b086 - Browse repository at this point
Copy the full SHA ff1b086View commit details
Commits on Aug 3, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 335c424 - Browse repository at this point
Copy the full SHA 335c424View commit details
Commits on Aug 6, 2023
-
removed check for github.event_name before starting each step, this w…
…orkflow is called only when the triegger is a PR (#622)
Configuration menu - View commit details
-
Copy full SHA for 666ef17 - Browse repository at this point
Copy the full SHA 666ef17View commit details -
621 check history and license on pr (#626)
* removed check for github.event_name before starting each step, this workflow is called only when the triegger is a PR * changes condition for running cehck license and history to pull_request_review
Configuration menu - View commit details
-
Copy full SHA for 7959837 - Browse repository at this point
Copy the full SHA 7959837View commit details
Commits on Aug 14, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 2075487 - Browse repository at this point
Copy the full SHA 2075487View commit details
Commits on Aug 16, 2023
-
Configuration menu - View commit details
-
Copy full SHA for a53ad27 - Browse repository at this point
Copy the full SHA a53ad27View commit details
Commits on Aug 17, 2023
-
Redo of Index/Filter/Data blocks sizes in Block (LRU) Block Cache per…
… CF after rebase on RocksDB (#620)
Configuration menu - View commit details
-
Copy full SHA for eb8e466 - Browse repository at this point
Copy the full SHA eb8e466View commit details
Commits on Aug 18, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 1751c4f - Browse repository at this point
Copy the full SHA 1751c4fView commit details
Commits on Aug 19, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 54bd545 - Browse repository at this point
Copy the full SHA 54bd545View commit details -
Proactive Flushes: Decrement number of flushes to init on non-wbm-ini…
…tiated flush end (#632)
Configuration menu - View commit details
-
Copy full SHA for 3e55c3d - Browse repository at this point
Copy the full SHA 3e55c3dView commit details
Commits on Aug 20, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 13af75a - Browse repository at this point
Copy the full SHA 13af75aView commit details -
Configuration menu - View commit details
-
Copy full SHA for a6e1ab2 - Browse repository at this point
Copy the full SHA a6e1ab2View commit details
Commits on Aug 21, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 944f9ba - Browse repository at this point
Copy the full SHA 944f9baView commit details
Commits on Aug 22, 2023
-
release: publish version 2.6.0
GitHub Runner Bot committedAug 22, 2023 Configuration menu - View commit details
-
Copy full SHA for ea70d40 - Browse repository at this point
Copy the full SHA ea70d40View commit details
Commits on Aug 29, 2023
-
Configuration menu - View commit details
-
Copy full SHA for a53332d - Browse repository at this point
Copy the full SHA a53332dView commit details -
db_bench: fix SeekRandomWriteRandom valid check (#652)
Use key and value only after checking iterator is valid
Configuration menu - View commit details
-
Copy full SHA for 4209cf5 - Browse repository at this point
Copy the full SHA 4209cf5View commit details
Commits on Sep 7, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 9f60375 - Browse repository at this point
Copy the full SHA 9f60375View commit details
Commits on Sep 18, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 4125480 - Browse repository at this point
Copy the full SHA 4125480View commit details -
Configuration menu - View commit details
-
Copy full SHA for 19ad8a8 - Browse repository at this point
Copy the full SHA 19ad8a8View commit details -
Support Non-Blocking Manual Compactions (CompactRange) (#597) (#656)
Add a new option to CompactRangeOptions, a callback object. By default, the callback is empty so CompactRange() will be blocking (as it is now). If the callback is set, the callback object's callback method will be called upon completion with the completion status.
Configuration menu - View commit details
-
Copy full SHA for ea3da8e - Browse repository at this point
Copy the full SHA ea3da8eView commit details
Commits on Sep 19, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 403ccbf - Browse repository at this point
Copy the full SHA 403ccbfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 13c79e4 - Browse repository at this point
Copy the full SHA 13c79e4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8db41e0 - Browse repository at this point
Copy the full SHA 8db41e0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 86a315d - Browse repository at this point
Copy the full SHA 86a315dView commit details -
options: Add generic validation implementation for use cases
A UseCase class is a Configurable class which represents a specific use case in rocksdb/speedb which we can use to populate options according to the specification of that use case, and/or validate the user's options against the expected possible configurations which fit that use case. As such, we add here 2 methods in Configurable which essentially take a UseCase and a set of options, and validates that the values of these options matches the values that the use case requires.
Configuration menu - View commit details
-
Copy full SHA for 41363d6 - Browse repository at this point
Copy the full SHA 41363d6View commit details