Skip to content
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

[openshift-4.4] Bug 1815637: bump etcd v3.3.19 #40

Closed
wants to merge 38 commits into from

Conversation

hexfusion
Copy link

@hexfusion hexfusion commented Mar 20, 2020

This PR bumps etcd to v3.3.19 which includes a few important bugfixes:

etcd server

client v3

gRPC Proxy

Full 3.3.19 changelog: https://github.com/etcd-io/etcd/blob/master/CHANGELOG-3.3.md#v3319-2020-03-18

horkhe and others added 22 commits November 20, 2019 16:45
Once chk(ai) fails with auth.ErrAuthOldRevision it will always do,
regardless how many times you retry. So the error is better be returned
to fail the pending request and make the client re-authenticate.
Remove auth validation loop in v3_server.raftRequest(). Re-validation
when error ErrAuthOldRevision occurs should be handled on client side.
Disable TestV3AuthOldRevConcurrent for now. See
etcd-io#10468 (comment)
…f-#10218-etcd-io#10468-upstream-release-3.3

Automated cherry pick of etcd-io#10218 etcd-io#10468 on release 3.3
…-#11613-origin-release-3.3

Automated cherry pick of etcd-io#11613 to release-3.3
Check if boltOpenOptions is nil before use it.
…f-#11630-upstream-release-3.3

Automated cherry pick of etcd-io#11630 to release-3.3
Use members information from member add response, which is
guaranteed to be up to date.
…f-#11638-upstream-release-3.3

Automated cherry pick of etcd-io#11638 on release-3.3
Signed-off-by: Sam Batschelet <sbatsche@redhat.com>
ref.
etcd-io#11704

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
ref.
etcd-io#11687

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>

clientv3: fix racy writes to context key

=== RUN   TestWatchOverlapContextCancel

==================

WARNING: DATA RACE

Write at 0x00c42110dd40 by goroutine 99:

  runtime.mapassign()

      /usr/local/go/src/runtime/hashmap.go:485 +0x0

  github.com/coreos/etcd/clientv3.metadataSet()

      /go/src/github.com/coreos/etcd/gopath/src/github.com/coreos/etcd/clientv3/ctx.go:61 +0x8c

  github.com/coreos/etcd/clientv3.withVersion()

      /go/src/github.com/coreos/etcd/gopath/src/github.com/coreos/etcd/clientv3/ctx.go:47 +0x137

  github.com/coreos/etcd/clientv3.newStreamClientInterceptor.func1()

      /go/src/github.com/coreos/etcd/gopath/src/github.com/coreos/etcd/clientv3/client.go:309 +0x81

  google.golang.org/grpc.NewClientStream()

      /go/src/github.com/coreos/etcd/gopath/src/google.golang.org/grpc/stream.go:101 +0x10e

  github.com/coreos/etcd/etcdserver/etcdserverpb.(*watchClient).Watch()

      /go/src/github.com/coreos/etcd/gopath/src/github.com/coreos/etcd/etcdserver/etcdserverpb/rpc.pb.go:3193 +0xe9

  github.com/coreos/etcd/clientv3.(*watchGrpcStream).openWatchClient()

      /go/src/github.com/coreos/etcd/gopath/src/github.com/coreos/etcd/clientv3/watch.go:788 +0x143

  github.com/coreos/etcd/clientv3.(*watchGrpcStream).newWatchClient()

      /go/src/github.com/coreos/etcd/gopath/src/github.com/coreos/etcd/clientv3/watch.go:700 +0x5c3

  github.com/coreos/etcd/clientv3.(*watchGrpcStream).run()

      /go/src/github.com/coreos/etcd/gopath/src/github.com/coreos/etcd/clientv3/watch.go:431 +0x12b

Previous read at 0x00c42110dd40 by goroutine 130:

  reflect.maplen()

      /usr/local/go/src/runtime/hashmap.go:1165 +0x0

  reflect.Value.MapKeys()

      /usr/local/go/src/reflect/value.go:1090 +0x43b

  fmt.(*pp).printValue()

      /usr/local/go/src/fmt/print.go:741 +0x1885

  fmt.(*pp).printArg()

      /usr/local/go/src/fmt/print.go:682 +0x1b1

  fmt.(*pp).doPrintf()

      /usr/local/go/src/fmt/print.go:998 +0x1cad

  fmt.Sprintf()

      /usr/local/go/src/fmt/print.go:196 +0x77

  github.com/coreos/etcd/clientv3.streamKeyFromCtx()

      /go/src/github.com/coreos/etcd/gopath/src/github.com/coreos/etcd/clientv3/watch.go:825 +0xc8

  github.com/coreos/etcd/clientv3.(*watcher).Watch()

      /go/src/github.com/coreos/etcd/gopath/src/github.com/coreos/etcd/clientv3/watch.go:265 +0x426

  github.com/coreos/etcd/clientv3/integration.testWatchOverlapContextCancel.func1()

      /go/src/github.com/coreos/etcd/gopath/src/github.com/coreos/etcd/clientv3/integration/watch_test.go:959 +0x23e

Goroutine 99 (running) created at:

  github.com/coreos/etcd/clientv3.(*watcher).newWatcherGrpcStream()

      /go/src/github.com/coreos/etcd/gopath/src/github.com/coreos/etcd/clientv3/watch.go:236 +0x59d

  github.com/coreos/etcd/clientv3.(*watcher).Watch()

      /go/src/github.com/coreos/etcd/gopath/src/github.com/coreos/etcd/clientv3/watch.go:278 +0xbb6

  github.com/coreos/etcd/clientv3/integration.testWatchOverlapContextCancel.func1()

      /go/src/github.com/coreos/etcd/gopath/src/github.com/coreos/etcd/clientv3/integration/watch_test.go:959 +0x23e

Goroutine 130 (running) created at:

  github.com/coreos/etcd/clientv3/integration.testWatchOverlapContextCancel()

      /go/src/github.com/coreos/etcd/gopath/src/github.com/coreos/etcd/clientv3/integration/watch_test.go:979 +0x76d

  github.com/coreos/etcd/clientv3/integration.TestWatchOverlapContextCancel()

      /go/src/github.com/coreos/etcd/gopath/src/github.com/coreos/etcd/clientv3/integration/watch_test.go:922 +0x44

  testing.tRunner()

      /usr/local/go/src/testing/testing.go:657 +0x107

==================

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
ref.
etcd-io#11687

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
This reverts commit 3f6b978.
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
This reverts commit acb9746.
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
@openshift-ci-robot
Copy link

@hexfusion: No Bugzilla bug is referenced in the title of this pull request.
To reference a bug, add 'Bug XXX:' to the title of this pull request and request another bug refresh with /bugzilla refresh.

In response to this:

[openshift-4.4] bump etcd v3.3.19

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@openshift-ci-robot
Copy link

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: hexfusion

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci-robot openshift-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Mar 20, 2020
@hexfusion hexfusion changed the title [openshift-4.4] bump etcd v3.3.19 [wip] [openshift-4.4] bump etcd v3.3.19 Mar 20, 2020
@openshift-ci-robot
Copy link

@hexfusion: No Bugzilla bug is referenced in the title of this pull request.
To reference a bug, add 'Bug XXX:' to the title of this pull request and request another bug refresh with /bugzilla refresh.

In response to this:

[wip] [openshift-4.4] bump etcd v3.3.19

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@openshift-ci-robot openshift-ci-robot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Mar 20, 2020
@hexfusion hexfusion force-pushed the openshift-4.4-bump-etcd-v3.3.19 branch from 0430519 to b44f57e Compare March 21, 2020 00:36
@hexfusion
Copy link
Author

hexfusion commented Mar 21, 2020

level=fatal msg="failed to fetch Cluster: failed to fetch dependency of "Cluster": failed to generate asset "Platform Permissions Check": validate AWS credentials: checking install permissions: error simulating policy: Throttling: Rate exceeded\n\tstatus code: 400, request id: c33e690c-1c03-468c-8cf7-359a1d476f8a"

/retest

@hexfusion
Copy link
Author

/retest

@hexfusion
Copy link
Author

hexfusion commented Mar 21, 2020

retesting everything
/test all

@hexfusion
Copy link
Author

/test e2e-gcp-upgrade

@hexfusion
Copy link
Author

one more run
/test all

@hexfusion
Copy link
Author

--- FAIL: TestRoundRobinBalancedResolvableFailoverFromRequestFail (0.04s)
balancer_test.go:308: expected balanced loads for 20 requests, got switches 3

I have seen this before

/test unit

@hexfusion
Copy link
Author

/test e2e-gcp-upgrade

@hexfusion
Copy link
Author

more soak
/test all

@hexfusion
Copy link
Author

one more last was all green

/test all

@hexfusion
Copy link
Author

@sdodson
Copy link
Member

sdodson commented Mar 25, 2020

Sorry for silly first time looking at this repo questions, but are we forked from upstream or does this match upstream 3.3.19 exactly?

@hexfusion
Copy link
Author

we are forked from upstream regarding the repo. the branch is rebased against the upstream v3.3.19 tag. So we are carrying some patches (not to etcd) on top of v3.3.19.

@hexfusion
Copy link
Author

/test e2e-gcp-upgrade

@hexfusion
Copy link
Author

fail [github.com/openshift/origin/test/extended/util/disruption/disruption.go:226]: Mar 25 22:04:35.476: API was unreachable during disruption for at least 8m38s of 34m35s (25%):

.. wow
/test e2e-gcp-upgrade

@hexfusion
Copy link
Author

/retest

@hexfusion
Copy link
Author

/hold
wait for GA

@openshift-ci-robot openshift-ci-robot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Mar 27, 2020
@hexfusion
Copy link
Author

soak

/test all

@hexfusion
Copy link
Author

/test e2e-aws-upgrade

@hexfusion
Copy link
Author

this is continued on #45

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. bugzilla/invalid-bug Indicates that a referenced Bugzilla bug is invalid for the branch this PR is targeting. cherry-pick-approved Indicates a cherry-pick PR into a release branch has been approved by the release branch manager. do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command.
Projects
None yet
Development

Successfully merging this pull request may close these issues.