]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
rgw: group lifecycle versioned deletes to reduce OLH contention 67700/head
authorMatthew N. Heler <matthew.heler@hotmail.com>
Fri, 6 Mar 2026 17:46:44 +0000 (11:46 -0600)
committerMatthew N. Heler <matthew.heler@hotmail.com>
Thu, 14 May 2026 21:25:39 +0000 (16:25 -0500)
commit51a4d6e1c1b545922669ea1f3d2c6feaf7fb3425
tree4d47903c3b8477ff4a12425594920c4972020cc8
parent32f7dfff5274a503623fa862f2770cdedc622e52
rgw: group lifecycle versioned deletes to reduce OLH contention

When multiple versions of the same key expire together, each delete
does a read-modify-write of the OLH on the same bucket index shard.

Buffer versions of the same key during listing and flush on key change.
Groups with multiple versions get pre-evaluated, then hard deletes go
through rgw::multi_delete::dispatch() which skips OLH updates on all
but the last delete. LCOpRule::process() is split into evaluate() and
execute() to support this two-phase pattern.

Non-versioned buckets and single-version groups are unchanged.

Signed-off-by: Matthew N. Heler <matthew.heler@hotmail.com>
src/rgw/rgw_lc.cc