-
Notifications
You must be signed in to change notification settings - Fork 616
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
[18.09 backport] Fix update out of sequence and increase max recv gRPC message size for nodes and secrets #2900
[18.09 backport] Fix update out of sequence and increase max recv gRPC message size for nodes and secrets #2900
Conversation
Argh; I suspect this is running Go 1.13, and related to golang/go#34073 / golang/go#31859
|
Oh... the reverse; it's still on Go 1.10 😞 |
a60a21a
to
cde561a
Compare
rebased on top of #2836; marked as WIP and will rebase once that's merged |
cde561a
to
1539b14
Compare
Codecov Report
@@ Coverage Diff @@
## bump_v18.09 #2900 +/- ##
===============================================
- Coverage 61.79% 61.75% -0.04%
===============================================
Files 134 134
Lines 21869 21875 +6
===============================================
- Hits 13513 13508 -5
- Misses 6894 6912 +18
+ Partials 1462 1455 -7 |
Failure is a flaky test; #2559
I'll try restarting CI |
1539b14
to
7c20388
Compare
Signed-off-by: Olli Janatuinen <[email protected]> (cherry picked from commit 5f167ca) Signed-off-by: Sebastiaan van Stijn <[email protected]>
Signed-off-by: Drew Erny <[email protected]> (cherry picked from commit be26111) Signed-off-by: Sebastiaan van Stijn <[email protected]>
It is likely that a large portion of test flakiness, especially in CI, comes from the fact that swarmkit components under test are started in goroutines, but those goroutines never have an opportunity to run. This adds code ensuring those goroutines are scheduled and run, which should hopefully solve many inexplicably flaky tests. Additionally, increased test timeouts, to hopefully cover a few more flaky cases. Finally, removed direct use of the atomic package, in favor of less efficient but higher-level mutexes. Signed-off-by: Drew Erny <[email protected]> (cherry picked from commit 06a3566) Signed-off-by: Sebastiaan van Stijn <[email protected]>
gometalinter is deprecated, and golangci-lint is its recommended successor. This commit adds golangci-lint as the linter for swarmkit. In addition, golangci-lint found a few issues in the code that were not yet identified, and so those issues have been fixed. Signed-off-by: Drew Erny <[email protected]> (cherry picked from commit 27c2d27) Signed-off-by: Sebastiaan van Stijn <[email protected]>
Signed-off-by: nmengin <[email protected]> (cherry picked from commit 127e816) Signed-off-by: Sebastiaan van Stijn <[email protected]>
A simple but old error has recently become evident. Due to the fact that we read an object and then write it back across the boundaries of a transaction, it is possible for the task object to have changed in between transactions. This would cause the attempt to write out the old task to suffer an "Update out of sequence" error. This fix simply reads the latest version of the task back out within the boundary of a transaction to avoid the race. Signed-off-by: Drew Erny <[email protected]> (cherry picked from commit d68ac46) Signed-off-by: Sebastiaan van Stijn <[email protected]>
7c20388
to
bfce89e
Compare
rebased 👍 |
@dperny this one's green, and probably ready to go |
…v18.09) full diff: moby/swarmkit@142a737...5c86095 - moby/swarmkit#2892 [18.09 backport] Remove hardcoded IPAM config subnet value for ingress network - backport of moby/swarmkit#2890 Remove hardcoded IPAM config subnet value for ingress network - fixes [ENGORC-2651](https://docker.atlassian.net/browse/ENGORC-2651) - moby/swarmkit#2836 [18.09 backport] Switch to go 1.11 - backport of moby/swarmkit#2752 Switch to go 1.11 - moby/swarmkit#2901 [18.09 backport] Bump to golang 1.12.9 - backport of moby/swarmkit#2880 Bump to golang 1.12.9 - moby/swarmkit#2900 [18.09 backport] Fix update out of sequence and increase max recv gRPC message size for nodes and secrets - backport of moby/swarmkit#2762 Increased wait time on test utils WaitForCluster and WatchTaskCreate - backport of moby/swarmkit#2771 Allow using Configs as CredentialSpecs - **second commit only** (attempt to fix weirdly broken tests) - backport of moby/swarmkit#2808 Fix flaky tests - backport of moby/swarmkit#2866 Swap gometalinter for golangci-lint - backport of moby/swarmkit#2869 Increase max recv gRPC message size to initialize connection broker - related / similar to moby#38103 / docker-archive#102 cluster: set bigger grpc limit for array requests - related / similar to moby#39306 Increase max recv gRPC message size for nodes and secrets - fixes moby/swarmkit#2733 Error generated when messages size is too big - backport of moby/swarmkit#2870 Fix update out of sequence Signed-off-by: Sebastiaan van Stijn <[email protected]>
…v18.09) full diff: moby/swarmkit@142a737...5c86095 - moby/swarmkit#2892 [18.09 backport] Remove hardcoded IPAM config subnet value for ingress network - backport of moby/swarmkit#2890 Remove hardcoded IPAM config subnet value for ingress network - fixes [ENGORC-2651](https://docker.atlassian.net/browse/ENGORC-2651) - moby/swarmkit#2836 [18.09 backport] Switch to go 1.11 - backport of moby/swarmkit#2752 Switch to go 1.11 - moby/swarmkit#2901 [18.09 backport] Bump to golang 1.12.9 - backport of moby/swarmkit#2880 Bump to golang 1.12.9 - moby/swarmkit#2900 [18.09 backport] Fix update out of sequence and increase max recv gRPC message size for nodes and secrets - backport of moby/swarmkit#2762 Increased wait time on test utils WaitForCluster and WatchTaskCreate - backport of moby/swarmkit#2771 Allow using Configs as CredentialSpecs - **second commit only** (attempt to fix weirdly broken tests) - backport of moby/swarmkit#2808 Fix flaky tests - backport of moby/swarmkit#2866 Swap gometalinter for golangci-lint - backport of moby/swarmkit#2869 Increase max recv gRPC message size to initialize connection broker - related / similar to moby/moby#38103 / docker-archive/engine#102 cluster: set bigger grpc limit for array requests - related / similar to moby/moby#39306 Increase max recv gRPC message size for nodes and secrets - fixes moby/swarmkit#2733 Error generated when messages size is too big - backport of moby/swarmkit#2870 Fix update out of sequence Signed-off-by: Sebastiaan van Stijn <[email protected]> Upstream-commit: e06f07ef337ab890f211397d6b408b75a2512dc5 Component: engine
built on top of #2836 ([18.09 backport] Switch to go 1.11)rebasedrelates to
Backports of
Cherry-pick were clean, no conflicts