Skip to content
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

Draft
wants to merge 281 commits into
base: main
Choose a base branch
from
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Apr 25, 2023

  1. git: add clangd cache to .gitignore

    isaac-io authored and Yuval-Ariel committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    bb5cc7d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9379bb1 View commit details
    Browse the repository at this point in the history
  3. Rename rocksdb threads to speedb

    speedbmike authored and Yuval-Ariel committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    9973138 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    07397a6 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    f12c2ef View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    6da560f View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    676f24e View commit details
    Browse the repository at this point in the history
  8. 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.
    isaac-io authored and Yuval-Ariel committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    5b84652 View commit details
    Browse the repository at this point in the history
  9. SPDB-382: Exclude third party code from the checks

    as changes to it are either
    version updates or fixing compiler errors.
    Yuval-Ariel committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    2904fbb View commit details
    Browse the repository at this point in the history
  10. SPDB-270: db_bench: add SeekRandomWriteRandom test

    combination of seek random and overwrite random.
    all threads are doing seek and write interchangeably.
    Yuval-Ariel committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    0de9942 View commit details
    Browse the repository at this point in the history
  11. README: Update to contain a quick start guide for speedb

    Amnon Hanuhov authored and Yuval-Ariel committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    9ff33d6 View commit details
    Browse the repository at this point in the history
  12. 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.
    isaac-io authored and Yuval-Ariel committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    4d7f424 View commit details
    Browse the repository at this point in the history
  13. 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`.
    isaac-io authored and Yuval-Ariel committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    333d57f View commit details
    Browse the repository at this point in the history
  14. 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.
    isaac-io authored and Yuval-Ariel committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    778b769 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    10b0d98 View commit details
    Browse the repository at this point in the history
  16. 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.
    isaac-io authored and Yuval-Ariel committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    c678763 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    945d7f7 View commit details
    Browse the repository at this point in the history
  18. SPDB-534: db_bench: fix rocksdb bug of last_ref assertion

    test doesnt delete db properly.
    Yuval-Ariel committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    cfd5281 View commit details
    Browse the repository at this point in the history
  19. SPDB 521: db_bench: fix SeekRandom and ReadRandomWriteRandom

    fix both these tests to operate not only on the default cf
    Yuval-Ariel committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    0cd3fbe View commit details
    Browse the repository at this point in the history
  20. 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.
    isaac-io authored and Yuval-Ariel committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    5461017 View commit details
    Browse the repository at this point in the history
  21. 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.
    hilikspdb authored and Yuval-Ariel committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    d5daa47 View commit details
    Browse the repository at this point in the history
  22. 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.
    mrambacher authored and Yuval-Ariel committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    58f0bf5 View commit details
    Browse the repository at this point in the history
  23. 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.
    isaac-io authored and Yuval-Ariel committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    1f17620 View commit details
    Browse the repository at this point in the history
  24. 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.
    ayulas authored and Yuval-Ariel committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    11851b0 View commit details
    Browse the repository at this point in the history
  25. 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.
    isaac-io authored and Yuval-Ariel committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    5bbd306 View commit details
    Browse the repository at this point in the history
  26. 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.
    isaac-io authored and Yuval-Ariel committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    2777012 View commit details
    Browse the repository at this point in the history
  27. 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.
    isaac-io authored and Yuval-Ariel committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    892bf2d View commit details
    Browse the repository at this point in the history
  28. 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.
    isaac-io authored and Yuval-Ariel committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    187e1f8 View commit details
    Browse the repository at this point in the history
  29. 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.
    isaac-io authored and Yuval-Ariel committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    5e1e5ef View commit details
    Browse the repository at this point in the history
  30. CI: initial setup

    Devops ci/add build tools (#104)
    
    new release line network hotfix (#109)
    nathan-bo authored and Yuval-Ariel committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    2a2e969 View commit details
    Browse the repository at this point in the history
  31. Update issue templates

    rtpro authored and Yuval-Ariel committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    788c79e View commit details
    Browse the repository at this point in the history
  32. 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.
    isaac-io authored and Yuval-Ariel committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    12d375d View commit details
    Browse the repository at this point in the history
  33. release: publish version 2.0.0

    isaac-io authored and Yuval-Ariel committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    eb89955 View commit details
    Browse the repository at this point in the history
  34. docs: update README and CODE_OF_CONDUCT

    rtpro authored and Yuval-Ariel committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    6e73bec View commit details
    Browse the repository at this point in the history
  35. * Update CONTRIBUTING.md

    * 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]>
    2 people authored and Yuval-Ariel committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    3c79e3b View commit details
    Browse the repository at this point in the history
  36. 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.
    isaac-io authored and Yuval-Ariel committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    df4d3ba View commit details
    Browse the repository at this point in the history
  37. 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.
    isaac-io authored and Yuval-Ariel committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    189d9ab View commit details
    Browse the repository at this point in the history
  38. Update test_fuzz.yml

    nathan-bo authored and Yuval-Ariel committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    8ea4d3b View commit details
    Browse the repository at this point in the history
  39. 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.
    isaac-io authored and Yuval-Ariel committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    426dff3 View commit details
    Browse the repository at this point in the history
  40. 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.
    isaac-io authored and Yuval-Ariel committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    a832417 View commit details
    Browse the repository at this point in the history
  41. 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.
    isaac-io authored and Yuval-Ariel committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    ca8e583 View commit details
    Browse the repository at this point in the history
  42. 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).
    isaac-io authored and Yuval-Ariel committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    95598cc View commit details
    Browse the repository at this point in the history
  43. docs: update license files to comply with Apache 2.0 (#111)

    Update license files to comply with Apache 2.0 and update authors
    rtpro authored and Yuval-Ariel committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    1cfc729 View commit details
    Browse the repository at this point in the history
  44. Adding logo to readme (#135)

    * Adding logo and badges to readme
    rtpro authored and Yuval-Ariel committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    d8ba17a View commit details
    Browse the repository at this point in the history
  45. 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.
    nathan-bo authored and Yuval-Ariel committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    8d73646 View commit details
    Browse the repository at this point in the history
  46. 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.
    mrambacher authored and Yuval-Ariel committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    2e732b9 View commit details
    Browse the repository at this point in the history
  47. 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
    isaac-io authored and Yuval-Ariel committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    806b630 View commit details
    Browse the repository at this point in the history
  48. 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.
    isaac-io authored and Yuval-Ariel committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    9ba9e67 View commit details
    Browse the repository at this point in the history
  49. Configuration menu
    Copy the full SHA
    e04dcd3 View commit details
    Browse the repository at this point in the history
  50. 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.
    AmnonHanuhov authored and Yuval-Ariel committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    e6d5758 View commit details
    Browse the repository at this point in the history

Commits on May 4, 2023

  1. Configuration menu
    Copy the full SHA
    604cb54 View commit details
    Browse the repository at this point in the history
  2. Update logo dark mode

    rtpro authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    b9e0792 View commit details
    Browse the repository at this point in the history
  3. 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.
    isaac-io authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    2c3e28a View commit details
    Browse the repository at this point in the history
  4. 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).
    isaac-io authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    ef69a9b View commit details
    Browse the repository at this point in the history
  5. 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.
    isaac-io authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    fb74783 View commit details
    Browse the repository at this point in the history
  6. fix a typo

    jsteemann authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    80b4b44 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    5e974da View commit details
    Browse the repository at this point in the history
  8. docs: update HISTORY.md (#189)

    Add the Speedb release notes to the HISTORY file.
    bosmatt authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    89cb3c2 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    b9373bd View commit details
    Browse the repository at this point in the history
  10. 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.
    isaac-io authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    5353ac4 View commit details
    Browse the repository at this point in the history
  11. 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.
    isaac-io authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    f0eeb55 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    0586cb8 View commit details
    Browse the repository at this point in the history
  13. 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
    Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    197f94c View commit details
    Browse the repository at this point in the history
  14. 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.
    isaac-io authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    04b536b View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    e0ed0ec View commit details
    Browse the repository at this point in the history
  16. 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
    ```
    isaac-io authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    5d8d87a View commit details
    Browse the repository at this point in the history
  17. 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.
    isaac-io authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    ee787bf View commit details
    Browse the repository at this point in the history
  18. 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.
    isaac-io authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    94df4ed View commit details
    Browse the repository at this point in the history
  19. 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.
    isaac-io authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    3fe5bdb View commit details
    Browse the repository at this point in the history
  20. 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.
    isaac-io authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    f1fd855 View commit details
    Browse the repository at this point in the history
  21. general: replace RocksDB references in strings with Speedb (#64)

    This includes references in statuses as well as tools output.
    isaac-io authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    ffe4885 View commit details
    Browse the repository at this point in the history
  22. 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.
    isaac-io authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    3af146b View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    fa900e2 View commit details
    Browse the repository at this point in the history
  24. ci: fix the release pipeline

    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.
    isaac-io authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    349e24e View commit details
    Browse the repository at this point in the history
  25. release: publish version 2.1.0

    GitHub Runner Bot authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    6eb9b38 View commit details
    Browse the repository at this point in the history
  26. 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.
    isaac-io authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    9c3b26b View commit details
    Browse the repository at this point in the history
  27. 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.
    isaac-io authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    8cba38e View commit details
    Browse the repository at this point in the history
  28. 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.
    isaac-io authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    1b1a724 View commit details
    Browse the repository at this point in the history
  29. 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.
    isaac-io authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    58246bf View commit details
    Browse the repository at this point in the history
  30. 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
    ```
    isaac-io authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    ab702c5 View commit details
    Browse the repository at this point in the history
  31. Configuration menu
    Copy the full SHA
    d3e982c View commit details
    Browse the repository at this point in the history
  32. docs: readme typo fix (#223)

    azmisaquib authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    f01f543 View commit details
    Browse the repository at this point in the history
  33. 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.
    isaac-io authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    cc59224 View commit details
    Browse the repository at this point in the history
  34. 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 `?`.
    isaac-io authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    90514aa View commit details
    Browse the repository at this point in the history
  35. 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.
    isaac-io authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    cd89bda View commit details
    Browse the repository at this point in the history
  36. db_test2: fix BackgroundPurgeTest (#236)

    fix by adding WaitUntilSleeping before deleting the iterator
    Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    d4f99cb View commit details
    Browse the repository at this point in the history
  37. Configuration menu
    Copy the full SHA
    a5fe261 View commit details
    Browse the repository at this point in the history
  38. Configuration menu
    Copy the full SHA
    3c323bb View commit details
    Browse the repository at this point in the history
  39. hash spd memtable (#98)

    Import shorten memtable switch latency (#14)
    ayulas authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    9f0f8cc View commit details
    Browse the repository at this point in the history
  40. Configuration menu
    Copy the full SHA
    cf06aba View commit details
    Browse the repository at this point in the history
  41. Configuration menu
    Copy the full SHA
    d8cd9ea View commit details
    Browse the repository at this point in the history
  42. Configuration menu
    Copy the full SHA
    2d35a96 View commit details
    Browse the repository at this point in the history
  43. docs: Add db_bench README

    bosmatt authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    eb245b9 View commit details
    Browse the repository at this point in the history
  44. Configuration menu
    Copy the full SHA
    388e7bb View commit details
    Browse the repository at this point in the history
  45. Configuration menu
    Copy the full SHA
    e7f3b2a View commit details
    Browse the repository at this point in the history
  46. Configuration menu
    Copy the full SHA
    b5ebaaa View commit details
    Browse the repository at this point in the history
  47. Configuration menu
    Copy the full SHA
    b5712a8 View commit details
    Browse the repository at this point in the history
  48. Configuration menu
    Copy the full SHA
    5ebb3ce View commit details
    Browse the repository at this point in the history
  49. Configuration menu
    Copy the full SHA
    bd23caa View commit details
    Browse the repository at this point in the history
  50. db_bench: Enhancement - Support multiple benchmarks groups, each with…

    … its own config (#220)
    
    db_bench: Fix minor issues slipped in #220 - supporting groups in db_bench (#258)
    
    Fix minor compilation issue introduced by #220
    udi-speedb authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    9c58025 View commit details
    Browse the repository at this point in the history
  51. Rebase 8.1.1: fix for db_bench: Enhancement - Support multiple benchm…

    …arks groups, each with its own config (#220)
    Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    9c9942c View commit details
    Browse the repository at this point in the history
  52. 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
    Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    43beb26 View commit details
    Browse the repository at this point in the history
  53. db_bench: Support control over WBM's allow_stall ctor parameter (#187)

    and print the allow_stall parameter to the LOG file
    udi-speedb authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    6604be1 View commit details
    Browse the repository at this point in the history
  54. Configuration menu
    Copy the full SHA
    6d3c92a View commit details
    Browse the repository at this point in the history
  55. Configuration menu
    Copy the full SHA
    2ef83ea View commit details
    Browse the repository at this point in the history
  56. Configuration menu
    Copy the full SHA
    edaa74c View commit details
    Browse the repository at this point in the history
  57. Update README.md (#280)

    * Update README.md
    
    * Update README.md
    
    * Update README.md
    bosmatt authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    dca1875 View commit details
    Browse the repository at this point in the history
  58. Update README.md (#291)

    Update link to the documentation repo
    bosmatt authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    747e4f0 View commit details
    Browse the repository at this point in the history
  59. Configuration menu
    Copy the full SHA
    272c6ab View commit details
    Browse the repository at this point in the history
  60. Configuration menu
    Copy the full SHA
    479f1f6 View commit details
    Browse the repository at this point in the history
  61. Configuration menu
    Copy the full SHA
    624fd45 View commit details
    Browse the repository at this point in the history
  62. 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)
    ayulas authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    bba6a28 View commit details
    Browse the repository at this point in the history
  63. Configuration menu
    Copy the full SHA
    0dfe58a View commit details
    Browse the repository at this point in the history
  64. misc: add build properties info to LOG file (#262)

     use_rtti, debug level, portable was added to LOG file
    RoyBenMoshe authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    ded3aa9 View commit details
    Browse the repository at this point in the history
  65. 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
    Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    5a6c9c2 View commit details
    Browse the repository at this point in the history
  66. Configuration menu
    Copy the full SHA
    cf427c9 View commit details
    Browse the repository at this point in the history
  67. Proactive Flushes (#155)

    udi-speedb authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    5a53078 View commit details
    Browse the repository at this point in the history
  68. Configuration menu
    Copy the full SHA
    2df1aab View commit details
    Browse the repository at this point in the history
  69. Configuration menu
    Copy the full SHA
    114b857 View commit details
    Browse the repository at this point in the history
  70. Configuration menu
    Copy the full SHA
    21805dd View commit details
    Browse the repository at this point in the history
  71. Update artifact-release.yml

    maxb-io authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    8eafc2c View commit details
    Browse the repository at this point in the history
  72. release: publish version 2.2.0

    GitHub Runner Bot authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    1a37466 View commit details
    Browse the repository at this point in the history
  73. Configuration menu
    Copy the full SHA
    1995c9e View commit details
    Browse the repository at this point in the history
  74. Configuration menu
    Copy the full SHA
    05fc753 View commit details
    Browse the repository at this point in the history
  75. Configuration menu
    Copy the full SHA
    e114378 View commit details
    Browse the repository at this point in the history
  76. 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.
    Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    88010da View commit details
    Browse the repository at this point in the history
  77. Update README.md

    bosmatt authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    7b4b77b View commit details
    Browse the repository at this point in the history
  78. 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).
    AmnonHanuhov authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    482dd17 View commit details
    Browse the repository at this point in the history
  79. 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
    Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    e3508a5 View commit details
    Browse the repository at this point in the history
  80. Spdb memtable: improve performance (#298)

    Reduce lock access between switch writes vectors
    Avoid unnecessary lock between read and writes
    Decrease the writes vectors numbers
    ayulas authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    ed8320d View commit details
    Browse the repository at this point in the history
  81. Configuration menu
    Copy the full SHA
    26768f9 View commit details
    Browse the repository at this point in the history
  82. 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
    Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    5668e8e View commit details
    Browse the repository at this point in the history
  83. windows build failed in speedb_paired_bloom_internal files due to bad…

    … used of double / uint32 casting #383
    ayulas authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    ccc4e1a View commit details
    Browse the repository at this point in the history
  84. 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.
    mrambacher authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    e8ca52f View commit details
    Browse the repository at this point in the history
  85. MAC_build: Add F_BARRIERFSYNC (#319)

    Allow the posix sync code to be based upon BARRIER sync
    mrambacher authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    6724bee View commit details
    Browse the repository at this point in the history
  86. db_bench: Fix compilation issues on Mac (#393)

    A few different compilation issues requiring static_cast
    mrambacher authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    ce39679 View commit details
    Browse the repository at this point in the history
  87. Add Injection and NoSyncFS (#380)

    Use a NoSyncFileSystem to skip Sync/FSync to reduce test times
    mrambacher authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    eb8d27e View commit details
    Browse the repository at this point in the history
  88. 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.
    mrambacher authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    fbec567 View commit details
    Browse the repository at this point in the history
  89. 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]>
    2 people authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    af39698 View commit details
    Browse the repository at this point in the history
  90. Paired-Bloom-Filter: Balancing rounding to batches between the bottom…

    …most level and rest of the levels (#369)
    noamhaham authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    49030a9 View commit details
    Browse the repository at this point in the history
  91. 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.
    Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    9f7f68c View commit details
    Browse the repository at this point in the history
  92. Configuration menu
    Copy the full SHA
    32557b0 View commit details
    Browse the repository at this point in the history
  93. release: publish version 2.3.0

    GitHub Runner Bot authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    8de66a0 View commit details
    Browse the repository at this point in the history
  94. fault_injection_fs: Add back accidental revert in DropRandomUnsyncedD…

    …ata (#402)
    
    Code was accidentally dropped during recent PR (#380)
    mrambacher authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    973a309 View commit details
    Browse the repository at this point in the history
  95. Add speedb licenses to code (#409)

    ofriedma authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    147a52e View commit details
    Browse the repository at this point in the history
  96. Configuration menu
    Copy the full SHA
    717596f View commit details
    Browse the repository at this point in the history
  97. Configuration menu
    Copy the full SHA
    35c78db View commit details
    Browse the repository at this point in the history
  98. 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
    maxb-io authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    87c350d View commit details
    Browse the repository at this point in the history
  99. removed AWS credentials as they are not required, were used for uploa…

    …ding fuzz test logs
    maxb-io authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    267dd76 View commit details
    Browse the repository at this point in the history
  100. 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.
    Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    acdac96 View commit details
    Browse the repository at this point in the history
  101. Configuration menu
    Copy the full SHA
    df515d5 View commit details
    Browse the repository at this point in the history
  102. Configuration menu
    Copy the full SHA
    66b75c3 View commit details
    Browse the repository at this point in the history
  103. 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)
    maxb-io authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    22031b8 View commit details
    Browse the repository at this point in the history
  104. Global delay bug fix: use credits only under mutex (#438)

    While at it, rename and reorder some members
    Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    23e8586 View commit details
    Browse the repository at this point in the history
  105. 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
    Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    79c1f87 View commit details
    Browse the repository at this point in the history
  106. 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.
    AmnonHanuhov authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    173b86c View commit details
    Browse the repository at this point in the history
  107. CI windows: switched VC 2019 to VC 2022 in the ci_windows.yml in orde…

    …r to solve compilation error (#456)
    maxb-io authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    3f137d4 View commit details
    Browse the repository at this point in the history
  108. 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.
    Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    be2a194 View commit details
    Browse the repository at this point in the history
  109. Write Flow: Spdb WF (#445)

    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.
    ayulas authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    878a97d View commit details
    Browse the repository at this point in the history
  110. Rebase 8.1.1: fix for WF

    Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    ff53bc4 View commit details
    Browse the repository at this point in the history
  111. 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
    ofriedma authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    fa5eddf View commit details
    Browse the repository at this point in the history
  112. Configuration menu
    Copy the full SHA
    5c574dc View commit details
    Browse the repository at this point in the history
  113. adding beezcli and ttl support (#427)

    beezcli is an interactive tool wrapping ldb
    
    This commit adds some enhancement to ldb
    
    Resolves: #407
    ofriedma authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    57e540c View commit details
    Browse the repository at this point in the history
  114. 466 artifact build fails due to beezcli is missing (#469)

    * added readline-devel package to the artifact-release.yml, needed by beezcli
    maxb-io authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    aea4a01 View commit details
    Browse the repository at this point in the history
  115. release: publish version 2.4.0

    GitHub Runner Bot authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    46474b6 View commit details
    Browse the repository at this point in the history
  116. Write Flow: Reduce debug logs (#472)

    ayulas authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    083326c View commit details
    Browse the repository at this point in the history
  117. 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.
    mrambacher authored and Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    7124d9e View commit details
    Browse the repository at this point in the history
  118. Rebase 8.1.1: reintroduce preserve_unverified_changes

    which was accidentally removed in
    general: replace RocksDB references in strings with Speedb (#64)
    Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    b088644 View commit details
    Browse the repository at this point in the history
  119. Rebase 8.1.1: fix for speedb_db_bloom_filter_test

    as part of - Speedb's Paired Block Bloom (#29)
    Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    835f46c View commit details
    Browse the repository at this point in the history
  120. Configuration menu
    Copy the full SHA
    bcb244d View commit details
    Browse the repository at this point in the history
  121. Configuration menu
    Copy the full SHA
    929f6b4 View commit details
    Browse the repository at this point in the history
  122. Rebase 8.1.1: disable failing unit tests and paired

    bloom filter stress testing
    
    DBIOFailureTest.DropWrites fails rarely
    Yuval-Ariel committed May 4, 2023
    Configuration menu
    Copy the full SHA
    21ff6ca View commit details
    Browse the repository at this point in the history
  123. Configuration menu
    Copy the full SHA
    6c96280 View commit details
    Browse the repository at this point in the history

Commits on May 11, 2023

  1. Configuration menu
    Copy the full SHA
    57686e6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    11ff28a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f28f0d7 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    2ffee5b View commit details
    Browse the repository at this point in the history
  5. Makefile: Remove pycache artifacts after running gtest-parallel (#495)

    * gitignore: Add build_tools/pycache/ to gitignore (#486)
    
    *.pyc artifacts from running gtest-parallel as part of `make check`
    are created in this directory
    
    * Makefile: Remove pycache artifacts after running gtest-parallel (#486)
    AmnonHanuhov authored May 11, 2023
    Configuration menu
    Copy the full SHA
    0960fa5 View commit details
    Browse the repository at this point in the history
  6. 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.
    Yuval-Ariel authored May 11, 2023
    Configuration menu
    Copy the full SHA
    be87eba View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    b2698cc View commit details
    Browse the repository at this point in the history
  8. 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.
    Yuval-Ariel authored May 11, 2023
    Configuration menu
    Copy the full SHA
    9cee48e View commit details
    Browse the repository at this point in the history

Commits on May 15, 2023

  1. Configuration menu
    Copy the full SHA
    49bd79a View commit details
    Browse the repository at this point in the history

Commits on May 16, 2023

  1. Update HISTORY.md (#508)

    Updated the history file with all of the content until 2.4.1 release.
    bosmatt authored May 16, 2023
    Configuration menu
    Copy the full SHA
    2fc98a8 View commit details
    Browse the repository at this point in the history

Commits on May 18, 2023

  1. 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)
    udi-speedb authored May 18, 2023
    Configuration menu
    Copy the full SHA
    3a8d9b9 View commit details
    Browse the repository at this point in the history

Commits on May 21, 2023

  1. Configuration menu
    Copy the full SHA
    040e688 View commit details
    Browse the repository at this point in the history

Commits on May 22, 2023

  1. Configuration menu
    Copy the full SHA
    e7e2de7 View commit details
    Browse the repository at this point in the history

Commits on May 23, 2023

  1. update HISTORY.md (#525)

    Yuval-Ariel authored May 23, 2023
    Configuration menu
    Copy the full SHA
    5a4cba3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5ac0b2e View commit details
    Browse the repository at this point in the history
  3. Update README.md (#527)

    bosmatt authored May 23, 2023
    Configuration menu
    Copy the full SHA
    7904f10 View commit details
    Browse the repository at this point in the history

Commits on May 24, 2023

  1. Configuration menu
    Copy the full SHA
    df8962b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    39e3e99 View commit details
    Browse the repository at this point in the history
  3. 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.
    Yuval-Ariel authored May 24, 2023
    Configuration menu
    Copy the full SHA
    5bcecf0 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d0cdbbd View commit details
    Browse the repository at this point in the history

Commits on May 26, 2023

  1. 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.
    Yuval-Ariel authored May 26, 2023
    Configuration menu
    Copy the full SHA
    6ede30d View commit details
    Browse the repository at this point in the history

Commits on May 30, 2023

  1. Configuration menu
    Copy the full SHA
    4c034e1 View commit details
    Browse the repository at this point in the history

Commits on Jun 6, 2023

  1. Configuration menu
    Copy the full SHA
    1788bc7 View commit details
    Browse the repository at this point in the history

Commits on Jun 7, 2023

  1. Configuration menu
    Copy the full SHA
    fc24b77 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    cd136e1 View commit details
    Browse the repository at this point in the history

Commits on Jun 11, 2023

  1. Configuration menu
    Copy the full SHA
    f39f76f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3d4c9d1 View commit details
    Browse the repository at this point in the history

Commits on Jun 12, 2023

  1. 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.
    ayulas authored Jun 12, 2023
    Configuration menu
    Copy the full SHA
    594f177 View commit details
    Browse the repository at this point in the history
  2. Hashspd memtable: Memory bug fix( #553)

    prevent merge vectors if not needed
    ayulas authored Jun 12, 2023
    Configuration menu
    Copy the full SHA
    f3bdb69 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    1bc17c8 View commit details
    Browse the repository at this point in the history
  4. 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.
    Yuval-Ariel authored Jun 12, 2023
    Configuration menu
    Copy the full SHA
    72d4181 View commit details
    Browse the repository at this point in the history

Commits on Jun 13, 2023

  1. Configuration menu
    Copy the full SHA
    6bf9458 View commit details
    Browse the repository at this point in the history

Commits on Jun 14, 2023

  1. Configuration menu
    Copy the full SHA
    201de3d View commit details
    Browse the repository at this point in the history
  2. release: publish version 2.5.0

    GitHub Runner Bot committed Jun 14, 2023
    Configuration menu
    Copy the full SHA
    041da08 View commit details
    Browse the repository at this point in the history

Commits on Jun 15, 2023

  1. Configuration menu
    Copy the full SHA
    1286d7f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a9e051b View commit details
    Browse the repository at this point in the history

Commits on Jun 18, 2023

  1. Configuration menu
    Copy the full SHA
    ea3bdd5 View commit details
    Browse the repository at this point in the history

Commits on Jun 26, 2023

  1. 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.
    Yuval-Ariel authored Jun 26, 2023
    Configuration menu
    Copy the full SHA
    3ee5632 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a81e3ec View commit details
    Browse the repository at this point in the history

Commits on Jul 3, 2023

  1. 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.
    Yuval-Ariel authored Jul 3, 2023
    Configuration menu
    Copy the full SHA
    a785634 View commit details
    Browse the repository at this point in the history
  2. 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
    maxb-io authored Jul 3, 2023
    Configuration menu
    Copy the full SHA
    0e1971c View commit details
    Browse the repository at this point in the history
  3. switch to rocksdbjavastatic and portable for building on Ubuntu u86 b…

    …uild_and_publish_jar.yml (#594)
    maxb-io authored Jul 3, 2023
    Configuration menu
    Copy the full SHA
    f66ae81 View commit details
    Browse the repository at this point in the history

Commits on Jul 4, 2023

  1. 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
    maxb-io authored Jul 4, 2023
    Configuration menu
    Copy the full SHA
    7d5f079 View commit details
    Browse the repository at this point in the history

Commits on Jul 5, 2023

  1. Configuration menu
    Copy the full SHA
    404d794 View commit details
    Browse the repository at this point in the history

Commits on Jul 13, 2023

  1. 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
    maxb-io authored Jul 13, 2023
    Configuration menu
    Copy the full SHA
    45713bb View commit details
    Browse the repository at this point in the history

Commits on Jul 18, 2023

  1. Configuration menu
    Copy the full SHA
    964a9b4 View commit details
    Browse the repository at this point in the history

Commits on Jul 24, 2023

  1. Configuration menu
    Copy the full SHA
    e887846 View commit details
    Browse the repository at this point in the history

Commits on Jul 25, 2023

  1. Configuration menu
    Copy the full SHA
    e0d7d07 View commit details
    Browse the repository at this point in the history

Commits on Jul 31, 2023

  1. 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
    maxb-io authored Jul 31, 2023
    Configuration menu
    Copy the full SHA
    a680523 View commit details
    Browse the repository at this point in the history
  2. 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
    maxb-io authored Jul 31, 2023
    Configuration menu
    Copy the full SHA
    ba1ce97 View commit details
    Browse the repository at this point in the history

Commits on Aug 2, 2023

  1. 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.
    Yuval-Ariel authored Aug 2, 2023
    Configuration menu
    Copy the full SHA
    8ed9b68 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6e05428 View commit details
    Browse the repository at this point in the history
  3. Snapshot Optimization (#547)

    * 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
    ofriedma authored Aug 2, 2023
    Configuration menu
    Copy the full SHA
    ff1b086 View commit details
    Browse the repository at this point in the history

Commits on Aug 3, 2023

  1. Configuration menu
    Copy the full SHA
    335c424 View commit details
    Browse the repository at this point in the history

Commits on Aug 6, 2023

  1. removed check for github.event_name before starting each step, this w…

    …orkflow is called only when the triegger is a PR (#622)
    maxb-io authored Aug 6, 2023
    Configuration menu
    Copy the full SHA
    666ef17 View commit details
    Browse the repository at this point in the history
  2. 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
    maxb-io authored Aug 6, 2023
    Configuration menu
    Copy the full SHA
    7959837 View commit details
    Browse the repository at this point in the history

Commits on Aug 14, 2023

  1. Configuration menu
    Copy the full SHA
    2075487 View commit details
    Browse the repository at this point in the history

Commits on Aug 16, 2023

  1. Configuration menu
    Copy the full SHA
    a53ad27 View commit details
    Browse the repository at this point in the history

Commits on Aug 17, 2023

  1. Redo of Index/Filter/Data blocks sizes in Block (LRU) Block Cache per…

    … CF after rebase on RocksDB (#620)
    udi-speedb authored Aug 17, 2023
    Configuration menu
    Copy the full SHA
    eb8e466 View commit details
    Browse the repository at this point in the history

Commits on Aug 18, 2023

  1. Configuration menu
    Copy the full SHA
    1751c4f View commit details
    Browse the repository at this point in the history

Commits on Aug 19, 2023

  1. Configuration menu
    Copy the full SHA
    54bd545 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3e55c3d View commit details
    Browse the repository at this point in the history

Commits on Aug 20, 2023

  1. Configuration menu
    Copy the full SHA
    13af75a View commit details
    Browse the repository at this point in the history
  2. Add on thread start callback (#629)

    fixes: #476
    ofriedma authored Aug 20, 2023
    Configuration menu
    Copy the full SHA
    a6e1ab2 View commit details
    Browse the repository at this point in the history

Commits on Aug 21, 2023

  1. Configuration menu
    Copy the full SHA
    944f9ba View commit details
    Browse the repository at this point in the history

Commits on Aug 22, 2023

  1. release: publish version 2.6.0

    GitHub Runner Bot committed Aug 22, 2023
    Configuration menu
    Copy the full SHA
    ea70d40 View commit details
    Browse the repository at this point in the history

Commits on Aug 29, 2023

  1. Configuration menu
    Copy the full SHA
    a53332d View commit details
    Browse the repository at this point in the history
  2. db_bench: fix SeekRandomWriteRandom valid check (#652)

    Use key and value only after checking iterator is valid
    Yuval-Ariel authored Aug 29, 2023
    Configuration menu
    Copy the full SHA
    4209cf5 View commit details
    Browse the repository at this point in the history

Commits on Sep 7, 2023

  1. Configuration menu
    Copy the full SHA
    9f60375 View commit details
    Browse the repository at this point in the history

Commits on Sep 18, 2023

  1. Configuration menu
    Copy the full SHA
    4125480 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    19ad8a8 View commit details
    Browse the repository at this point in the history
  3. 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.
    udi-speedb authored Sep 18, 2023
    Configuration menu
    Copy the full SHA
    ea3da8e View commit details
    Browse the repository at this point in the history

Commits on Sep 19, 2023

  1. Configuration menu
    Copy the full SHA
    403ccbf View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    13c79e4 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    8db41e0 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    86a315d View commit details
    Browse the repository at this point in the history
  5. 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.
    AmnonHanuhov committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    41363d6 View commit details
    Browse the repository at this point in the history