-
Notifications
You must be signed in to change notification settings - Fork 6.5k
Publish/support format_version=7, related enhancements #13713
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Summary: * Make new format_version=7 a supported setting. * Small change to handling of disabled compression in fv=7: use empty compression manager compatibility name. * Get rid of GetDefaultBuiltinCompressionManager() in public API because it could cause unexpected+unsafe schema change on a user's CompressionManager if built upon the default built-in manager and we add a new built-in schema. Now must be referenced by explicit compression schema version in the public API. (That notion was already exposed in compressed secondary cache API, for better or worse.) * Improve some error messages for compression misconfiguration * Improve testing with ObjectLibrary and CompressionManagers * Improve testing of compression_name table property in BlockBasedTableTest.BlockBasedTableProperties2 * Improve some comments Test Plan: existing and updated tests
@pdillinger has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
@@ -2365,10 +2368,49 @@ TEST_F(DBTest2, CompressionManagerCustomCompression) { | |||
ASSERT_EQ(Get("d").size(), kValueSize); | |||
ASSERT_EQ(Get("e").size(), kValueSize); | |||
|
|||
// TODO: mix of compatibility names in same DB | |||
// Add a file using mgr_bar |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Related to your previous PR - "...// Verify it was compressed with snappy" in line 2326 above should be with LZ4
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM - remember to check for format compatibility test job failure if any. Sometimes I also manually run db_crashtest.py across old and new binaries randomly
You also need to fix the tsan failure with your UT.
@pdillinger has updated the pull request. You must reimport the pull request before landing. |
@pdillinger has updated the pull request. You must reimport the pull request before landing. |
@pdillinger has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
@pdillinger merged this pull request in 78c83ac. |
Summary:
Test Plan: existing and updated tests. Notably, the crash test has already been running with (unpublished) format_version=7