Standardize OkHttpHttpSender shutdown to await executor termination#8495
Conversation
Codecov Report❌ Patch coverage is
❌ Your patch check has failed because the patch coverage (73.33%) is below the target coverage (80.00%). You can increase the patch coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## main #8495 +/- ##
============================================
- Coverage 78.77% 78.76% -0.01%
- Complexity 8579 8580 +1
============================================
Files 1009 1009
Lines 28993 29006 +13
Branches 3599 3600 +1
============================================
+ Hits 22839 22848 +9
- Misses 5311 5314 +3
- Partials 843 844 +1 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
Ready for review. The failing |
|
Thank you for your contribution @thswlsqls! 🎉 We would like to hear from you about your experience contributing to OpenTelemetry by taking a few minutes to fill out this survey. |
Related to #8280
Description
OkHttpHttpSender.shutdown()with the siblingOkHttpGrpcSender.shutdown()in the same package, which Standardize sender shutdown implementations #8280 designates as the reference implementation.dispatcher().cancelAll(), thenconnectionPool().evictAll(), then (for a managed executor)executorService.shutdownNow().okhttp-shutdownthread callsawaitTermination(5, SECONDS), logs a WARNING on timeout, and completes the returnedCompletableResultCode. A non-managed executor still returnsCompletableResultCode.ofSuccess().io.opentelemetry.exporter.sender.okhttp.internal); no public API change, no apidiff, no CHANGELOG entry.Testing done
OkHttpHttpSenderTestshutdown tests mirroringOkHttpGrpcSenderTest:shutdown_CompletableResultCodeShouldWaitForThreads,shutdown_NonManagedExecutor_ReturnsImmediately,shutdown_ExecutorDoesNotTerminateInTime_LogsWarningButSucceeds,shutdown_InterruptedWhileWaiting_StillSucceeds../gradlew :exporters:sender:okhttp:checkpassed (5 tests, 0 failures).