diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/subscription/TableViewportSubscription.java b/web/client-api/src/main/java/io/deephaven/web/client/api/subscription/TableViewportSubscription.java index 4267fe7d6d3..da506e88e01 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/subscription/TableViewportSubscription.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/subscription/TableViewportSubscription.java @@ -109,9 +109,13 @@ public TableViewportSubscription(double firstRow, double lastRow, Column[] colum this.original = existingTable; this.originalState = original.state(); copy = existingTable.copy(false).then(table -> new Promise<>((resolve, reject) -> { - // Wait until the state is running to copy it originalState.onRunning(newState -> { + if (this.status == Status.DONE) { + JsLog.debug("TableViewportSubscription closed before originalState.onRunning completed, ignoring"); + table.close(); + return; + } table.batch(batcher -> { batcher.customColumns(newState.getCustomColumns()); batcher.filter(newState.getFilters());