This function is necessary for balanced reads and as such is required for EC too.
Rename the function to make sense, given this change of purpose, but the
functionality does not change.
Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
if (!is_primary()) { // && !is_ec_pg()
DEBUGDPP("on replica, clearing obc", *this);
- replica_clear_repop_obc(logv);
+ clear_repop_obc(logv);
}
if (!logv.empty()) {
scrubber.on_log_update(logv.rbegin()->version);
false);
}
-void PG::replica_clear_repop_obc(
+void PG::clear_repop_obc(
const std::vector<pg_log_entry_t> &logv) {
- LOG_PREFIX(PG::replica_clear_repop_obc);
+ LOG_PREFIX(PG::clear_repop_obc);
DEBUGDPP("clearing obc for {} log entries", *this, logv.size());
for (auto &&e: logv) {
DEBUGDPP("clearing entry for {} from: {} to: {}",
bool transaction_applied,
ObjectStore::Transaction &txn,
bool async = false);
- void replica_clear_repop_obc(
+ void clear_repop_obc(
const std::vector<pg_log_entry_t> &logv);
void handle_rep_op_reply(const MOSDRepOpReply& m);
interruptible_future<> do_update_log_missing(
return osd->pg_timer;
}
-void PrimaryLogPG::replica_clear_repop_obc(
+void PrimaryLogPG::clear_repop_obc(
const vector<pg_log_entry_t> &logv,
ObjectStore::Transaction &t)
{
projected_log.skip_can_rollback_to_to_head();
projected_log.trim(cct, last->version, nullptr, nullptr, nullptr);
}
- if (!is_primary() && !is_ec_pg()) {
- replica_clear_repop_obc(logv, t);
+ if (!is_primary()) {
+ clear_repop_obc(logv, t);
}
recovery_state.append_log(
std::move(logv), trim_to, roll_forward_to, pg_committed_to,
t, transaction_applied, async);
}
- void replica_clear_repop_obc(
+ void clear_repop_obc(
const std::vector<pg_log_entry_t> &logv,
ObjectStore::Transaction &t);