rgw/notification: fix zero eventTime in bucket notifications on concurrent PUT race
When concurrent PUTs target the same object key, RADOS may return -ECANCELED to the losing writers. In that path *meta.mtime was never populated from meta.set_mtime, leaving mtime at epoch (zero), which propagated into bucket notification eventTime as "1970-01-01T00:00:00.000Z". Fix: set *meta.mtime from meta.set_mtime before returning 0 in the ECANCELED/ENOENT/EEXIST early-return block, matching the behaviour of the successful write path. Also add a regression test that fires 20 concurrent threads writing the same key and asserts no event in the persistent queue carries a zero eventTime. Fixes: https://tracker.ceph.com/issues/76729 Signed-off-by: Krunal Chheda <kchheda3@bloomberg.net>
K
Krunal Chheda committed
0064cc00eeb2911c4b9cc417a34b026a70e9d1ad
Parent: 017ef99