]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
osd: Do not apply log entry if shard not written
authorBill Scales <bill_scales@uk.ibm.com>
Thu, 19 Jun 2025 13:26:04 +0000 (14:26 +0100)
committerAlex Ainscow <aainscow@uk.ibm.com>
Sun, 7 Sep 2025 23:10:41 +0000 (00:10 +0100)
commit17eee5d5ba430fc407afaf0cccbccb025620bb8e
treefbd1d293937b4abfbb9f35b918a55d91d17554ee
parent49f0667804b65306a8e8bab7e6f245300f8b2cd3
osd: Do not apply log entry if shard not written

This was a failed test, where the primary concluded that all objects were present
despite one missing object on the non primary shard.

The problem was caused because the log entries are sent to the unwritten shards if that
shard is missing in order to update the version number in the missing object. However,
the log entry should not actually be added to the log.

Further testing showed there are other scenarios where log entries are sent to
unwritten shards (for example a clone + partial_write in the same transaction),
these scenarios do not want to add the log entry either.

Signed-off-by: Bill Scales <bill_scales@uk.ibm.com>
(cherry picked from commit 24cd772f2099aa5f7dfeb7609522f770d0ae1115)
src/osd/PeeringState.cc