mirror of https://github.com/facebook/rocksdb.git
4b1d595306
Summary: `ignore_unknown_options=true` had an undocumented behavior of having no effect (disallow unknown options) if reading from the same or older major.minor version. Presumably this was intended to catch unintentional addition of new options in a patch release, but there is no automated version compatibility testing between patch releases. So this was a bad choice without such testing support, because it just means users would hit the failure in case of adding features to a patch release. In this diff we respect ignore_unknown_options when reading a file from any newer version, even patch versions, and document this behavior in the API. I don't think it's practical or necessary to test among patch releases in check_format_compatible.sh. This seems like an exceptional case of applying a *different semantics* to patch version updates than to minor/major versions. Pull Request resolved: https://github.com/facebook/rocksdb/pull/12989 Test Plan: unit test updated (and refactored) Reviewed By: jaykorean Differential Revision: D62168738 Pulled By: pdillinger fbshipit-source-id: fb3c3ef30f0bbad0d5ffcc4570fb9ef963e7daac |
||
---|---|---|
.. | ||
cf_options.cc | ||
cf_options.h | ||
configurable.cc | ||
configurable_helper.h | ||
configurable_test.cc | ||
configurable_test.h | ||
customizable.cc | ||
customizable_test.cc | ||
db_options.cc | ||
db_options.h | ||
offpeak_time_info.cc | ||
offpeak_time_info.h | ||
options.cc | ||
options_helper.cc | ||
options_helper.h | ||
options_parser.cc | ||
options_parser.h | ||
options_settable_test.cc | ||
options_test.cc |