It's true that the "versioned" field of the bilog entry from setacl is false:
{
"op_id": "00000000037.30.5",
"op_tag": "_bXw-TNSXIu-Y8Ghwd7_lsfsV0SYMFKj",
"op": "write",
"object": "128m.iso",
"instance": "9kazjXXpT2ajS2J4s6KJSdLNEWxWIsZ",
"state": "complete",
"index_ver": 37,
"timestamp": "2019-06-04T18:45:08.202174613Z",
"ver": {
"pool": 7,
"epoch": 11
},
"bilog_flags": 0,
"versioned": false,
"owner": "",
"owner_display_name": "",
"zones_trace": [
"52b281b8-891c-4849-b88a-ba2b818f8e8a"
]
}
This happens because RGWRados::set_attrs() is preparing/completing its own RGWRados::Bucket::UpdateIndex op, rather than calling through RGWRados::Object::Write::_do_write_meta() which correctly set the versioned field.
The versioned_epoch field is independent of versioned, and should only be set by calls to link_olh/unlink_instance that actually modify the olh. On the sync side, we don't look at the 'versioned' field for sync_object(). It doesn't look like there's any observable consequence of this bug, so lowering priority.