Summary: We are seeing some occasional failures with WRITE_(UN)PREPARED crash test runs, and it's alarming when these are grouped in with WRITE_COMMITTED, which AFAIK is the only one considered mature and mission-critical at this point. * Mark WRITE_(UN)PREPARED as EXPERIMENTAL in the public APIs * Separate out the `_with_txn` crash test jobs by write policy, now `_with_wc_txn`, `_with_wp_txn` and `_with_wup_txn` so that the major functional and maturity differences are better grouped. * Add `_with_multiops_wup_txn` which was apparently missing * Clean up db_crashtest.py for better consistency * Get rid of awkard "write_policy" parameter that could conflict with authoritative "txn_write_policy" parameter. * Similarly, move some multiops logic from different parameter sets to finalize_and_sanitize logic. Immediate internal follow-up: * Migrate from `_with_txn` which are now deprecated aliases of `_with_wc_txn` to more jobs with the new variants. And likely also add new multiops job. Pull Request resolved: https://github.com/facebook/rocksdb/pull/13499 Test Plan: manual runs of modified jobs, at least long enough to spot check things like txn_write_policy Reviewed By: hx235 Differential Revision: D72015307 Pulled By: pdillinger fbshipit-source-id: 06b99b2d1f15ac76fe7b8e22c93a51aaa2a42ecf
167 lines
6.6 KiB
Makefile
167 lines
6.6 KiB
Makefile
# This file is used by Meta-internal infrastructure as well as by Makefile
|
|
|
|
# When included from Makefile, there are rules to build DB_STRESS_CMD. When
|
|
# used directly with `make -f crashtest.mk ...` there will be no rules to
|
|
# build DB_STRESS_CMD so it must exist prior.
|
|
DB_STRESS_CMD?=./db_stress
|
|
|
|
include common.mk
|
|
|
|
CRASHTEST_MAKE=$(MAKE) -f crash_test.mk
|
|
CRASHTEST_PY=$(PYTHON) -u tools/db_crashtest.py --stress_cmd=$(DB_STRESS_CMD) --cleanup_cmd='$(DB_CLEANUP_CMD)'
|
|
|
|
.PHONY: crash_test crash_test_with_atomic_flush crash_test_with_txn \
|
|
crash_test_with_wc_txn crash_test_with_wp_txn crash_test_with_wup_txn \
|
|
crash_test_with_best_efforts_recovery crash_test_with_ts \
|
|
crash_test_with_multiops_wc_txn \
|
|
crash_test_with_multiops_wp_txn \
|
|
crash_test_with_multiops_wup_txn \
|
|
crash_test_with_optimistic_txn \
|
|
crash_test_with_tiered_storage \
|
|
blackbox_crash_test blackbox_crash_test_with_atomic_flush \
|
|
blackbox_crash_test_with_wc_txn blackbox_crash_test_with_wp_txn \
|
|
blackbox_crash_test_with_wup_txn \
|
|
blackbox_crash_test_with_txn blackbox_crash_test_with_ts \
|
|
blackbox_crash_test_with_best_efforts_recovery \
|
|
blackbox_crash_test_with_multiops_wc_txn \
|
|
blackbox_crash_test_with_multiops_wp_txn \
|
|
blackbox_crash_test_with_multiops_wup_txn \
|
|
blackbox_crash_test_with_optimistic_txn \
|
|
blackbox_crash_test_with_tiered_storage \
|
|
whitebox_crash_test whitebox_crash_test_with_atomic_flush \
|
|
whitebox_crash_test_with_wc_txn whitebox_crash_test_with_wp_txn \
|
|
whitebox_crash_test_with_wup_txn \
|
|
whitebox_crash_test_with_txn whitebox_crash_test_with_ts \
|
|
whitebox_crash_test_with_optimistic_txn \
|
|
whitebox_crash_test_with_tiered_storage \
|
|
|
|
crash_test: $(DB_STRESS_CMD)
|
|
# Do not parallelize
|
|
$(CRASHTEST_MAKE) whitebox_crash_test
|
|
$(CRASHTEST_MAKE) blackbox_crash_test
|
|
|
|
crash_test_with_atomic_flush: $(DB_STRESS_CMD)
|
|
# Do not parallelize
|
|
$(CRASHTEST_MAKE) whitebox_crash_test_with_atomic_flush
|
|
$(CRASHTEST_MAKE) blackbox_crash_test_with_atomic_flush
|
|
|
|
crash_test_with_wc_txn: $(DB_STRESS_CMD)
|
|
# Do not parallelize
|
|
$(CRASHTEST_MAKE) whitebox_crash_test_with_wc_txn
|
|
$(CRASHTEST_MAKE) blackbox_crash_test_with_wc_txn
|
|
|
|
crash_test_with_wp_txn: $(DB_STRESS_CMD)
|
|
# Do not parallelize
|
|
$(CRASHTEST_MAKE) whitebox_crash_test_with_wp_txn
|
|
$(CRASHTEST_MAKE) blackbox_crash_test_with_wp_txn
|
|
|
|
crash_test_with_wup_txn: $(DB_STRESS_CMD)
|
|
# Do not parallelize
|
|
$(CRASHTEST_MAKE) whitebox_crash_test_with_wup_txn
|
|
$(CRASHTEST_MAKE) blackbox_crash_test_with_wup_txn
|
|
|
|
crash_test_with_optimistic_txn: $(DB_STRESS_CMD)
|
|
# Do not parallelize
|
|
$(CRASHTEST_MAKE) whitebox_crash_test_with_optimistic_txn
|
|
$(CRASHTEST_MAKE) blackbox_crash_test_with_optimistic_txn
|
|
|
|
crash_test_with_best_efforts_recovery: blackbox_crash_test_with_best_efforts_recovery
|
|
|
|
crash_test_with_ts: $(DB_STRESS_CMD)
|
|
# Do not parallelize
|
|
$(CRASHTEST_MAKE) whitebox_crash_test_with_ts
|
|
$(CRASHTEST_MAKE) blackbox_crash_test_with_ts
|
|
|
|
crash_test_with_tiered_storage: $(DB_STRESS_CMD)
|
|
# Do not parallelize
|
|
$(CRASHTEST_MAKE) whitebox_crash_test_with_tiered_storage
|
|
$(CRASHTEST_MAKE) blackbox_crash_test_with_tiered_storage
|
|
|
|
crash_test_with_multiops_wc_txn: $(DB_STRESS_CMD)
|
|
$(CRASHTEST_MAKE) blackbox_crash_test_with_multiops_wc_txn
|
|
|
|
crash_test_with_multiops_wp_txn: $(DB_STRESS_CMD)
|
|
$(CRASHTEST_MAKE) blackbox_crash_test_with_multiops_wp_txn
|
|
|
|
crash_test_with_multiops_wup_txn: $(DB_STRESS_CMD)
|
|
$(CRASHTEST_MAKE) blackbox_crash_test_with_multiops_wup_txn
|
|
|
|
blackbox_crash_test: $(DB_STRESS_CMD)
|
|
$(CRASHTEST_PY) --simple blackbox $(CRASH_TEST_EXT_ARGS)
|
|
$(CRASHTEST_PY) blackbox $(CRASH_TEST_EXT_ARGS)
|
|
|
|
blackbox_crash_test_with_atomic_flush: $(DB_STRESS_CMD)
|
|
$(CRASHTEST_PY) --cf_consistency blackbox $(CRASH_TEST_EXT_ARGS)
|
|
|
|
blackbox_crash_test_with_wc_txn: $(DB_STRESS_CMD)
|
|
$(CRASHTEST_PY) --txn blackbox --txn_write_policy 0 $(CRASH_TEST_EXT_ARGS)
|
|
|
|
blackbox_crash_test_with_wp_txn: $(DB_STRESS_CMD)
|
|
$(CRASHTEST_PY) --txn blackbox --txn_write_policy 1 $(CRASH_TEST_EXT_ARGS)
|
|
|
|
blackbox_crash_test_with_wup_txn: $(DB_STRESS_CMD)
|
|
$(CRASHTEST_PY) --txn blackbox --txn_write_policy 2 $(CRASH_TEST_EXT_ARGS)
|
|
|
|
blackbox_crash_test_with_best_efforts_recovery: $(DB_STRESS_CMD)
|
|
$(CRASHTEST_PY) --test_best_efforts_recovery blackbox $(CRASH_TEST_EXT_ARGS)
|
|
|
|
blackbox_crash_test_with_ts: $(DB_STRESS_CMD)
|
|
$(CRASHTEST_PY) --enable_ts blackbox $(CRASH_TEST_EXT_ARGS)
|
|
|
|
blackbox_crash_test_with_multiops_wc_txn: $(DB_STRESS_CMD)
|
|
$(CRASHTEST_PY) --test_multiops_txn --txn_write_policy 0 blackbox $(CRASH_TEST_EXT_ARGS)
|
|
|
|
blackbox_crash_test_with_multiops_wp_txn: $(DB_STRESS_CMD)
|
|
$(CRASHTEST_PY) --test_multiops_txn --txn_write_policy 1 blackbox $(CRASH_TEST_EXT_ARGS)
|
|
|
|
blackbox_crash_test_with_multiops_wup_txn: $(DB_STRESS_CMD)
|
|
$(CRASHTEST_PY) --test_multiops_txn --txn_write_policy 2 blackbox $(CRASH_TEST_EXT_ARGS)
|
|
|
|
blackbox_crash_test_with_tiered_storage: $(DB_STRESS_CMD)
|
|
$(CRASHTEST_PY) --test_tiered_storage blackbox $(CRASH_TEST_EXT_ARGS)
|
|
|
|
blackbox_crash_test_with_optimistic_txn: $(DB_STRESS_CMD)
|
|
$(CRASHTEST_PY) --optimistic_txn blackbox $(CRASH_TEST_EXT_ARGS)
|
|
|
|
ifeq ($(CRASH_TEST_KILL_ODD),)
|
|
CRASH_TEST_KILL_ODD=888887
|
|
endif
|
|
|
|
whitebox_crash_test: $(DB_STRESS_CMD)
|
|
$(CRASHTEST_PY) --simple whitebox --random_kill_odd \
|
|
$(CRASH_TEST_KILL_ODD) $(CRASH_TEST_EXT_ARGS)
|
|
$(CRASHTEST_PY) whitebox --random_kill_odd \
|
|
$(CRASH_TEST_KILL_ODD) $(CRASH_TEST_EXT_ARGS)
|
|
|
|
whitebox_crash_test_with_atomic_flush: $(DB_STRESS_CMD)
|
|
$(CRASHTEST_PY) --cf_consistency whitebox --random_kill_odd \
|
|
$(CRASH_TEST_KILL_ODD) $(CRASH_TEST_EXT_ARGS)
|
|
|
|
whitebox_crash_test_with_wc_txn: $(DB_STRESS_CMD)
|
|
$(CRASHTEST_PY) --txn whitebox --txn_write_policy 0 \
|
|
--random_kill_odd $(CRASH_TEST_KILL_ODD) $(CRASH_TEST_EXT_ARGS)
|
|
|
|
whitebox_crash_test_with_wp_txn: $(DB_STRESS_CMD)
|
|
$(CRASHTEST_PY) --txn whitebox --txn_write_policy 1 \
|
|
--random_kill_odd $(CRASH_TEST_KILL_ODD) $(CRASH_TEST_EXT_ARGS)
|
|
|
|
whitebox_crash_test_with_wup_txn: $(DB_STRESS_CMD)
|
|
$(CRASHTEST_PY) --txn whitebox --txn_write_policy 2 \
|
|
--random_kill_odd $(CRASH_TEST_KILL_ODD) $(CRASH_TEST_EXT_ARGS)
|
|
|
|
whitebox_crash_test_with_ts: $(DB_STRESS_CMD)
|
|
$(CRASHTEST_PY) --enable_ts whitebox --random_kill_odd \
|
|
$(CRASH_TEST_KILL_ODD) $(CRASH_TEST_EXT_ARGS)
|
|
|
|
whitebox_crash_test_with_tiered_storage: $(DB_STRESS_CMD)
|
|
$(CRASHTEST_PY) --test_tiered_storage whitebox --random_kill_odd \
|
|
$(CRASH_TEST_KILL_ODD) $(CRASH_TEST_EXT_ARGS)
|
|
|
|
whitebox_crash_test_with_optimistic_txn: $(DB_STRESS_CMD)
|
|
$(CRASHTEST_PY) --optimistic_txn whitebox --random_kill_odd \
|
|
$(CRASH_TEST_KILL_ODD) $(CRASH_TEST_EXT_ARGS)
|
|
|
|
# Old names DEPRECATED
|
|
crash_test_with_txn: crash_test_with_wc_txn
|
|
whitebox_crash_test_with_txn: whitebox_crash_test_with_wc_txn
|
|
blackbox_crash_test_with_txn: blackbox_crash_test_with_wc_txn
|