Flushing schema tables is important for crash recovery (without a flush, we might have sstables using a new schema before the commitlog entry noting the schema change has been replayed), but not important for tests that do not test crash recovery. Avoiding those flushes reduces system, user, and real time on tests running on a consumer-level SSD. before: real 8m51.347s user 7m5.743s sys 5m11.185s after: real 7m4.249s user 5m14.085s sys 2m11.197s Note real time is higher that user+sys time divided by the number of hardware threads, indicating that there is still idle time due to the disk flushing, so more work is needed. Closes #9319
Tests for Scylla with Redis API that should also pass, identically, against Redis.
Tests use the redis library for Redis API, and the pytest frameworks (both are available from Linux distributions, or with "pip install").
To run all tests against the local installation of Scylla with Redis API on
localhost:6379, just run pytest.
Some additional pytest options:
- To run all tests in a single file, do
pytest test_strings.py. - To run a single specific test, do
pytest test_strings.py::set. - Additional useful pytest options, especially useful for debugging tests:
- -v: show the names of each individual test running instead of just dots.
- -s: show the full output of running tests (by default, pytest captures the test's output and only displays it if a test fails)