File tree Expand file tree Collapse file tree 1 file changed +13
-3
lines changed
Expand file tree Collapse file tree 1 file changed +13
-3
lines changed Original file line number Diff line number Diff line change @@ -7023,17 +7023,27 @@ void RGWAbortMultipart::execute(optional_yield y)
70237023 return ;
70247024
70257025 upload = s->bucket ->get_multipart_upload (s->object ->get_name (), upload_id);
7026+ meta_obj = upload->get_meta_obj ();
7027+ meta_obj->set_in_extra_data (true );
7028+ meta_obj->get_obj_attrs (s->yield , this );
7029+
70267030 jspan_context trace_ctx (false , false );
70277031 if (tracing::rgw::tracer.is_enabled ()) {
70287032 // read meta object attributes for trace info
7029- meta_obj = upload->get_meta_obj ();
7030- meta_obj->set_in_extra_data (true );
7031- meta_obj->get_obj_attrs (s->yield , this );
70327033 extract_span_context (meta_obj->get_attrs (), trace_ctx);
70337034 }
70347035 multipart_trace = tracing::rgw::tracer.add_span (name (), trace_ctx);
70357036
7037+ int max_lock_secs_mp =
7038+ s->cct ->_conf .get_val <int64_t >(" rgw_mp_lock_max_time" );
7039+ utime_t dur (max_lock_secs_mp, 0 );
7040+ auto serializer = meta_obj->get_serializer (this , " RGWCompleteMultipart" );
7041+ op_ret = serializer->try_lock (this , dur, y);
7042+ if (op_ret < 0 ) {
7043+ return ;
7044+ }
70367045 op_ret = upload->abort (this , s->cct , y);
7046+ serializer->unlock ();
70377047}
70387048
70397049int RGWListMultipart::verify_permission (optional_yield y)
You can’t perform that action at this time.
0 commit comments