Skip to content

Commit

Permalink
fix #1165 Change the state after notifying that the connection is acq…
Browse files Browse the repository at this point in the history
…uired successfully.
  • Loading branch information
violetagg committed Jul 6, 2020
1 parent cccf966 commit d9ad6f0
Showing 1 changed file with 9 additions and 1 deletion.
Expand Up @@ -531,6 +531,10 @@ public void onUncaughtException(Connection connection, Throwable error) {
@Override
public void onStateChange(Connection connection, State newState) {
if (newState == State.CONFIGURED) {
// First send a notification that the connection is ready and then change the state
// In case a cancellation was received, ChannelOperations will be disposed
// and there will be no subscription to the I/O handler at all.
// https://github.com/reactor/reactor-netty/issues/1165
sink.success(connection);
}
obs.onStateChange(connection, newState);
Expand Down Expand Up @@ -600,8 +604,12 @@ else if (current == null) {
ChannelOperations<?, ?> ops = opsFactory.create(pooledConnection, pooledConnection, null);
if (ops != null) {
ops.bind();
obs.onStateChange(ops, State.CONFIGURED);
// First send a notification that the connection is ready and then change the state
// In case a cancellation was received, ChannelOperations will be disposed
// and there will be no subscription to the I/O handler at all.
// https://github.com/reactor/reactor-netty/issues/1165
sink.success(ops);
obs.onStateChange(ops, State.CONFIGURED);
}
else {
//already configured, just forward the connection
Expand Down

0 comments on commit d9ad6f0

Please sign in to comment.