@@ -33,6 +33,7 @@ TracingConnection::TracingConnection(std::shared_ptr<StorageConnection> impl)
3333 : impl_(std::move(impl)) {}
3434
3535TracingConnection::~TracingConnection () {
36+ std::lock_guard<std::mutex> lk (mu_);
3637 for (auto & f : bg_tasks_) {
3738 if (f.valid ()) f.wait ();
3839 }
@@ -87,9 +88,13 @@ void TracingConnection::MaybeTriggerBackgroundFetch(
8788 cache ().EndFetch (bucket_name);
8889 });
8990
90- bg_tasks_.push_back (std::move (f));
91+ {
92+ std::lock_guard<std::mutex> lk (mu_);
93+ bg_tasks_.push_back (std::move (f));
94+ }
9195}
9296
97+
9398void TracingConnection::EnrichSpan (opentelemetry::trace::Span& span,
9499 std::string const & bucket_name) {
95100 if (bucket_name.empty ()) return ;
@@ -228,7 +233,6 @@ StatusOr<storage::ObjectMetadata> TracingConnection::InsertObjectMedia(
228233 auto scope = opentelemetry::trace::Scope (span);
229234 EnrichSpan (*span, request.bucket_name ());
230235 auto result = impl_->InsertObjectMedia (request);
231- MaybeInvalidate (result, request.bucket_name ());
232236 return internal::EndSpan (*span, std::move (result));
233237}
234238
@@ -238,7 +242,6 @@ StatusOr<storage::ObjectMetadata> TracingConnection::CopyObject(
238242 auto scope = opentelemetry::trace::Scope (span);
239243 EnrichSpan (*span, request.destination_bucket ());
240244 auto result = impl_->CopyObject (request);
241- MaybeInvalidate (result, request.destination_bucket ());
242245 return internal::EndSpan (*span, std::move (result));
243246}
244247
@@ -248,7 +251,6 @@ StatusOr<storage::ObjectMetadata> TracingConnection::GetObjectMetadata(
248251 auto scope = opentelemetry::trace::Scope (span);
249252 EnrichSpan (*span, request.bucket_name ());
250253 auto result = impl_->GetObjectMetadata (request);
251- MaybeInvalidate (result, request.bucket_name ());
252254 return internal::EndSpan (*span, std::move (result));
253255}
254256
@@ -260,7 +262,6 @@ TracingConnection::ReadObject(
260262 EnrichSpan (*span, request.bucket_name ());
261263 auto reader = impl_->ReadObject (request);
262264 if (!reader) {
263- MaybeInvalidate (reader, request.bucket_name ());
264265 return internal::EndSpan (*span, std::move (reader));
265266 }
266267 return std::unique_ptr<storage::internal::ObjectReadSource>(
@@ -285,7 +286,6 @@ StatusOr<storage::internal::EmptyResponse> TracingConnection::DeleteObject(
285286 auto scope = opentelemetry::trace::Scope (span);
286287 EnrichSpan (*span, request.bucket_name ());
287288 auto result = impl_->DeleteObject (request);
288- MaybeInvalidate (result, request.bucket_name ());
289289 return internal::EndSpan (*span, std::move (result));
290290}
291291
@@ -295,7 +295,6 @@ StatusOr<storage::ObjectMetadata> TracingConnection::UpdateObject(
295295 auto scope = opentelemetry::trace::Scope (span);
296296 EnrichSpan (*span, request.bucket_name ());
297297 auto result = impl_->UpdateObject (request);
298- MaybeInvalidate (result, request.bucket_name ());
299298 return internal::EndSpan (*span, std::move (result));
300299}
301300
@@ -305,7 +304,6 @@ StatusOr<storage::ObjectMetadata> TracingConnection::MoveObject(
305304 auto scope = opentelemetry::trace::Scope (span);
306305 EnrichSpan (*span, request.bucket_name ());
307306 auto result = impl_->MoveObject (request);
308- MaybeInvalidate (result, request.bucket_name ());
309307 return internal::EndSpan (*span, std::move (result));
310308}
311309
@@ -315,7 +313,6 @@ StatusOr<storage::ObjectMetadata> TracingConnection::PatchObject(
315313 auto scope = opentelemetry::trace::Scope (span);
316314 EnrichSpan (*span, request.bucket_name ());
317315 auto result = impl_->PatchObject (request);
318- MaybeInvalidate (result, request.bucket_name ());
319316 return internal::EndSpan (*span, std::move (result));
320317}
321318
@@ -325,7 +322,6 @@ StatusOr<storage::ObjectMetadata> TracingConnection::ComposeObject(
325322 auto scope = opentelemetry::trace::Scope (span);
326323 EnrichSpan (*span, request.bucket_name ());
327324 auto result = impl_->ComposeObject (request);
328- MaybeInvalidate (result, request.bucket_name ());
329325 return internal::EndSpan (*span, std::move (result));
330326}
331327
@@ -336,7 +332,6 @@ TracingConnection::RewriteObject(
336332 auto scope = opentelemetry::trace::Scope (span);
337333 EnrichSpan (*span, request.destination_bucket ());
338334 auto result = impl_->RewriteObject (request);
339- MaybeInvalidate (result, request.destination_bucket ());
340335 return internal::EndSpan (*span, std::move (result));
341336}
342337
@@ -346,7 +341,6 @@ StatusOr<storage::ObjectMetadata> TracingConnection::RestoreObject(
346341 auto scope = opentelemetry::trace::Scope (span);
347342 EnrichSpan (*span, request.bucket_name ());
348343 auto result = impl_->RestoreObject (request);
349- MaybeInvalidate (result, request.bucket_name ());
350344 return internal::EndSpan (*span, std::move (result));
351345}
352346
@@ -359,7 +353,6 @@ TracingConnection::CreateResumableUpload(
359353 auto scope = opentelemetry::trace::Scope (span);
360354 EnrichSpan (*span, request.bucket_name ());
361355 auto result = impl_->CreateResumableUpload (request);
362- MaybeInvalidate (result, request.bucket_name ());
363356 return internal::EndSpan (*span, std::move (result));
364357}
365358
@@ -398,7 +391,6 @@ StatusOr<std::unique_ptr<std::string>> TracingConnection::UploadFileSimple(
398391 auto scope = opentelemetry::trace::Scope (span);
399392 EnrichSpan (*span, request.bucket_name ());
400393 auto result = impl_->UploadFileSimple (file_name, file_size, request);
401- if (!result) MaybeInvalidate (result.status (), request.bucket_name ());
402394 return internal::EndSpan (*span, std::move (result));
403395}
404396
@@ -410,7 +402,6 @@ StatusOr<std::unique_ptr<std::istream>> TracingConnection::UploadFileResumable(
410402 auto scope = opentelemetry::trace::Scope (span);
411403 EnrichSpan (*span, request.bucket_name ());
412404 auto result = impl_->UploadFileResumable (file_name, request);
413- if (!result) MaybeInvalidate (result.status (), request.bucket_name ());
414405 return internal::EndSpan (*span, std::move (result));
415406}
416407
@@ -423,7 +414,6 @@ Status TracingConnection::DownloadStreamToFile(
423414 EnrichSpan (*span, request.bucket_name ());
424415 auto result =
425416 impl_->DownloadStreamToFile (std::move (stream), file_name, request);
426- MaybeInvalidate (result, request.bucket_name ());
427417 return internal::EndSpan (*span, result);
428418}
429419
@@ -509,7 +499,6 @@ TracingConnection::ListObjectAcl(
509499 auto scope = opentelemetry::trace::Scope (span);
510500 EnrichSpan (*span, request.bucket_name ());
511501 auto result = impl_->ListObjectAcl (request);
512- MaybeInvalidate (result, request.bucket_name ());
513502 return internal::EndSpan (*span, std::move (result));
514503}
515504
@@ -519,7 +508,6 @@ StatusOr<storage::ObjectAccessControl> TracingConnection::CreateObjectAcl(
519508 auto scope = opentelemetry::trace::Scope (span);
520509 EnrichSpan (*span, request.bucket_name ());
521510 auto result = impl_->CreateObjectAcl (request);
522- MaybeInvalidate (result, request.bucket_name ());
523511 return internal::EndSpan (*span, std::move (result));
524512}
525513
@@ -529,7 +517,6 @@ StatusOr<storage::internal::EmptyResponse> TracingConnection::DeleteObjectAcl(
529517 auto scope = opentelemetry::trace::Scope (span);
530518 EnrichSpan (*span, request.bucket_name ());
531519 auto result = impl_->DeleteObjectAcl (request);
532- MaybeInvalidate (result, request.bucket_name ());
533520 return internal::EndSpan (*span, std::move (result));
534521}
535522
@@ -539,7 +526,6 @@ StatusOr<storage::ObjectAccessControl> TracingConnection::GetObjectAcl(
539526 auto scope = opentelemetry::trace::Scope (span);
540527 EnrichSpan (*span, request.bucket_name ());
541528 auto result = impl_->GetObjectAcl (request);
542- MaybeInvalidate (result, request.bucket_name ());
543529 return internal::EndSpan (*span, std::move (result));
544530}
545531
@@ -549,7 +535,6 @@ StatusOr<storage::ObjectAccessControl> TracingConnection::UpdateObjectAcl(
549535 auto scope = opentelemetry::trace::Scope (span);
550536 EnrichSpan (*span, request.bucket_name ());
551537 auto result = impl_->UpdateObjectAcl (request);
552- MaybeInvalidate (result, request.bucket_name ());
553538 return internal::EndSpan (*span, std::move (result));
554539}
555540
@@ -559,7 +544,6 @@ StatusOr<storage::ObjectAccessControl> TracingConnection::PatchObjectAcl(
559544 auto scope = opentelemetry::trace::Scope (span);
560545 EnrichSpan (*span, request.bucket_name ());
561546 auto result = impl_->PatchObjectAcl (request);
562- MaybeInvalidate (result, request.bucket_name ());
563547 return internal::EndSpan (*span, std::move (result));
564548}
565549
0 commit comments