From 8641dd90c972a79d82ff2ca574547d807f7187b7 Mon Sep 17 00:00:00 2001 From: Colin Alworth Date: Wed, 13 Dec 2023 14:41:34 -0600 Subject: [PATCH] clearer naming and a comment --- .../table/impl/partitioned/PartitionedTableImpl.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/partitioned/PartitionedTableImpl.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/partitioned/PartitionedTableImpl.java index d7559c626d6..d401673b5f0 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/partitioned/PartitionedTableImpl.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/partitioned/PartitionedTableImpl.java @@ -297,7 +297,7 @@ public PartitionedTable transform( // Perform the transformation final Table resultTable = prepared.update(List.of(new TableTransformationColumn( constituentColumnName, - maybeReplaceExecContext(executionContext), + disableRecursiveParallelOperationInitialization(executionContext), prepared.isRefreshing() ? transformer : assertResultsStatic(transformer)))); // Make sure we have a valid result constituent definition @@ -325,7 +325,7 @@ public PartitionedTable transform( * {@link OperationInitializer#canParallelize()}, or must be a different instance than the current context's * OperationInitializer. */ - private static ExecutionContext maybeReplaceExecContext(ExecutionContext provided) { + private static ExecutionContext disableRecursiveParallelOperationInitialization(ExecutionContext provided) { if (provided == null) { return null; } @@ -336,6 +336,9 @@ private static ExecutionContext maybeReplaceExecContext(ExecutionContext provide if (current.getInitializer() != provided.getInitializer()) { return provided; } + + // The current operation initializer isn't safe to submit more tasks that we will block on, replace + // with an instance that will never attempt to push work to another thread return provided.withOperationInitializer(OperationInitializer.NON_PARALLELIZABLE); } @@ -374,7 +377,7 @@ public PartitionedTable partitionedTransform( .update(List.of(new BiTableTransformationColumn( constituentColumnName, RHS_CONSTITUENT, - maybeReplaceExecContext(executionContext), + disableRecursiveParallelOperationInitialization(executionContext), prepared.isRefreshing() ? transformer : assertResultsStatic(transformer)))) .dropColumns(RHS_CONSTITUENT);