@@ -373,16 +373,19 @@ int rollover_logging_object(const configuration& conf,
373373 auto old_obj = obj_name.empty () ? std::nullopt : std::optional<std::string>(obj_name);
374374
375375 auto handle_error = [&dpp, &old_obj, &target_bucket, err_message](int ret) {
376- if (ret == -ECANCELED) {
377- ldpp_dout (dpp, 20 ) << " INFO: rollover already performed for logging object '" << old_obj << " ' to logging bucket '" <<
378- target_bucket->get_key () << " '. ret = " << ret << dendl;
379- return 0 ;
380- }
381376 if (ret < 0 ) {
382- ldpp_dout (dpp, 1 ) << " ERROR: failed to rollover logging object '" << old_obj << " ' to logging bucket '" <<
383- target_bucket->get_key () << " '. ret = " << ret << dendl;
384- if (err_message) {
385- *err_message = fmt::format (" Failed to rollover logging object of logging bucket '{}'" , target_bucket->get_name ());
377+ if (ret == -ECANCELED) {
378+ ldpp_dout (dpp, 20 ) << " INFO: rollover already performed for logging object '" << old_obj << " ' to logging bucket '" <<
379+ target_bucket->get_key () << " '. ret = " << ret << dendl;
380+ if (err_message) {
381+ *err_message = fmt::format (" Rollover already performed on logging bucket '{}'" , target_bucket->get_name ());
382+ }
383+ } else {
384+ ldpp_dout (dpp, 1 ) << " ERROR: failed to rollover logging object '" << old_obj << " ' to logging bucket '" <<
385+ target_bucket->get_key () << " '. ret = " << ret << dendl;
386+ if (err_message) {
387+ *err_message = fmt::format (" Failed to rollover logging object of logging bucket '{}'" , target_bucket->get_name ());
388+ }
386389 }
387390 }
388391 return ret;
@@ -515,7 +518,7 @@ int log_record(rgw::sal::Driver* driver,
515518 if (ceph::coarse_real_time::clock::now () > time_to_commit) {
516519 ldpp_dout (dpp, 20 ) << " INFO: logging object '" << obj_name << " ' exceeded its time, will be committed to logging bucket '" <<
517520 target_bucket_id << " '" << dendl;
518- if (ret = rollover_logging_object (conf, target_bucket, obj_name, dpp, region, s->bucket , y, false , &objv_tracker, nullptr , &err_message); ret < 0 ) {
521+ if (ret = rollover_logging_object (conf, target_bucket, obj_name, dpp, region, s->bucket , y, false , &objv_tracker, nullptr , &err_message); ret < 0 && ret != -ECANCELED ) {
519522 set_journal_err (err_message);
520523 return ret;
521524 }
@@ -666,7 +669,7 @@ int log_record(rgw::sal::Driver* driver,
666669 if (ret == -EFBIG) {
667670 ldpp_dout (dpp, 5 ) << " WARNING: logging object '" << obj_name << " ' is full, will be committed to logging bucket '" <<
668671 target_bucket->get_key () << " '" << dendl;
669- if (ret = rollover_logging_object (conf, target_bucket, obj_name, dpp, region, s->bucket , y, true , &objv_tracker, nullptr , &err_message); ret < 0 ) {
672+ if (ret = rollover_logging_object (conf, target_bucket, obj_name, dpp, region, s->bucket , y, true , &objv_tracker, nullptr , &err_message); ret < 0 && ret != -ECANCELED ) {
670673 set_journal_err (err_message);
671674 return ret;
672675 }
0 commit comments