-
Notifications
You must be signed in to change notification settings - Fork 615
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
go.mod: go.etcd.io/etcd/server/v3 v3.5.5 #3085
Conversation
3886d7c
to
b30a896
Compare
One failure
Which comes from this line;
And produced here; https://github.com/etcd-io/etcd/blob/v3.5.5/server/wal/decoder.go#L83-L89 recBytes, padBytes := decodeFrameSize(l)
// The length of current WAL entry must be less than the remaining file size.
maxEntryLimit := fileBufReader.FileInfo().Size() - d.lastValidOff - padBytes
if recBytes > maxEntryLimit {
return fmt.Errorf("wal: max entry size limit exceeded, recBytes: %d, fileSize(%d) - offset(%d) - padBytes(%d) = entryLimit(%d)",
recBytes, fileBufReader.FileInfo().Size(), d.lastValidOff, padBytes, maxEntryLimit)
} |
This comment was marked as outdated.
This comment was marked as outdated.
99d4335
to
beeb9c4
Compare
beeb9c4
to
84bb442
Compare
c89bc91
to
e1eb70e
Compare
49dd040
to
02d93cb
Compare
// The length of current WAL entry must be less than the remaining file size. | ||
maxEntryLimit := fileBufReader.FileInfo().Size() - d.lastValidOff - padBytes | ||
if recBytes > maxEntryLimit { | ||
return fmt.Errorf("wal: max entry size limit exceeded, recBytes: %d, fileSize(%d) - offset(%d) - padBytes(%d) = entryLimit(%d)", | ||
recBytes, fileBufReader.FileInfo().Size(), d.lastValidOff, padBytes, maxEntryLimit) |
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.
So.. this change is the cause of the failures;
- introduced in etcd-io/etcd@621cd7b / [3.5] Restrict the max size of each WAL entry to the remaining size of the WAL file etcd-io/etcd#14127
- Which is a backport of Restrict the max size of each WAL entry to the remaining size of the WAL file etcd-io/etcd#14122
- To fix Restriction on MaxRequestSize and maxWALEntrySize etcd-io/etcd#14114
I see as part of that PR, ErrMaxWALEntrySizeLimitExceeded
was also removed, which makes it more complicated to check for this specific error.
I see v3.5.6 was also released; I hoped some fix for that part was included it that one (or at least a way to detect that specific error now that
|
02d93cb
to
b6596fb
Compare
Flaky test?
|
etcd v3.5.5 now uses otel v1.0.1; https://github.com/etcd-io/etcd/blob/v3.5.5/server/go.mod#L34-L37 etcd-io/etcd@2d7e490 full diff etcd-io/etcd@server/v3.5.4...server/v3.5.5 Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Test that recovery fails if the file is too short (with etcd v3.5.5) Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
b6596fb
to
4960f66
Compare
Almost at the end of my queue 🎉 |
etcd v3.5.5 now uses otel v1.0.1; https://github.com/etcd-io/etcd/blob/v3.5.5/server/go.mod#L34-L37
(through commit etcd-io/etcd@2d7e490)
Which means we may be able to get rid of this replace rule 🎉
https://github.com/moby/moby/blob/8bb58153e75b4310f3ae9ec6d03924aa286fbf20/vendor.mod#L172
go.mod: golang.org/x/sys v0.1.0
It's an indirect dependency, but updating other modules will cause it
to be updated, so updating it first.
go.mod: golang.org/x/time v0.1.0
go.mod: golang.org/x/text v0.3.7
It's an indirect dependency, but updating other modules will cause it
to be updated, so updating it first. This is an intermediate version,
which can be done in isolation.
go.mod: golang.org/x/mod v0.7.0
It's an indirect dependency, but updating other modules will cause it
to be updated, so updating it first.
go.mod: github.com/onsi/gomega v1.10.5
to get rid of the golang.org/x/xerrors dependency
go.mod: golang.org/x/text v0.4.0
Now that other dependencies are updated, we can update this one in
isolation (yay for circular dependencies).
go.mod: golang.org/x/net v0.1.0
go.mod: golang.org/x/crypto v0.1.0
go.mod: github.com/docker/go-units v0.5.0
github.com/cespare/xxhash/v2 v2.1.2
It's an indirect dependency, but updating other modules will cause it
to be updated, so updating it first.
github.com/modern-go/reflect2 v1.0.2
It's an indirect dependency, but updating other modules will cause it
to be updated, so updating it first.
go.mod: github.com/prometheus/client_golang v1.12.1
To match other projects and (upcoming) dependencies.
Full diff: https://github.com/prometheus/client_golang/compare/v1.11.0..v1.12.1
go.mod: go.etcd.io/etcd/server/v3 v3.5.5
etcd v3.5.5 now uses otel v1.0.1;
https://github.com/etcd-io/etcd/blob/v3.5.5/server/go.mod#L34-L37
etcd-io/etcd@2d7e490