-
Notifications
You must be signed in to change notification settings - Fork 464
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
deprecate v1 format version #3064
Comments
CC @jbowens @sumeerbhola Please add your feedback. |
Thanks, this is very helpful. Regarding #1064, I think it would be reasonable to "stamp" the version that will go out with 23.2 as |
There’s also this release-engineering ticket where we were hoping to tie pebble tags to corresponding cockroach tags: https://cockroachlabs.atlassian.net/browse/RE-430 That might be a more convenient (for us) versioning scheme. |
The problem is that other users of the repo would expect semantic versioning, not sure how much the 2X.Y.Z scheme is of use to them. Note that the cockroach tags can be something like |
If we deprecate all format major versions smaller than There is this code that is a little worrisome because it defaults the sstable writer to Can anyone confirm that indeed 23.1+ will never have tables with format below |
This change deprecates all format versions below the 23.1 version, (which is `FormatFlushableIngest`). As part of this change, we remove all code that deals with split keys; further improvements will be made separately (e.g. to the truncation iterator). We also remove all code related to the `CURRENT` file. The plan is to merge this on master only after we tag a `v1.0.0` release, which will for now be the recommended version series for users other than CockroachDB. Informs cockroachdb#3064
This change deprecates all format versions below the 23.1 version, (which is `FormatFlushableIngest`). As part of this change, we remove all code that deals with split keys; further improvements will be made separately (e.g. to the truncation iterator). We also remove all code related to the `CURRENT` file. The plan is to merge this on master only after we tag a `v1.0.0` release, which will for now be the recommended version series for users other than CockroachDB. Informs cockroachdb#3064
This change deprecates all format versions below the 23.1 version, (which is `FormatFlushableIngest`). As part of this change, we remove all code that deals with split keys; further improvements will be made separately (e.g. to the truncation iterator). We also remove all code related to the `CURRENT` file. The plan is to merge this on master only after we tag a `v1.0.0` release, which will for now be the recommended version series for users other than CockroachDB. Informs cockroachdb#3064
This change deprecates all format versions below the 23.1 version, (which is `FormatFlushableIngest`). As part of this change, we remove all code that deals with split keys; further improvements will be made separately (e.g. to the truncation iterator). We also remove all code related to the `CURRENT` file. The plan is to merge this on master only after we tag a `v1.0.0` release, which will for now be the recommended version series for users other than CockroachDB. Informs cockroachdb#3064
This change deprecates all format versions below the 23.1 version, (which is `FormatFlushableIngest`). As part of this change, we remove all code that deals with split keys; further improvements will be made separately (e.g. to the truncation iterator). We also remove all code related to the `CURRENT` file. The plan is to merge this on master only after we tag a `v1.0.0` release, which will for now be the recommended version series for users other than CockroachDB. Informs cockroachdb#3064
This change deprecates all format versions below the 23.1 version, (which is `FormatFlushableIngest`). As part of this change, we remove all code that deals with split keys; further improvements will be made separately (e.g. to the truncation iterator). We also remove all code related to the `CURRENT` file. The plan is to merge this on master only after we tag a `v1.0.0` release, which will for now be the recommended version series for users other than CockroachDB. Informs cockroachdb#3064
This change deprecates all format versions below the 23.1 version, (which is `FormatFlushableIngest`). As part of this change, we remove all code that deals with split keys; further improvements will be made separately (e.g. to the truncation iterator). We also remove all code related to the `CURRENT` file. The plan is to merge this on master only after we tag a `v1.0.0` release, which will for now be the recommended version series for users other than CockroachDB. Informs cockroachdb#3064
This change deprecates all format versions below the 23.1 version, (which is `FormatFlushableIngest`). Consequently, we also deprecate sstable formats below `TableFormatPebblev1`. As part of this change, we remove code that deals with split keys; further simplifications will be made separately (e.g. to the truncation iterator). We also remove all code related to the `CURRENT` file. The plan is to merge this after we tag a `v1.0.0` release, which will for the time being be the recommended version series for users other than CockroachDB. Informs cockroachdb#3064
This change deprecates all format versions below the 23.1 version, (which is `FormatFlushableIngest`). Consequently, we also deprecate sstable formats below `TableFormatPebblev1`. As part of this change, we remove code that deals with split keys; further simplifications will be made separately (e.g. removing atomic unit logic, simplifying the truncation iterator). We also remove all code related to the `CURRENT` file. The plan is to merge this after we tag a `v1.0.0` release, which will for the time being be the recommended version series for users other than CockroachDB. Informs cockroachdb#3064
This change deprecates format versions below `FormatFlushableIngest` (the 23.1 version) and sstable formats below `TableFormatPebblev1`. As part of this change, we remove code that deals with split keys; further simplifications will be made separately (e.g. removing atomic unit logic, simplifying the truncation iterator). We also remove all code related to the `CURRENT` file. The plan is to merge this after we tag a `v1.0.0` release, which will for the time being be the recommended version series for users other than CockroachDB. Informs cockroachdb#3064
This change deprecates format versions below `FormatFlushableIngest` (the 23.1 version) and sstable formats below `TableFormatPebblev1`. As part of this change, we remove code that deals with split keys; further simplifications will be made separately (e.g. removing atomic unit logic, simplifying the truncation iterator). We also remove all code related to the `CURRENT` file. The plan is to merge this after we tag a `v1.0.0` release, which will for the time being be the recommended version series for users other than CockroachDB. Informs cockroachdb#3064
This change deprecates format versions below `FormatFlushableIngest` (the 23.1 version) and sstable formats below `TableFormatPebblev1`. As part of this change, we remove code that deals with split keys; further simplifications will be made separately (e.g. removing atomic unit logic, simplifying the truncation iterator). We also remove all code related to the `CURRENT` file. The plan is to merge this after we tag a `v1.0.0` release, which will for the time being be the recommended version series for users other than CockroachDB. Informs cockroachdb#3064
This change deprecates format versions below `FormatFlushableIngest` (the 23.1 version) and sstable formats below `TableFormatPebblev1`. As part of this change, we remove code that deals with split keys; further simplifications will be made separately (e.g. removing atomic unit logic, simplifying the truncation iterator). We also remove all code related to the `CURRENT` file. The plan is to merge this after we tag a `v1.0.0` release, which will for the time being be the recommended version series for users other than CockroachDB. Informs cockroachdb#3064
This change deprecates format versions below `FormatFlushableIngest` (the 23.1 version) and sstable formats below `TableFormatPebblev1`. As part of this change, we remove code that deals with split keys; further simplifications will be made separately (e.g. removing atomic unit logic, simplifying the truncation iterator). We also remove all code related to the `CURRENT` file. The plan is to merge this after we tag a `v1.0.0` release, which will for the time being be the recommended version series for users other than CockroachDB. Informs cockroachdb#3064
This change deprecates format versions below `FormatFlushableIngest` (the 23.1 version) and sstable formats below `TableFormatPebblev1`. As part of this change, we remove code that deals with split keys; further simplifications will be made separately (e.g. removing atomic unit logic, simplifying the truncation iterator). We also remove all code related to the `CURRENT` file. The plan is to merge this after we tag a `v1.0.0` release, which will for the time being be the recommended version series for users other than CockroachDB. Informs #3064
So far we have kept compatibility all the way back to RocksDB and the first versions. However, this comes with a burden - there is a lot of complicated code that is no longer necessary with newer formats (and which is undertested as a consequence). In particular, newer formats no longer have the split key issue, where different instances of the same user key can be split into adjacent SSTs.
In order to simplify our code and improve quality for the newer versions, we should stop supporting these old versions. Note that Cockroach 23.1 guarantees no split keys, even on clusters upgraded from older versions.
We should come up with a plan on how to do this so that other users of Pebble can migrate to the newer versions. I propose the following:
v1.0.0
release tag with thecrl-release-23.2
commit that goes out with 23.2. We can also release any updates in the 23.2 series as1.0.x
, which will be the most up-to-date version which still supportsv1
. In the short term, any users who need compatibility can just use this version.master
, clean up code2.x.y
, until we bump up the minimum supported format again (or modify the API in an incompatible manner).Jira issue: PEBBLE-83
The text was updated successfully, but these errors were encountered: