-
Notifications
You must be signed in to change notification settings - Fork 555
db: introduce Pebble-specific sstable versioning scheme #1409
Description
Both cockroachdb/cockroach#73485 and cockroachdb/cockroach#73708 revealed incompatibilities between the sstable format and the Pebble binary version. Specifically, older versions of Pebble cannot parse ssatbles with index entries containing block property information.
While this was temporarily fixed on the Cockroach side via cockroachdb/cockroach#73765, we need to address this on the Pebble side, both for block properties, but also the upcoming range key feature (tracking via #1339).
Given that the SST format has diverged sufficiently from the Rockdbv2 format with the addition of the block properties and range keys, it makes sense to consider introducing a Pebble-specific versioning scheme. Such a scheme would most likely need to change the magic number in the SST footer, and make use of a version number (Pebble knows about Rocks versions 1 and 2, for example).