Skip to content

etcd 3.3.16 is a bad release #11241

@jpbetz

Description

@jpbetz

I made a mistake during the 3.3.16 that cannot be cleanly recovered from. I intend to document in the CHANGELOG and send an email explaining that it is a bad release and release 3.3.17 to replace it.

What went wrong:

  • I accidentally tagged the wrong commit when releasing but did not realize it until etcd 3.3.16 reports incorrect version #11230 was reported. By this time I had submitted a Kubernetes PR to depend on etcd 3.3.16 (for the client source) and Kubernetes CI jobs, which use go mod proxies, had run against 3.3.16.
  • I attempted to correct this by retaging a corrected commit and continuing the release. This was a mistake.
  • etcd 3.3.16 reports incorrect version #11230 was reported. Attempting to update kubernetes to use the sha of the commit the git tag was moved to was determined to be unsafe. go mod proxies cache the source for a version and are designed to ensure that the same source is always provided for the same version tag. We revered the etcd upgrade in kubernetes and decided to wait until we have a clean etcd 3.3.17 release to upgrade again.

Since the 3.3.16 release binaries and docker images are already published, we will not remove them. They contain no code defects, but we wish to discourage their use since the release is bad.

Source dependencies to 3.3.16 are unsafe since go mod with proxies may return a different hash than go mod without a proxy.

Follow ups:

  • Add release script check to verify that the version/version.go file contains the expected version, that the git tag also matches this version and that the git tag is on the correct release branch
  • Improve release script to check that version of build artifacts match the expected release version
  • Publish etcd 3.3.17

Appreciate everyone's patience while we sort this out.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions