etcd-io / etcd

Distributed reliable key-value store for the most critical data of a distributed system
https://etcd.io
Apache License 2.0
46.77k stars 9.64k forks source link

tests/e2e: add e2e test to reproduce issue 18089 #18201

Closed MadhavJivrajani closed 1 day ago

MadhavJivrajani commented 1 week ago

e2e for https://github.com/etcd-io/etcd/issues/18089

The goal is to reproduce a DELETE event being dropped in a watch after a compaction occurs on the revision where the deletion took place. In order to reproduce this, we perform the following sequence (steps for reproduction thanks to @ahrtr):

We should get the DELETE event (r5) followed by the PUT event (r6). However, currently we only get the PUT event with returned revision of r6 (key=k, val=v6).

/assign @ahrtr @serathius @siyuanfoundation

MadhavJivrajani commented 1 week ago

/assign @serathius @ahrtr @siyuanfoundation @jmhbnz @fuweid

MadhavJivrajani commented 1 week ago

/retest

MadhavJivrajani commented 1 week ago

/test all

siyuanfoundation commented 1 week ago

Very nice! Thank you @MadhavJivrajani

serathius commented 2 days ago

cc @ahrtr

serathius commented 2 days ago

Please fix pull-etcd-verify

ahrtr commented 2 days ago

Can we add the test case into watch_test.go? I see that there is an existing watch_delay_test.go, I think we can rename it to watch_test.go if there is no strong objection.

MadhavJivrajani commented 2 days ago

@ahrtr can you PTAL again?

ahrtr commented 1 day ago

/retest

MadhavJivrajani commented 1 day ago

/retest