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
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
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 |
Computing file changes ...