-
Notifications
You must be signed in to change notification settings - Fork 22
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
Bug 2077975: Merge upstream tag 'v3.4.19' into 4.8 #136
Conversation
In case of URLs that are synonyms, the current lexicographic sorting and compare of the URLs fails with frustrating errors. Make sure to do a full comparison between every set of PeerURLs before failing. Fixes etcd-io#11013
Use golang.org/x/sys/unix for F_OFD_* constants. This fixes the issue that F_OFD_GETLK was defined incorrectly, resulting in bugs such as moby/moby#31182 Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
[3.4 backport] pkg/fileutil: fix F_OFD_ constants
Signed-off-by: Sam Batschelet <sbatsche@redhat.com>
vendor: bump gorilla/websocket
This fixes etcd being unable to send any message longer than 64 KB as a notification over the websocket. This was because the older version of grpc-websocket-proxy was used and WithMaxRespBodyBufferSize option wasn't set.
etcdserver: Fix 64 KB websocket notification message limit
…de health check in debug level ref. etcd-io#12677 ref. etcd-io@0b9cfa8
[Backport-3.4] etcdserver/api/etcdhttp: log successful etcd server side health check in debug level
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
Signed-off-by: Sam Batschelet <sbatsche@redhat.com>
Manual cherry pick of etcd-io#12448 on release 3.4
There are situations where we don't wish to fsync but we do want to write the data. Typically this occurs in clusters where fsync latency (often the result of firmware) transiently spikes. For Kubernetes clusters this causes (many) elections which have knock-on effects such that the API server will transiently fail causing other components fail in turn. By writing the data (buffered and asynchronously flushed, so in most situations the write is fast) and avoiding the fsync we no longer trigger this situation and opportunistically write out the data. Anecdotally: Because the fsync is missing there is the argument that certain types of failure events will cause data corruption or loss, in testing this wasn't seen. If this was to occur the expectation is the member can be readded to a cluster or worst-case restored from a robust persisted snapshot. The etcd members are deployed across isolated racks with different power feeds. An instantaneous failure of all of them simultaneously is unlikely. Testing was usually of the form: * create (Kubernetes) etcd write-churn by creating replicasets of some 1000s of pods * break/fail the leader Failure testing included: * hard node power-off events * disk removal * orderly reboots/shutdown In all cases when the node recovered it was able to rejoin the cluster and synchronize.
When using --unsafe-no-fsync still write out the data
The integration jobs fail with timeouts slightly over 3s, increase this marginally so false failures are less prevalent.
integration: relax leader timeout from 3s to 4s
…tion etcdserver: Fix PeerURL validation
Manual cherry-pick of 9571325 for release-3.4.
etcdserver: fix incorrect metrics generated when clients cancel watches
As go 1.12.2 is what is tested in CI as well as recommended to be built with 1.12.2 we should also pin to this in the go directive version.
[release-3.4]: Pin go version in go.mod to 1.12
Currently in CI the tests are only run with go v1.12, this adds also go v1.15.11. Excludes certain variants for v1.15.
This patch is needed due to go 1.15 erroring on: "Setctty set but Ctty not valid in child".
Thanks a lot for reviewing this So this file was changed by a cherry-pick of a previous downstream commit I have merged the upstream tag into a branch checked out from 4.8. Resolving conflicts by taking upstream changes. Then cherry picked all downstream commit, resolving conflict by taking downstream changes. Then ran |
@tjungblu I just checked the file in my repo, so the import itself exists, but the function used from the lib does no longer exist :/ .. I think it is due to versions see https://pkg.go.dev/github.com/matgabriel/grpc-websocket-proxy/wsproxy#WithMaxRespBodyBufferSize |
May I suggest that we do rebases the same way the workloads team with o/k and k/k does? as in checking in the conflicts and their resolution as a separate commit - I can not tell whether we're missing an important carry patch from just the diff here. basically the script that Josef wrote does this, I think we should also use this here:
can that merge be correct then? I assume that the upstream release builds fine |
I am gonna check the import upstream But I dont understand, how to check-in conflicts ? :/ |
git will add merge markers like
just commit those as is, then resolve those conflicts in a separate commit. That makes reviewing this much easier. |
Shall I redo everything again :O |
@tjungblu I fixed the problem with vendor, used the same commit hash used upstream 3.4 branch for lib |
running
|
you need to point it to the vendor folder, as the build does:
|
@Elbehery: This pull request references Bugzilla bug 2077975, which is valid. The bug has been moved to the POST state. The bug has been updated to refer to the pull request using the external bug tracker. 6 validation(s) were run on this bug
Requesting review from QA contact: In response to this:
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
/label cherry-pick-approved
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: Elbehery, geliu2016 The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/retest-required |
@Elbehery: The following tests failed, say
Full PR test history. Your PR dashboard. 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. I understand the commands that are listed here. |
/close let's continue this with #150 |
@tjungblu: Closed this PR. In response to this:
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. |
@Elbehery: This pull request references Bugzilla bug 2077975. The bug has been updated to no longer refer to the pull request using the external bug tracker. In response to this:
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. |
This PR attempts to merge upstream
v3.14.19
tag into openshift-4.8.This PR is a result of the following steps
Dec 15, 2020
till the end