vertx-sql-client
vertx-sql-client copied to clipboard
Cursor .close() not finishes in case of multiple close attempts
Version
4.5.3
Context
CursorImpl.close never finishes promise in case of it's already closed, all logic in !closed branch.
private synchronized void close(Promise<Void> promise) {
if (!closed) {
....
Steps to reproduce
sqlConnection.prepare("select * from test")
.compose(preparedStatement ->
{
Cursor cursor = preparedStatement.cursor();
return cursor.read(1)
.compose(rowSet -> {
Future<Void> close1 = cursor.close();
Future<Void> close2 = cursor.close();
return Future.join(close1, close2)
.onComplete(ar -> {
// never gets called
});
});
});