You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently compaction group configs are persisted in meta store and will be restored on meta restart. We have met issues related to how default values are determined:
For newly added configs, we currently cannot differentiate default value and missing values. For example, the newly added enable_emergecy_picker and tombstone_recliam_ratio configs on existing compaction groups will be interpreted as false and 0, which can cause unexpected behavior after version upgrade.
For configs with changed default values, we currently cannot handle as well because we cannot differentiate whether user has explicitly configured the field. For example, the default value of level0_stop_write_threshold_sub_level_number has changed from 1000 to 300 but existing compaction groups won't adopt this default value changes even though user hasn't explicitly configured it.
The solution is quite simple: we should use the optional keyword in compaction group config proto so that we can perform presence check
If a field is none (absent), use default value
If a field is set, use the persisted value
The text was updated successfully, but these errors were encountered:
Currently compaction group configs are persisted in meta store and will be restored on meta restart. We have met issues related to how default values are determined:
enable_emergecy_picker
andtombstone_recliam_ratio
configs on existing compaction groups will be interpreted asfalse
and0
, which can cause unexpected behavior after version upgrade.level0_stop_write_threshold_sub_level_number
has changed from1000
to300
but existing compaction groups won't adopt this default value changes even though user hasn't explicitly configured it.The solution is quite simple: we should use the
optional
keyword in compaction group config proto so that we can perform presence checkThe text was updated successfully, but these errors were encountered: