return;
}
+ // size is logged in stadared mode
+ int ret = rgw::bucketlogging::log_record(driver, rgw::bucketlogging::LoggingType::Standard, s->object.get(), s, canonical_name(), "", ofs, this, y, true, false);
+ if (ret < 0) {
+ ldpp_dout(this, 5) << "WARNING: in Standard mode, complete MPU operation ignores bucket logging failure: " << ret << dendl;
+ }
+
remove_objs.clear();
// use cls_version_check() when deleting the meta object to detect part uploads that raced
etag = s->object->get_attrs()[RGW_ATTR_ETAG].to_str();
// send request to notification manager
- int ret = res->publish_commit(this, ofs, upload_time, etag, s->object->get_instance());
+ ret = res->publish_commit(this, ofs, upload_time, etag, s->object->get_instance());
if (ret < 0) {
ldpp_dout(this, 1) << "ERROR: publishing notification failed, with error: " << ret << dendl;
// too late to rollback operation, hence op_ret is not set here
const char* name() const override { return "complete_multipart"; }
RGWOpType get_type() override { return RGW_OP_COMPLETE_MULTIPART; }
uint32_t op_mask() override { return RGW_OP_TYPE_WRITE; }
+ bool always_do_bucket_logging() const override { return false; }
};
class RGWAbortMultipart : public RGWOp {
}
if (op && op->always_do_bucket_logging()) {
- std::ignore = rgw::bucketlogging::log_record(driver,
+ std::ignore = rgw::bucketlogging::log_record(driver,
rgw::bucketlogging::LoggingType::Standard,
s->object.get(),
- s,
- op->canonical_name(),
- "",
+ s,
+ op->canonical_name(),
+ "",
(s->src_object ? s->src_object->get_size() : (s->object ? s->object->get_size() : 0)),
- op,
- yield,
+ op,
+ yield,
true,
false);
}