etcd-io/etcd
GitHub で見るBlackhole failpoint in the proxy does not block all updates
Open
#17,737 opened on 2024年4月8日
help wantedstaletype/bug
説明
Bug report criteria
- This bug report is not security related, security issues should be disclosed privately via etcd maintainers.
- This is not a support request or question, support requests or questions should be raised in the etcd discussion forums.
- You have read the etcd bug reporting guidelines.
- Existing open issues along with etcd frequently asked questions have been checked and this is not a duplicate.
What happened?
When mocking a network partition in e2e test with the proxy.BlackholeTx() and proxy.BlackholeRx(), the partitioned follower node can still received all the write updates happening during that blackhole period.
When the partitioned node was the original leader, new write updates are not applied to the partitioned node.
This bug makes the reliability of existing tests depending on this failpoint questionable.
What did you expect to happen?
The blackhole failpoint should drop all packets sent to the partitioned node, and it should not receive any write updates happening during that blackhole period.
How can we reproduce it (as minimally and precisely as possible)?
https://github.com/etcd-io/etcd/pull/17736
cd tests/e2e
go test -run TestBlackholeByMockingPartitionFollower -v
Anything else we need to know?
No response
Etcd version (please run commands below)
$ etcd --version
# paste output here
etcd Version: 3.6.0-alpha.0
Git SHA: 733aa6bd8
Go Version: go1.22.0
Go OS/Arch: linux/amd64
$ etcdctl version
# paste output here
etcdctl version: 3.6.0-alpha.0
API version: 3.6
Etcd configuration (command line flags or environment variables)
paste your configuration here
Etcd debug information (please run commands below, feel free to obfuscate the IP address or FQDN in the output)
$ etcdctl member list -w table
# paste output here
$ etcdctl --endpoints=<member list> endpoint status -w table
# paste output here
Relevant log output
No response