Sync etcd 3.2.17+dfsg-1 (universe) from Debian unstable (main)

Bug #1757350 reported by Anthony Fok
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
etcd (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Please sync etcd 3.2.17+dfsg-1 (universe) from Debian unstable (main)

This version fixes FTBFS problems with etcd 3.2.9+dfsg-3
and other packages that Build-Depends on it, especially:

    src:docker.io
    src:docker-libkv
    src:golang-github-docker-libnetwork
    src:golang-github-spf13-viper
    src:golang-github-xordataexchange-crypt
    src:skydns

See https://bugs.debian.org/890939 for more information.

(Prerequisites: LP:1757351, and _maybe_ LP:1757452)

Changelog entries since current bionic version 3.2.9+dfsg-3:

etcd (3.2.17+dfsg-1) unstable; urgency=medium

  * New upstream release.
  * Fix FTBFS:
     - New upstream release contains regenerated gRPC *.pb.go and *.pb.gw.po
       files (since etcd 3.2.10) which build correctly with the updated gPRC
       packages in Debian.
     - Add "export DH_GOLANG_GO_GENERATE := 1" to debian/rules
       to fix FTBFS by re-generating keys.generated.go at build time
       with the same version of codecgen as golang-github-ugorji-go-codec-dev.
       See also https://github.com/coreos/etcd/issues/8715.
     - Add "Depends: golang-github-ugorji-go-codec" to have codecgen available
       at build time.
    (Closes: #890939)
  * Depend on golang-github-coreos-bbolt-dev, replacing
    golang-github-boltdb-bolt-dev, to "address backend database size
    issue" (since etcd 3.2.10)
  * Revert incoming-outgoing-context.patch (commit 5e059fd from upstream)
    which has been backported upstream in commit d62e39d from v3.3 branch
    to v3.2 branch since etcd 3.2.10
  * Add match-ugorji-go-codec-native-time.Time-support.patch, which updates
    etcd/client/keys{,_test}.go to match the latest
    golang-github-ugorji-go-codec-dev to prevent a new "cannot use
    x.Expiration (type *time.Time) as type time.Time in argument to
    r.encDriver.EncodeTime" error, see https://github.com/ugorji/go/issues/224
    and https://github.com/ugorji/go/commit/8badb25.
  * Apply "cme fix dpkg" to debian/control,
    bumping Standards-Version to 4.1.3, setting Priority to optional,
    and adding Testsuite: autopkgtest-pkg-go, etc.
  * Add myself to the list of Uploaders

 -- Anthony Fok <email address hidden> Fri, 16 Mar 2018 18:20:05 -0600

Revision history for this message
Simon Quigley (tsimonq2) wrote :

Does this need to be a Feature Freeze Exception? Could you please give more details as to what the new upstream release contains?

Thanks.

Revision history for this message
Anthony Fok (foka) wrote :
Download full text (9.5 KiB)

Hi Simon!

> Does this need to be a Feature Freeze Exception?

Good question! It might need it, or might not; it is a bit of a borderline case.

I presume the changes from v3.2.9 to v3.2.17 contain mostly bugfixes, as new features are being added to the new v3.3.x branch.

> Could you please give more details as to what the new upstream release contains?

Most certainly! From https://github.com/coreos/etcd/blob/master/CHANGELOG-3.2.md:

## [v3.2.17](https://github.com/coreos/etcd/releases/tag/v3.2.17) (2018-03-08)

See [code changes](https://github.com/coreos/etcd/compare/v3.2.16...v3.2.17) and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md) for any breaking changes.

### Fixed: v2

- Fix [v2 proxy leaky HTTP requests](https://github.com/coreos/etcd/pull/9336).

### Fixed: v3

- Fix [server panic on invalid Election Proclaim/Resign HTTP(S) requests](https://github.com/coreos/etcd/pull/9379).
  - Previously, wrong-formatted HTTP requests to Election API could trigger panic in etcd server.
  - e.g. `curl -L http://localhost:2379/v3/election/proclaim -X POST -d '{"value":""}'`, `curl -L http://localhost:2379/v3/election/resign -X POST -d '{"value":""}'`.
- Prevent [overflow by large `TTL` values for `Lease` `Grant`](https://github.com/coreos/etcd/pull/9399).
  - `TTL` parameter to `Grant` request is unit of second.
  - Leases with too large `TTL` values exceeding `math.MaxInt64` [expire in unexpected ways](https://github.com/coreos/etcd/issues/9374).
  - Server now returns `rpctypes.ErrLeaseTTLTooLarge` to client, when the requested `TTL` is larger than *9,000,000,000 seconds* (which is >285 years).
  - Again, etcd `Lease` is meant for short-periodic keepalives or sessions, in the range of seconds or minutes. Not for hours or days!
- Enable etcd server [`raft.Config.CheckQuorum` when starting with `ForceNewCluster`](https://github.com/coreos/etcd/pull/9347).

### Go

- Compile with [*Go 1.8.7*](https://golang.org/doc/devel/release.html#go1.8).

## [v3.2.16](https://github.com/coreos/etcd/releases/tag/v3.2.16) (2018-02-12)

See [code changes](https://github.com/coreos/etcd/compare/v3.2.15...v3.2.16) and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md) for any breaking changes.

### Fixed: v3

- Fix [`mvcc` "unsynced" watcher restore operation](https://github.com/coreos/etcd/pull/9297).
  - "unsynced" watcher is watcher that needs to be in sync with events that have happened.
  - That is, "unsynced" watcher is the slow watcher that was requested on old revision.
  - "unsynced" watcher restore operation was not correctly populating its underlying watcher group.
  - Which possibly causes [missing events from "unsynced" watchers](https://github.com/coreos/etcd/issues/9086).

### Go

- Compile with [*Go 1.8.5*](https://golang.org/doc/devel/release.html#go1.8).

## [v3.2.15](https://github.com/coreos/etcd/releases/tag/v3.2.15) (2018-01-22)

See [code changes](https://github.com/coreos/etcd/compare/v3.2.14...v3.2.15) and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md) for any breaking ch...

Read more...

Revision history for this message
Anthony Fok (foka) wrote :

Hi again, Simon!

Oops, I guess raw Markdown is somewhat difficult to read too, at least for me. :-)

It might be easier to view directly on https://github.com/coreos/etcd/blob/master/CHANGELOG-3.2.md

As expected, going from v3.2.9 to v3.2.17, most changes are fixes (under the "Fixed" headings), "Dependency" updates (irrelevant to us because we do not used the Go vendored libraries), "Security, Authentication" (which are also fixes?) and "Documentation". The exceptions are:

In v3.2.14:
  Improved
   * Log user context cancel errors on stream APIs in debug level.

In v3.2.12:

  Added: clientv3
   * Add MaxCallSendMsgSize and MaxCallRecvMsgSize fields to
     clientv3.Config.
      + Fix exceeded response size limit error in client-side.
      + Address kubernetes#51099.
         - In previous versions(v3.2.10, v3.2.11), client response size
           was limited to only 4 MiB.
      + MaxCallSendMsgSize default value is 2 MiB, if not configured.
      + MaxCallRecvMsgSize default value is math.MaxInt32, if not
        configured.

So, even the "Improved" and "Added" stuff look like fixes to me.

That said, I do not know where to draw the line, so if you think it needs a Feature Freeze Exception, please let me know, or, if you prefer, changes this to a FFe for me. :-)

Many thanks for your help!

description: updated
Revision history for this message
Simon Quigley (tsimonq2) wrote :

I'll call this good. :)

Revision history for this message
Simon Quigley (tsimonq2) wrote :

This bug was fixed in the package etcd - 3.2.17+dfsg-1
Sponsored for Anthony Fok (foka)

---------------
etcd (3.2.17+dfsg-1) unstable; urgency=medium

  * New upstream release.
  * Fix FTBFS:
     - New upstream release contains regenerated gRPC *.pb.go and *.pb.gw.po
       files (since etcd 3.2.10) which build correctly with the updated gPRC
       packages in Debian.
     - Add "export DH_GOLANG_GO_GENERATE := 1" to debian/rules
       to fix FTBFS by re-generating keys.generated.go at build time
       with the same version of codecgen as golang-github-ugorji-go-codec-dev.
       See also https://github.com/coreos/etcd/issues/8715.
     - Add "Depends: golang-github-ugorji-go-codec" to have codecgen available
       at build time.
    (Closes: #890939)
  * Depend on golang-github-coreos-bbolt-dev, replacing
    golang-github-boltdb-bolt-dev, to "address backend database size
    issue" (since etcd 3.2.10)
  * Revert incoming-outgoing-context.patch (commit 5e059fd from upstream)
    which has been backported upstream in commit d62e39d from v3.3 branch
    to v3.2 branch since etcd 3.2.10
  * Add match-ugorji-go-codec-native-time.Time-support.patch, which updates
    etcd/client/keys{,_test}.go to match the latest
    golang-github-ugorji-go-codec-dev to prevent a new "cannot use
    x.Expiration (type *time.Time) as type time.Time in argument to
    r.encDriver.EncodeTime" error, see https://github.com/ugorji/go/issues/224
    and https://github.com/ugorji/go/commit/8badb25.
  * Apply "cme fix dpkg" to debian/control,
    bumping Standards-Version to 4.1.3, setting Priority to optional,
    and adding Testsuite: autopkgtest-pkg-go, etc.
  * Add myself to the list of Uploaders

 -- Anthony Fok <email address hidden> Fri, 16 Mar 2018 18:20:05 -0600

Changed in etcd (Ubuntu):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.