diff --git a/java-client/barrage/src/main/java/io/deephaven/client/impl/BarrageSnapshotImpl.java b/java-client/barrage/src/main/java/io/deephaven/client/impl/BarrageSnapshotImpl.java index d7aeddfebdf..1cf704e6aa6 100644 --- a/java-client/barrage/src/main/java/io/deephaven/client/impl/BarrageSnapshotImpl.java +++ b/java-client/barrage/src/main/java/io/deephaven/client/impl/BarrageSnapshotImpl.java @@ -201,6 +201,8 @@ public synchronized BarrageTable partialTable(RowSet viewport, BitSet columns, b .setAppMetadata(ByteStringAccess.wrap(makeRequestInternal(viewport, columns, reverseViewport, options))) .build()); + observer.onCompleted(); + while (!completed && exceptionWhileCompleting == null) { // handle the condition where this function may have the exclusive lock if (completedCondition != null) { @@ -210,8 +212,6 @@ public synchronized BarrageTable partialTable(RowSet viewport, BitSet columns, b } } - observer.onCompleted(); - if (exceptionWhileCompleting == null) { return resultTable; } else {