Skip to content

Commit b484db1

Browse files
committed
PSTRESS-160: Improve generate_rocksdb_options.sh
Improve `generate_rocksdb_options.sh` for - `rocksdb_max_total_wal_size` - `rocksdb_debug_cardinality_multiplier`
1 parent def715f commit b484db1

File tree

2 files changed

+61
-62
lines changed

2 files changed

+61
-62
lines changed

pstress/generate_rocksdb_options.sh

Lines changed: 29 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -74,13 +74,17 @@ sed -i 1d $TEMP_FILE
7474

7575
# List of rocksdb variables which must not be changed.
7676
EXCLUDED_LIST=(
77+
rocksdb_enable_pipelined_write # with rocksdb_two_write_queues=OFF: MemTableInserter::MarkCommit(const rocksdb::Slice&): Assertion `!write_after_commit_ || log_number_ref_ > 0' failed.
78+
rocksdb_write_policy # Status: Not implemented: WriteCommitted txn tag when write_before_prepare_ is enabled (in WriteUnprepared mode). If it is not due to corruption, the WAL must be emptied before changing the WritePolicy.
79+
# Status: Not implemented: WriteCommitted txn tag when write_after_commit_ is disabled (in WritePrepared/WriteUnprepared mode). If it is not due to corruption, the WAL must be emptied before changing the WritePolicy.'
80+
rocksdb_error_if_exists # Status: Invalid argument: ./.rocksdb: exists (error_if_exists is true)
7781
rocksdb_protection_bytes_per_key # WriteBatch::WriteBatch(size_t, size_t, size_t, size_t): Assertion `protection_bytes_per_key == 0 || protection_bytes_per_key == 8' failed.
7882
rocksdb_no_block_cache # Status Code: 4, Status: Invalid argument: Enable cache_index_and_filter_blocks, , but block cache is disabled'
7983
rocksdb_create_if_missing # Status Code: 4, Status: Invalid argument: ./.rocksdb/CURRENT: does not exist (create_if_missing is false)
8084
rocksdb_write_batch_max_bytes # ERROR HY000: Status error 10 received from RocksDB: Operation aborted: Memory limit reached.
8185
rocksdb_fs_uri # Custom filesystem URI
8286
rocksdb_cancel_manual_compactions # just a trigger
83-
rocksdb_disable_instant_ddl
87+
rocksdb_disable_instant_ddl # deprecated
8488
rocksdb_io_error_action
8589
rocksdb_corrupt_data_action
8690
rocksdb_invalid_create_option_action
@@ -123,13 +127,31 @@ while read line; do
123127
fi
124128
if [[ " ${EXCLUDED_LIST[@]} " =~ " ${COMMAND} " ]]; then
125129
echoit "Option '$OPTION' is logically excluded from being handled by this script..."
126-
elif [[ "$COMMAND" == "rocksdb_persistent_cache_size_mb" ]]; then
130+
elif [[ "$COMMAND" == "rocksdb_rate_limiter_bytes_per_sec" ]]; then
127131
echoit " > Adding possible values for option '${OPTION}' to the final list..."
128-
echo "$OPTION=100 --loose-rocksdb_persistent_cache_path=." >> $OUTPUT_FILE
129-
echo "$OPTION=254 --loose-rocksdb_persistent_cache_path=." >> $OUTPUT_FILE
130-
echo "$OPTION=1023 --loose-rocksdb_persistent_cache_path=." >> $OUTPUT_FILE
131-
echo "$OPTION=2047 --loose-rocksdb_persistent_cache_path=." >> $OUTPUT_FILE
132-
echo "$OPTION=4096 --loose-rocksdb_persistent_cache_path=." >> $OUTPUT_FILE
132+
for value in 0 4k 256k 16m 1g 64g; do
133+
echo "$OPTION=$value" >> "$OUTPUT_FILE"
134+
done
135+
elif [[ "$COMMAND" == "rocksdb_merge_buf_size" ]]; then
136+
echoit " > Adding possible values for option '${OPTION}' to the final list..."
137+
for value in 4k 16k 64k 256k 1m 4m 16m 64m 256m 1g; do
138+
echo "$OPTION=$value" >> "$OUTPUT_FILE"
139+
done
140+
elif [[ "$COMMAND" == "rocksdb_manifest_preallocation_size" ]]; then
141+
echoit " > Adding possible values for option '${OPTION}' to the final list..."
142+
for value in 0 4k 32k 256k 2m 16m 128m 1g; do
143+
echo "$OPTION=$value" >> "$OUTPUT_FILE"
144+
done
145+
elif [[ "$COMMAND" == "rocksdb_max_total_wal_size" ]]; then
146+
echoit " > Adding possible values for option '${OPTION}' to the final list..."
147+
for value in 0 4k 32k 256k 2m 16m 128m 1g 8g 64g; do
148+
echo "$OPTION=$value" >> "$OUTPUT_FILE"
149+
done
150+
elif [[ "$COMMAND" == "rocksdb_persistent_cache_size_mb" ]]; then
151+
echoit " > Adding possible values for option '${OPTION}' to the final list..."
152+
for value in 100 254 1023 2047 4096; do
153+
echo "$OPTION=$value --loose-rocksdb_persistent_cache_path=." >> "$OUTPUT_FILE"
154+
done
133155
elif [[ "$COMMAND" == "rocksdb_access_hint_on_compaction_start" ]]; then
134156
echoit " > Adding possible values NONE, NORMAL, SEQUENTIAL, WILLNEED for option '${OPTION}' to the final list..."
135157
echo "$OPTION=NONE" >> $OUTPUT_FILE
@@ -140,11 +162,6 @@ while read line; do
140162
echoit " > Adding possible values kBinarySearch, kHashSearch for option '${OPTION}' to the final list..."
141163
echo "$OPTION=kBinarySearch" >> $OUTPUT_FILE
142164
echo "$OPTION=kHashSearch --loose-rocksdb_default_cf_options=prefix_extractor=capped:12" >> $OUTPUT_FILE
143-
elif [[ "$COMMAND" == "rocksdb_write_policy" ]]; then
144-
echoit " > Adding possible values write_committed, write_prepared, write_unprepared for option '${OPTION}' to the final list..."
145-
echo "$OPTION=write_committed" >> $OUTPUT_FILE
146-
echo "$OPTION=write_prepared" >> $OUTPUT_FILE
147-
echo "$OPTION=write_unprepared" >> $OUTPUT_FILE
148165
elif [[ "$COMMAND" == "rocksdb_manual_compaction_bottommost_level" ]]; then
149166
echoit " > Adding possible values kSkip, kIfHaveCompactionFilter, kForce, kForceOptimized for option '${OPTION}' to the final list..."
150167
echo "$OPTION=kSkip" >> $OUTPUT_FILE
@@ -236,12 +253,6 @@ while read line; do
236253
echo "$OPTION=5000" >> $OUTPUT_FILE
237254
echo "$OPTION=1999999" >> $OUTPUT_FILE
238255
echo "$OPTION=2000000" >> $OUTPUT_FILE
239-
elif [[ "$COMMAND" == "rocksdb_enable_pipelined_write" ]]; then
240-
if [ "$VALUE" == "OFF" ]; then
241-
echo "$OPTION=ON --loose-rocksdb_two_write_queues=OFF" >> $OUTPUT_FILE
242-
else
243-
echo "$OPTION=OFF --loose-rocksdb_two_write_queues=OFF" >> $OUTPUT_FILE
244-
fi
245256
elif [[ "$COMMAND" == "rocksdb_write_disable_wal" || "$COMMAND" == "rocksdb_allow_mmap_writes" ]]; then
246257
if [ "$VALUE" == "OFF" ]; then
247258
echo "$OPTION=ON --loose-rocksdb_flush_log_at_trx_commit=0" >> $OUTPUT_FILE

pstress/rocksdb_options_8042.txt

Lines changed: 32 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -162,9 +162,8 @@
162162
--loose-rocksdb_deadlock_detect_depth=2047
163163
--loose-rocksdb_deadlock_detect_depth=2147483647
164164
--loose-rocksdb_deadlock_detect_depth=1125899906842624
165-
--loose-rocksdb_debug_cardinality_multiplier=0
166-
--loose-rocksdb_debug_cardinality_multiplier=2147483647
167165
--loose-rocksdb_debug_cardinality_multiplier=1
166+
--loose-rocksdb_debug_cardinality_multiplier=2147483647
168167
--loose-rocksdb_debug_cardinality_multiplier=12
169168
--loose-rocksdb_debug_cardinality_multiplier=24
170169
--loose-rocksdb_debug_cardinality_multiplier=254
@@ -273,15 +272,13 @@
273272
--loose-rocksdb_enable_instant_ddl_for_drop_index_changes=ON
274273
--loose-rocksdb_enable_instant_ddl_for_table_comment_changes=ON
275274
--loose-rocksdb_enable_iterate_bounds=OFF
276-
--loose-rocksdb_enable_pipelined_write=ON --loose-rocksdb_two_write_queues=OFF
277275
--loose-rocksdb_enable_remove_orphaned_dropped_cfs=OFF
278276
--loose-rocksdb_enable_thread_tracking=OFF
279277
--loose-rocksdb_enable_tmp_table=ON
280278
--loose-rocksdb_enable_ttl=OFF
281279
--loose-rocksdb_enable_ttl_read_filtering=OFF
282280
--loose-rocksdb_enable_udt_in_mem=ON
283281
--loose-rocksdb_enable_write_thread_adaptive_yield=ON
284-
--loose-rocksdb_error_if_exists=ON
285282
--loose-rocksdb_error_on_suboptimal_collation=ON
286283
--loose-rocksdb_file_checksums=CHECKSUMS_OFF
287284
--loose-rocksdb_file_checksums=CHECKSUMS_WRITE_ONLY
@@ -345,16 +342,13 @@
345342
--loose-rocksdb_log_file_time_to_roll=2147483647
346343
--loose-rocksdb_log_file_time_to_roll=1125899906842624
347344
--loose-rocksdb_manifest_preallocation_size=0
348-
--loose-rocksdb_manifest_preallocation_size=9223372036854775807
349-
--loose-rocksdb_manifest_preallocation_size=1
350-
--loose-rocksdb_manifest_preallocation_size=2
351-
--loose-rocksdb_manifest_preallocation_size=12
352-
--loose-rocksdb_manifest_preallocation_size=24
353-
--loose-rocksdb_manifest_preallocation_size=254
354-
--loose-rocksdb_manifest_preallocation_size=1023
355-
--loose-rocksdb_manifest_preallocation_size=2047
356-
--loose-rocksdb_manifest_preallocation_size=2147483647
357-
--loose-rocksdb_manifest_preallocation_size=1125899906842624
345+
--loose-rocksdb_manifest_preallocation_size=4k
346+
--loose-rocksdb_manifest_preallocation_size=32k
347+
--loose-rocksdb_manifest_preallocation_size=256k
348+
--loose-rocksdb_manifest_preallocation_size=2m
349+
--loose-rocksdb_manifest_preallocation_size=16m
350+
--loose-rocksdb_manifest_preallocation_size=128m
351+
--loose-rocksdb_manifest_preallocation_size=1g
358352
--loose-rocksdb_manual_compaction_bottommost_level=kSkip
359353
--loose-rocksdb_manual_compaction_bottommost_level=kIfHaveCompactionFilter
360354
--loose-rocksdb_manual_compaction_bottommost_level=kForce
@@ -479,23 +473,25 @@
479473
--loose-rocksdb_max_subcompactions=12
480474
--loose-rocksdb_max_subcompactions=24
481475
--loose-rocksdb_max_total_wal_size=0
482-
--loose-rocksdb_max_total_wal_size=18446744073709551615
483-
--loose-rocksdb_max_total_wal_size=1
484-
--loose-rocksdb_max_total_wal_size=2
485-
--loose-rocksdb_max_total_wal_size=12
486-
--loose-rocksdb_max_total_wal_size=24
487-
--loose-rocksdb_max_total_wal_size=254
488-
--loose-rocksdb_max_total_wal_size=1023
489-
--loose-rocksdb_max_total_wal_size=2047
490-
--loose-rocksdb_max_total_wal_size=2147483647
491-
--loose-rocksdb_max_total_wal_size=1125899906842624
492-
--loose-rocksdb_merge_buf_size=100
493-
--loose-rocksdb_merge_buf_size=18446744073709551615
494-
--loose-rocksdb_merge_buf_size=254
495-
--loose-rocksdb_merge_buf_size=1023
496-
--loose-rocksdb_merge_buf_size=2047
497-
--loose-rocksdb_merge_buf_size=2147483647
498-
--loose-rocksdb_merge_buf_size=1125899906842624
476+
--loose-rocksdb_max_total_wal_size=4k
477+
--loose-rocksdb_max_total_wal_size=32k
478+
--loose-rocksdb_max_total_wal_size=256k
479+
--loose-rocksdb_max_total_wal_size=2m
480+
--loose-rocksdb_max_total_wal_size=16m
481+
--loose-rocksdb_max_total_wal_size=128m
482+
--loose-rocksdb_max_total_wal_size=1g
483+
--loose-rocksdb_max_total_wal_size=8g
484+
--loose-rocksdb_max_total_wal_size=64g
485+
--loose-rocksdb_merge_buf_size=4k
486+
--loose-rocksdb_merge_buf_size=16k
487+
--loose-rocksdb_merge_buf_size=64k
488+
--loose-rocksdb_merge_buf_size=256k
489+
--loose-rocksdb_merge_buf_size=1m
490+
--loose-rocksdb_merge_buf_size=4m
491+
--loose-rocksdb_merge_buf_size=16m
492+
--loose-rocksdb_merge_buf_size=64m
493+
--loose-rocksdb_merge_buf_size=256m
494+
--loose-rocksdb_merge_buf_size=1g
499495
--loose-rocksdb_merge_combine_read_size=100
500496
--loose-rocksdb_merge_combine_read_size=18446744073709551615
501497
--loose-rocksdb_merge_combine_read_size=254
@@ -542,16 +538,11 @@
542538
--loose-rocksdb_pin_l0_filter_and_index_blocks_in_cache=OFF
543539
--loose-rocksdb_print_snapshot_conflict_queries=ON
544540
--loose-rocksdb_rate_limiter_bytes_per_sec=0
545-
--loose-rocksdb_rate_limiter_bytes_per_sec=9223372036854775807
546-
--loose-rocksdb_rate_limiter_bytes_per_sec=1
547-
--loose-rocksdb_rate_limiter_bytes_per_sec=2
548-
--loose-rocksdb_rate_limiter_bytes_per_sec=12
549-
--loose-rocksdb_rate_limiter_bytes_per_sec=24
550-
--loose-rocksdb_rate_limiter_bytes_per_sec=254
551-
--loose-rocksdb_rate_limiter_bytes_per_sec=1023
552-
--loose-rocksdb_rate_limiter_bytes_per_sec=2047
553-
--loose-rocksdb_rate_limiter_bytes_per_sec=2147483647
554-
--loose-rocksdb_rate_limiter_bytes_per_sec=1125899906842624
541+
--loose-rocksdb_rate_limiter_bytes_per_sec=4k
542+
--loose-rocksdb_rate_limiter_bytes_per_sec=256k
543+
--loose-rocksdb_rate_limiter_bytes_per_sec=16m
544+
--loose-rocksdb_rate_limiter_bytes_per_sec=1g
545+
--loose-rocksdb_rate_limiter_bytes_per_sec=64g
555546
--loose-rocksdb_read_free_rpl=OFF
556547
--loose-rocksdb_read_free_rpl=PK_SK
557548
--loose-rocksdb_read_free_rpl=PK_ONLY
@@ -740,6 +731,3 @@
740731
--loose-rocksdb_write_batch_flush_threshold=1125899906842624
741732
--loose-rocksdb_write_disable_wal=ON --loose-rocksdb_flush_log_at_trx_commit=0
742733
--loose-rocksdb_write_ignore_missing_column_families=ON
743-
--loose-rocksdb_write_policy=write_committed
744-
--loose-rocksdb_write_policy=write_prepared
745-
--loose-rocksdb_write_policy=write_unprepared

0 commit comments

Comments
 (0)