]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
rgw/notification: fix reserved_size drift in 2pc_queue causing ENOSPC errors 67169/head
authorKrunal Chheda <kchheda3@bloomberg.net>
Tue, 10 Feb 2026 21:01:03 +0000 (16:01 -0500)
committerKrunal Chheda <kchheda3@bloomberg.net>
Tue, 10 Feb 2026 21:24:23 +0000 (16:24 -0500)
commit7f4eaee30cba6efd3e0acc5b3c315c182a3bc8d9
tree72dafd3a70c95ce3754263c94a87971902171861
parent00ad83d3ab23b7da8e9fc1813f7214ffd153e314
rgw/notification: fix reserved_size drift in 2pc_queue causing ENOSPC errors

The urgent_data.reserved_size field was accumulating incorrect values over time due to a mismatch between what was added during reserve() and what was subtracted during commit()/abort(). This caused the reserved_size to grow unbounded, eventually hitting the queue capacity limit and returning ENOSPC errors even when the queue had plenty of actual space.

solution:
Add a one time self healing capability, where the reservation value is re calculated during the reserve and counter is updated with correct value.

Signed-off-by: Krunal Chheda <kchheda3@bloomberg.net>
src/cls/2pc_queue/cls_2pc_queue.cc
src/cls/2pc_queue/cls_2pc_queue_types.h