You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently ObservableConnection cancels any pending writes on the connection when it is closed. The reason for doing this is:
When a connection is physically closed, there is no point in writing to that as they will anyways fail.
For a pooled connection, when the connection is closed (returned to the pool), if there are pending writes then the next use of the connection would be wrong.
Now, when a write is cancelled, the actual result of the promise creates the following logging noise (at warn level):
2014-10-21 22:06:58,035 WARN io.netty.util.internal.logging.Slf4JLogger:146 [rx-selector-1-3] [warn] Failed to mark a
promise as failure because it's done already: DefaultChannelPromise@25a1a946(failure(java.util.concurrent.CancellationE
xception)
Since, in the usecase 1 outlined above, the cancellation of the write is purely an optimization, which will kick in only if the flush did not happen before the close, it seems worth to eliminate the cancel in favor of reducing this logging noise.
For the case 2 above, it is a requirement to preserve this write cancellation as it has a functional impact.
The text was updated successfully, but these errors were encountered:
Currently
ObservableConnection
cancels any pending writes on the connection when it is closed. The reason for doing this is:Now, when a write is cancelled, the actual result of the promise creates the following logging noise (at warn level):
Since, in the usecase 1 outlined above, the cancellation of the write is purely an optimization, which will kick in only if the flush did not happen before the close, it seems worth to eliminate the cancel in favor of reducing this logging noise.
For the case 2 above, it is a requirement to preserve this write cancellation as it has a functional impact.
The text was updated successfully, but these errors were encountered: