Skip to content

clusterversion: tracking issue for improvements and cleanup #112629

@RaduBerinde

Description

@RaduBerinde
  • Use an array for the versions table ([numKeys]roachpb.Version) for cleaner definitions (and fast lookup)
  • Deprecate ByKey() in favor of a Key.Version() method (to avoid the annoying clusterversion.ByKey(clusterversion.VFoo)
  • Separate the DevOffset code to a different file, improve documentation
  • Rename BinaryVersion to Latest, MinBinarySupportedVersion to MinSupported
  • In VersionHandle rename binaryVersion to maxVersion and binaryMinSupportedVersion to minVersion
  • Remove TestingBinaryVersion etc
  • Rework scheme for intermediary versions: clusterversion: rework scheme for intermediary versions #112708 [too disruptive]
  • Make tests around upgrade that check an expected version only look at the release series part (so they don't need fixing when we mint a final version)
  • Adjust cockroach cli initialization use the previous release instead of MinSupported unless skipping is enabled via env var; update upgrade roachtests
  • Add a special nightly build that runs unit tests with MinSupported bumped up (using a build tag) [not worth triaging test failures from flaky tests]
  • Make a command that can dump new "initial values" files (for pkg/sql/catalog/bootstrap/data/)
  • Avoid unmarshaling in the IsActive hot path (clusterversion: proto Unmarshal on each version check #113385)

And, after a good chunk of these are done:

  • Update/rewrite the release runbooks as an md file in the repo.

Jira issue: CRDB-32524

Metadata

Metadata

Assignees

Labels

C-enhancementSolution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions