Revision 66c7aab4d3ac065468a10bb368aa363ca5fce57a authored by ahrtr on 08 April 2022, 06:39:23 UTC, committed by ahrtr on 08 April 2022, 12:37:34 UTC
Previously the SetConsistentIndex() is called during the apply workflow,
but it's outside the db transaction. If a commit happens between SetConsistentIndex
and the following apply workflow, and etcd crashes for whatever reason right
after the commit, then etcd commits an incomplete transaction to db.
Eventually etcd runs into the data inconsistency issue.

In this commit, we move the SetConsistentIndex into a txPostLockHook, so
it will be executed inside the transaction lock.
1 parent 3ace622
History
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.5 KB
test -rwxr-xr-x 115 bytes
test.sh -rwxr-xr-x 22.1 KB

README.md

back to top