]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
test: allowing >= the real refcount to avoid false alarm 43306/head
authormyoungwon oh <ohmyoungwon@gmail.com>
Tue, 17 Aug 2021 12:51:29 +0000 (21:51 +0900)
committermyoungwon oh <ohmyoungwon@gmail.com>
Mon, 27 Sep 2021 01:31:37 +0000 (10:31 +0900)
commita103e95699d9a1db13431b2ab836351c17e3a5f2
tree85650eec3921e6aa0b4e61b6380b89d35f061ad4
parent9989418f7d3c0967385a5f8693f1cf837d4449ed
test: allowing >= the real refcount to avoid false alarm

Current dedup allow to contain multiple same sources using
multiset, which results in inconsistent situation as follow
(during set_chunk, but not confined in set_chunk).

1. User issues set_chunk
2. OSD receives the set_chunk, and sends increment message
to an object in the low tier (INPROGRESS).
3. OSD map is changed (841 → 843)
3.5. on_change() is called
4. the set_chunk op is reenqueued by requeue_op()
5. OSD handles the duplicated set_chunk, but it is not able to
 know the set_chunk is duplicated because it does not log on the disk yet.
6. OSD issues increment message again to the object
in the low tier. (increment operation is executed twice)

To fix this, this commit allows >= the real refcount in test cases

fixes: https://tracker.ceph.com/issues/51000

Signed-off-by: Myoungwon Oh <myoungwon.oh@samsung.com>
(cherry picked from commit 126df96)
src/test/librados/tier_cxx.cc