https://github.com/coreos/etcd
Revision 621cd7b9e5aa2ccf634b555e4ebe0037b8975066 authored by Benjamin Wang on 17 June 2022, 01:01:29 UTC, committed by Benjamin Wang on 17 June 2022, 01:01:29 UTC
Currently the max size of each WAL entry is hard coded as 10MB. If users
set a value > 10MB for the flag --max-request-bytes, then etcd may run
into a situation that it successfully processes a big request, but fails
to decode it when replaying the WAL file on startup.

On the other hand, we can't just remove the limitation, because if a
WAL entry is somehow corrupted, and its recByte is a huge value, then
etcd may run out of memory. So the solution is to restrict the max size
of each WAL entry as a dynamic value, which is the remaining size of
the WAL file.

Signed-off-by: Benjamin Wang <wachao@vmware.com>
1 parent db0b67e
History
Tip revision: 621cd7b9e5aa2ccf634b555e4ebe0037b8975066 authored by Benjamin Wang on 17 June 2022, 01:01:29 UTC
restrict the max size of each WAL entry to the remaining size of the file
Tip revision: 621cd7b
File Mode Size
.github
Documentation
api
client
contrib
etcdctl
etcdutl
hack
logos
pkg
raft
scripts
security
server
tests
tools
.gitignore -rw-r--r-- 290 bytes
.header -rw-r--r-- 593 bytes
.travis.yml -rw-r--r-- 1.1 KB
.words -rw-r--r-- 1.3 KB
CONTRIBUTING.md -rw-r--r-- 3.3 KB
DCO -rw-r--r-- 1.4 KB
Dockerfile-release.amd64 -rw-r--r-- 726 bytes
Dockerfile-release.arm64 -rw-r--r-- 364 bytes
Dockerfile-release.ppc64le -rw-r--r-- 334 bytes
Dockerfile-release.s390x -rw-r--r-- 330 bytes
GOVERNANCE.md -rw-r--r-- 3.7 KB
LICENSE -rw-r--r-- 11.1 KB
MAINTAINERS -rw-r--r-- 1.0 KB
Makefile -rw-r--r-- 18.1 KB
Procfile -rw-r--r-- 1.6 KB
Procfile.learner -rw-r--r-- 900 bytes
Procfile.v2 -rw-r--r-- 1.6 KB
README.md -rw-r--r-- 9.2 KB
ROADMAP.md -rw-r--r-- 900 bytes
bill-of-materials.json -rw-r--r-- 12.3 KB
bill-of-materials.override.json -rw-r--r-- 254 bytes
build -rwxr-xr-x 117 bytes
build.bat -rwxr-xr-x 51 bytes
build.ps1 -rw-r--r-- 2.7 KB
build.sh -rwxr-xr-x 3.8 KB
code-of-conduct.md -rw-r--r-- 143 bytes
codecov.yml -rw-r--r-- 482 bytes
dummy.go -rw-r--r-- 1.0 KB
etcd.conf.yml.sample -rw-r--r-- 3.6 KB
go.mod -rw-r--r-- 1.0 KB
go.sum -rw-r--r-- 54.9 KB
test -rwxr-xr-x 115 bytes
test.sh -rwxr-xr-x 22.1 KB

README.md

back to top