Bug #21210
closedrgw:multisite: put obj in a version-suspended bucket when sync to slave zone, the list_index cannot added corretlly
0%
Description
steps to reproduce:
1、create a bucket, enable version.
2、put objA several times, there will be multi versions.
3、suspended verion of the bucket
4、put objA again. The version id is null
5、In slave zone, the prior versions can be synced correctly. Using list_versions api, the last null version can't be found.
In the osd which the bucket index is located, we found the following logs:
2017-08-30 17:42:29.346543 7fc2e1a1d700 5 <cls> cls/rgw/cls_rgw.cc:1456: NOTICE: op.olh_tag (te6645ws1chc83ag3y489jdniv7gd1je) != olh.tag (achyl6qdgfu9h6bpya42czqi7lc8ke0h)
When sync prior versions, the olh is not exsit. The slave zone will create olh itself. The olh.idtag is rand generated.
The null version's data_instance and olh is the same obj. When sync the null version's data, the olh attr is also synced to slave zone regarded as obj metadata.
Thus the olh.tag in olh_data_entry and the tag in olh is not the same.