]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
osd: add processed_subop_count for cls_cxx_subop_version()
authorCasey Bodley <cbodley@redhat.com>
Sat, 28 Oct 2017 20:28:27 +0000 (16:28 -0400)
committerCasey Bodley <cbodley@redhat.com>
Mon, 30 Oct 2017 18:19:02 +0000 (14:19 -0400)
commit95faac9ae2cd38b1ca25c90f90bd4a53fe6af4d4
tree31b96f6cbfe9cec7060ad29dfb878046388ac819
parent00c11ff2f71c7e9006276e9b3391dfecf857424f
osd: add processed_subop_count for cls_cxx_subop_version()

cls_log_add() relies on cls_cxx_subop_version() to generate unique keys
for log entries with the same timestamp. because cls calls back into
do_osd_ops(), resetting current_osd_subop_num means that cls_log_add()
will keep seeing the same subop version and generating the same keys.
this causes the following failure in ceph_test_cls_log:

[ RUN      ] cls_rgw.test_log_add_same_time
/home/cbodley/ceph/src/test/cls_log/test_cls_log.cc:144: Failure
      Expected: 10
To be equal to: (int)entries.size()
      Which is: 1
[  FAILED  ] cls_rgw.test_log_add_same_time (1180 ms)

Fixes: http://tracker.ceph.com/issues/21964
Signed-off-by: Casey Bodley <cbodley@redhat.com>
src/objclass/class_api.cc
src/osd/PrimaryLogPG.cc
src/osd/PrimaryLogPG.h