Skip to content

Commit 263c846

Browse files
committed
Fix data race on stream resultsets
1 parent 1ac976e commit 263c846

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

jdbc/src/main/java/tech/ydb/jdbc/context/StreamQueryResult.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,9 +80,14 @@ public StreamQueryResult(String msg, YdbStatement statement, YdbQuery query, Run
8080

8181
public void onStreamResultSet(int index, ResultSetReader rsr) {
8282
CompletableFuture<Result<LazyResultSet>> future = resultFutures.get(index);
83+
8384
if (!future.isDone()) {
8485
ColumnInfo[] columns = ColumnInfo.fromResultSetReader(rsr);
85-
future.complete(Result.success(new LazyResultSet(statement, columns)));
86+
LazyResultSet rs = new LazyResultSet(statement, columns);
87+
rs.addResultSet(rsr);
88+
if (future.complete(Result.success(rs))) {
89+
return;
90+
}
8691
}
8792

8893
Result<LazyResultSet> res = future.join();

0 commit comments

Comments
 (0)