return 0;
}
+ // make sure that the logging source attribute is up-to-date
+ if (ret = rgw::bucketlogging::update_bucket_logging_sources(dpp(), target_bucket, bucket->get_key(), true, null_yield); ret < 0) {
+ cerr << "WARNING: failed to update logging sources attribute '" << RGW_ATTR_BUCKET_LOGGING_SOURCES
+ << "' in logging target '" << target_bucket->get_key() << "'. error: " << cpp_strerror(ret) << std::endl;
+ }
+
std::string obj_name;
RGWObjVersionTracker objv_tracker;
ret = target_bucket->get_logging_object_name(obj_name, configuration.target_prefix, null_yield, dpp(), &objv_tracker);
return ret;
}
+ // make sure that the logging source attribute is up-to-date
+ if (ret = update_bucket_logging_sources(dpp, target_bucket, s->bucket->get_key(), true, y); ret < 0) {
+ ldpp_dout(dpp, 5) << "WARNING: failed to update logging sources attribute '" << RGW_ATTR_BUCKET_LOGGING_SOURCES
+ << "' in logging bucket '" << target_bucket_id << "'. error: " << ret << dendl;
+ }
+
const auto region = driver->get_zone()->get_zonegroup().get_api_name();
std::string obj_name;
RGWObjVersionTracker objv_tracker;
void execute(optional_yield y) override {
const auto& target_bucket_id = target_bucket->get_key();
+ // make sure that the logging source attribute is up-to-date
+ if (const auto ret = rgw::bucketlogging::update_bucket_logging_sources(this, target_bucket, source_bucket->get_key(), true, y); ret < 0) {
+ ldpp_dout(this, 5) << "WARNING: failed to update logging sources attribute '" << RGW_ATTR_BUCKET_LOGGING_SOURCES
+ << "' in logging target '" << target_bucket_id << "'. error: " << ret << dendl;
+ }
std::string obj_name;
RGWObjVersionTracker objv_tracker;
op_ret = target_bucket->get_logging_object_name(obj_name, configuration.target_prefix, y, this, &objv_tracker);