@@ -367,8 +367,7 @@ def setup_random_seed_before_main():
367367 "allow_unprepared_value" : lambda : random .choice ([0 , 1 ]),
368368 # TODO(hx235): enable `track_and_verify_wals` after stabalizing the stress test
369369 "track_and_verify_wals" : lambda : random .choice ([0 ]),
370- # TODO(jaykorean): Re-enable remote compaction once all incompatible features are addressed in stress test
371- "remote_compaction_worker_threads" : lambda : 0 ,
370+ "remote_compaction_worker_threads" : lambda : random .choice ([0 , 8 ]),
372371 "auto_refresh_iterator_with_snapshot" : lambda : random .choice ([0 , 1 ]),
373372 "memtable_op_scan_flush_trigger" : lambda : random .choice ([0 , 10 , 100 , 1000 ]),
374373 "memtable_avg_op_scan_flush_trigger" : lambda : random .choice ([0 , 2 , 20 , 200 ]),
@@ -505,6 +504,8 @@ def is_direct_io_supported(dbname):
505504 #
506505 # Second, we need to make sure disabling WAL works with `-reopen > 0`.
507506 "disable_wal" : 0 ,
507+ # TODO: Re-enable this once we fix WAL + Remote Compaction in Stress Test
508+ "remote_compaction_worker_threads" : 0 ,
508509 "duration" : 10000 ,
509510 "log2_keys_per_lock" : 10 ,
510511 "ops_per_thread" : 200000 ,
@@ -566,6 +567,8 @@ def is_direct_io_supported(dbname):
566567 # TODO: there is such a thing as transactions with WAL disabled. We should
567568 # cover that case.
568569 "disable_wal" : 0 ,
570+ # TODO: Re-enable this once we fix WAL + Remote Compaction in Stress Test
571+ "remote_compaction_worker_threads" : 0 ,
569572 # OpenReadOnly after checkpoint is not currnetly compatible with WritePrepared txns
570573 "checkpoint_one_in" : 0 ,
571574 # pipeline write is not currnetly compatible with WritePrepared txns
@@ -776,6 +779,18 @@ def finalize_and_sanitize(src_params):
776779 if dest_params .get ("best_efforts_recovery" ) == 1 :
777780 dest_params ["inplace_update_support" ] = 0
778781
782+ # Remote Compaction Incompatible Tests and Features
783+ if dest_params .get ("remote_compaction_worker_threads" , 0 ) > 0 :
784+ # TODO Fix races when both Remote Compaction + BlobDB enabled
785+ dest_params ["enable_blob_files" ] = 0
786+ dest_params ["enable_blob_garbage_collection" ] = 0
787+ # TODO Fix - Remote worker shouldn't recover from WAL
788+ dest_params ["disable_wal" ] = 1
789+ # Disable Incompatible Ones
790+ dest_params ["inplace_update_support" ] = 0
791+ dest_params ["checkpoint_one_in" ] = 0
792+ dest_params ["use_timed_put_one_in" ] = 0
793+
779794 # Multi-key operations are not currently compatible with transactions or
780795 # timestamp.
781796 if (
@@ -838,14 +853,6 @@ def finalize_and_sanitize(src_params):
838853 dest_params ["allow_concurrent_memtable_write" ] = 1
839854 else :
840855 dest_params ["unordered_write" ] = 0
841- if dest_params .get ("remote_compaction_worker_threads" , 0 ) > 0 :
842- # TODO Fix races when both Remote Compaction + BlobDB enabled
843- dest_params ["enable_blob_files" ] = 0
844- # TODO Fix - Remote worker shouldn't recover from WAL
845- dest_params ["disable_wal" ] = 1
846- # Disable Incompatible Ones
847- dest_params ["checkpoint_one_in" ] = 0
848- dest_params ["use_timed_put_one_in" ] = 0
849856 if dest_params .get ("disable_wal" , 0 ) == 1 :
850857 dest_params ["atomic_flush" ] = 1
851858 dest_params ["sync" ] = 0
0 commit comments