Version
2.15.0
Bug description
The code there is like this:
protected void doCloseImmediately() {
closeFuture.setClosed();
state.set(State.Closed);
}
So, we fulfill CloseFuture first, and then set the state to Closed.
This way Closeable.close(Closeable closeable) exits earlier than we mark that Closeable as Closed.
Actual behavior
In my case the unit test is failing sporadically for this:
session.close();
assertThat(clientSession.isClosed()).isTrue();
Expected behavior
The AbstractCloseable.doCloseImmediately() has those expressions swapped:
protected void doCloseImmediately() {
state.set(State.Closed);
closeFuture.setClosed();
}
Relevant log output
Other information
No response
Version
2.15.0
Bug description
The code there is like this:
So, we fulfill
CloseFuturefirst, and then set the state toClosed.This way
Closeable.close(Closeable closeable)exits earlier than we mark thatCloseableasClosed.Actual behavior
In my case the unit test is failing sporadically for this:
Expected behavior
The
AbstractCloseable.doCloseImmediately()has those expressions swapped:Relevant log output
Other information
No response