Commit de9ce1e
committed
rgw: fix stale entries in bucket indexes
If rados_osd_op_timeout is set, the primary osd is slow, the rgw_rados_operate for deleting the rgw head obj may return -ETIMEDOUT
rgw can't determine whether or not the delete succeeded, we shouldn't be calling index_op.complete_del or cancel()
Instead, we should leave that pending entry in the index so than bucket listing can recover with check_disk_state() and cls_rgw_suggest_changens()
When raced with another delete op, deleting the rgw head obj may return ENOENT, calling index_op.complete_del() instead of index_op.cancel()
Fixes: https://tracker.ceph.com/issues/58965
Signed-off-by: Shasha Lu <[email protected]>1 parent 69c9198 commit de9ce1e
1 file changed
+5
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6105 | 6105 | | |
6106 | 6106 | | |
6107 | 6107 | | |
6108 | | - | |
| 6108 | + | |
| 6109 | + | |
| 6110 | + | |
| 6111 | + | |
| 6112 | + | |
6109 | 6113 | | |
6110 | 6114 | | |
6111 | 6115 | | |
| |||
0 commit comments