Closed Myllyenko closed 2 months ago
Attention: Patch coverage is 0%
with 3 lines
in your changes missing coverage. Please review.
Project coverage is 46.37%. Comparing base (
16f2600
) to head (e741432
).
Files | Patch % | Lines |
---|---|---|
...java/tech/ydb/topic/read/impl/AsyncReaderImpl.java | 0.00% | 3 Missing :warning: |
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
This PR fixes a race condition that occurs upon invocation of
AsyncReaderImpl::shutdown
when thehandlerExecutor
field is set.The problem we faced:
AsyncReaderImpl::shutdown
.GrpcStreamRetrier::shutdownImpl
->AsyncReaderImpl::onShutdown
->AsyncReaderImpl::handleReaderClosed
.handleReaderClosed
sends an action callingeventHandler.onReaderClosed
tohandlerExecutor
but does not wait for execution.AsyncReaderImpl::shutdown
returns.handlerExecutor
.handlerExecutor
rejects the action from the third step andeventHandler.onReaderClosed
is never called.