This is an automated email from the ASF dual-hosted git repository.
boaz pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/drill.git
The following commit(s) were added to refs/heads/master by this push:
new c29655c DRILL-6435: MappingSet is stateful, so it can't be shared
between threads
c29655c is described below
commit c29655cd1edb70abd559cdb917660efceb2f452a
Author: Vlad Rozov <[email protected]>
AuthorDate: Wed May 23 09:14:13 2018 -0700
DRILL-6435: MappingSet is stateful, so it can't be shared between threads
---
.../drill/exec/physical/impl/TopN/TopNBatch.java | 6 ++---
.../exec/physical/impl/join/MergeJoinBatch.java | 10 ++++----
.../physical/impl/join/NestedLoopJoinBatch.java | 6 ++---
.../MergingReceiverGeneratorBase.java | 29 +++-------------------
.../impl/mergereceiver/MergingRecordBatch.java | 10 ++++----
.../OrderedPartitionRecordBatch.java | 6 ++---
.../drill/exec/physical/impl/sort/SortBatch.java | 6 ++---
.../physical/impl/xsort/ExternalSortBatch.java | 8 +++---
.../impl/xsort/managed/BaseSortWrapper.java | 6 ++---
.../xsort/managed/PriorityQueueCopierWrapper.java | 2 +-
10 files changed, 34 insertions(+), 55 deletions(-)
diff --git
a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/TopN/TopNBatch.java
b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/TopN/TopNBatch.java
index 3929714..366e4e8 100644
---
a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/TopN/TopNBatch.java
+++
b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/TopN/TopNBatch.java
@@ -72,9 +72,9 @@ import com.sun.codemodel.JExpr;
public class TopNBatch extends AbstractRecordBatch<TopN> {
static final org.slf4j.Logger logger =
org.slf4j.LoggerFactory.getLogger(TopNBatch.class);
- public final MappingSet mainMapping = createMainMappingSet();
- public final MappingSet leftMapping = createLeftMappingSet();
- public final MappingSet rightMapping = createRightMappingSet();
+ private final MappingSet mainMapping = createMainMappingSet();
+ private final MappingSet leftMapping = createLeftMappingSet();
+ private final MappingSet rightMapping = createRightMappingSet();
private final int batchPurgeThreshold;
private final boolean codegenDump;
diff --git
a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/MergeJoinBatch.java
b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/MergeJoinBatch.java
index 9713b70..a5c2ae7 100644
---
a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/MergeJoinBatch.java
+++
b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/MergeJoinBatch.java
@@ -73,23 +73,23 @@ public class MergeJoinBatch extends
AbstractBinaryRecordBatch<MergeJoinPOP> {
private static final org.slf4j.Logger logger =
org.slf4j.LoggerFactory.getLogger(MergeJoinBatch.class);
- public final MappingSet setupMapping =
+ private final MappingSet setupMapping =
new MappingSet("null", "null",
GM("doSetup", "doSetup", null, null),
GM("doSetup", "doSetup", null, null));
- public final MappingSet copyLeftMapping =
+ private final MappingSet copyLeftMapping =
new MappingSet("leftIndex", "outIndex",
GM("doSetup", "doSetup", null, null),
GM("doSetup", "doCopyLeft", null, null));
- public final MappingSet copyRightMappping =
+ private final MappingSet copyRightMappping =
new MappingSet("rightIndex", "outIndex",
GM("doSetup", "doSetup", null, null),
GM("doSetup", "doCopyRight", null, null));
- public final MappingSet compareMapping =
+ private final MappingSet compareMapping =
new MappingSet("leftIndex", "rightIndex",
GM("doSetup", "doSetup", null, null),
GM("doSetup", "doCompare", null, null));
- public final MappingSet compareRightMapping =
+ private final MappingSet compareRightMapping =
new MappingSet("rightIndex", "null",
GM("doSetup", "doSetup", null, null),
GM("doSetup", "doCompare", null, null));
diff --git
a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/NestedLoopJoinBatch.java
b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/NestedLoopJoinBatch.java
index 03bf58b..ae14fb3 100644
---
a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/NestedLoopJoinBatch.java
+++
b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/join/NestedLoopJoinBatch.java
@@ -111,17 +111,17 @@ public class NestedLoopJoinBatch extends
AbstractBinaryRecordBatch<NestedLoopJoi
// Mapping set for the right side
- private static final MappingSet emitRightMapping =
+ private final MappingSet emitRightMapping =
new MappingSet("rightCompositeIndex" /* read index */, "outIndex" /*
write index */, "rightContainer" /* read container */,
"outgoing" /* write container */, EMIT_RIGHT_CONSTANT, EMIT_RIGHT);
// Mapping set for the left side
- private static final MappingSet emitLeftMapping = new MappingSet("leftIndex"
/* read index */, "outIndex" /* write index */,
+ private final MappingSet emitLeftMapping = new MappingSet("leftIndex" /*
read index */, "outIndex" /* write index */,
"leftBatch" /* read container */,
"outgoing" /* write container */,
EMIT_LEFT_CONSTANT, EMIT_LEFT);
- private static final MappingSet SETUP_LEFT_MAPPING = new
MappingSet("leftIndex" /* read index */, "outIndex" /* write index */,
+ private final MappingSet SETUP_LEFT_MAPPING = new MappingSet("leftIndex" /*
read index */, "outIndex" /* write index */,
"leftBatch" /* read container */,
"outgoing" /* write container */,
ClassGenerator.DEFAULT_CONSTANT_MAP, ClassGenerator.DEFAULT_SCALAR_MAP);
diff --git
a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/mergereceiver/MergingReceiverGeneratorBase.java
b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/mergereceiver/MergingReceiverGeneratorBase.java
index 090ca58..a9cbfdf 100644
---
a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/mergereceiver/MergingReceiverGeneratorBase.java
+++
b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/mergereceiver/MergingReceiverGeneratorBase.java
@@ -17,36 +17,15 @@
*/
package org.apache.drill.exec.physical.impl.mergereceiver;
-import static org.apache.drill.exec.compile.sig.GeneratorMapping.GM;
-
import org.apache.drill.exec.compile.TemplateClassDefinition;
-import org.apache.drill.exec.compile.sig.MappingSet;
import org.apache.drill.exec.exception.SchemaChangeException;
import org.apache.drill.exec.ops.FragmentContext;
import org.apache.drill.exec.record.VectorAccessible;
public interface MergingReceiverGeneratorBase {
+ TemplateClassDefinition<MergingReceiverGeneratorBase> TEMPLATE_DEFINITION =
new TemplateClassDefinition<>(MergingReceiverGeneratorBase.class,
MergingReceiverTemplate.class);
- public abstract void doSetup(FragmentContext context,
- VectorAccessible incoming,
- VectorAccessible outgoing) throws
SchemaChangeException;
-
- public abstract int doEval(int leftIndex,
- int rightIndex) throws SchemaChangeException;
-
- public abstract void doCopy(int inIndex, int outIndex) throws
SchemaChangeException;
-
- public static TemplateClassDefinition<MergingReceiverGeneratorBase>
TEMPLATE_DEFINITION =
- new TemplateClassDefinition<>(MergingReceiverGeneratorBase.class,
MergingReceiverTemplate.class);
-
- public final MappingSet compareMapping =
- new MappingSet("leftIndex", "rightIndex",
- GM("doSetup", "doCompare", null, null),
- GM("doSetup", "doCompare", null, null));
-
- public final MappingSet copyMapping =
- new MappingSet("inIndex", "outIndex",
- GM("doSetup", "doCopy", null, null),
- GM("doSetup", "doCopy", null, null));
-
+ void doSetup(FragmentContext context, VectorAccessible incoming,
VectorAccessible outgoing) throws SchemaChangeException;
+ int doEval(int leftIndex, int rightIndex) throws SchemaChangeException;
+ void doCopy(int inIndex, int outIndex) throws SchemaChangeException;
}
diff --git
a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/mergereceiver/MergingRecordBatch.java
b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/mergereceiver/MergingRecordBatch.java
index 9087757..b9291cb 100644
---
a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/mergereceiver/MergingRecordBatch.java
+++
b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/mergereceiver/MergingRecordBatch.java
@@ -738,11 +738,11 @@ public class MergingRecordBatch extends
AbstractRecordBatch<MergingReceiverPOP>
}
}
- public final MappingSet MAIN_MAPPING = new MappingSet( (String) null, null,
ClassGenerator.DEFAULT_SCALAR_MAP, ClassGenerator.DEFAULT_SCALAR_MAP);
- public final MappingSet LEFT_MAPPING = new MappingSet("leftIndex", null,
ClassGenerator.DEFAULT_SCALAR_MAP, ClassGenerator.DEFAULT_SCALAR_MAP);
- public final MappingSet RIGHT_MAPPING = new MappingSet("rightIndex", null,
ClassGenerator.DEFAULT_SCALAR_MAP, ClassGenerator.DEFAULT_SCALAR_MAP);
- GeneratorMapping COPIER_MAPPING = new GeneratorMapping("doSetup", "doCopy",
null, null);
- public final MappingSet COPIER_MAPPING_SET = new MappingSet(COPIER_MAPPING,
COPIER_MAPPING);
+ private final MappingSet MAIN_MAPPING = new MappingSet( (String) null, null,
ClassGenerator.DEFAULT_SCALAR_MAP, ClassGenerator.DEFAULT_SCALAR_MAP);
+ private final MappingSet LEFT_MAPPING = new MappingSet("leftIndex", null,
ClassGenerator.DEFAULT_SCALAR_MAP, ClassGenerator.DEFAULT_SCALAR_MAP);
+ private final MappingSet RIGHT_MAPPING = new MappingSet("rightIndex", null,
ClassGenerator.DEFAULT_SCALAR_MAP, ClassGenerator.DEFAULT_SCALAR_MAP);
+ private GeneratorMapping COPIER_MAPPING = new GeneratorMapping("doSetup",
"doCopy", null, null);
+ private final MappingSet COPIER_MAPPING_SET = new MappingSet(COPIER_MAPPING,
COPIER_MAPPING);
private void generateComparisons(final ClassGenerator<?> g, final
VectorAccessible batch) throws SchemaChangeException {
g.setMappingSet(MAIN_MAPPING);
diff --git
a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/orderedpartitioner/OrderedPartitionRecordBatch.java
b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/orderedpartitioner/OrderedPartitionRecordBatch.java
index 9e82af8..8c5c0a4 100644
---
a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/orderedpartitioner/OrderedPartitionRecordBatch.java
+++
b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/orderedpartitioner/OrderedPartitionRecordBatch.java
@@ -101,11 +101,11 @@ public class OrderedPartitionRecordBatch extends
AbstractRecordBatch<OrderedPart
.mode(SerializationMode.DRILL_SERIALIZIABLE) //
.build();
- public final MappingSet mainMapping = new MappingSet( (String) null, null,
ClassGenerator.DEFAULT_CONSTANT_MAP,
+ private final MappingSet mainMapping = new MappingSet( (String) null, null,
ClassGenerator.DEFAULT_CONSTANT_MAP,
ClassGenerator.DEFAULT_SCALAR_MAP);
- public final MappingSet incomingMapping = new MappingSet("inIndex", null,
"incoming", null,
+ private final MappingSet incomingMapping = new MappingSet("inIndex", null,
"incoming", null,
ClassGenerator.DEFAULT_CONSTANT_MAP, ClassGenerator.DEFAULT_SCALAR_MAP);
- public final MappingSet partitionMapping = new MappingSet("partitionIndex",
null, "partitionVectors", null,
+ private final MappingSet partitionMapping = new MappingSet("partitionIndex",
null, "partitionVectors", null,
ClassGenerator.DEFAULT_CONSTANT_MAP, ClassGenerator.DEFAULT_SCALAR_MAP);
private final int recordsToSample; // How many records must be received
before analyzing
diff --git
a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/sort/SortBatch.java
b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/sort/SortBatch.java
index f38b62e..fc49d43 100644
---
a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/sort/SortBatch.java
+++
b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/sort/SortBatch.java
@@ -50,9 +50,9 @@ import com.sun.codemodel.JExpr;
public class SortBatch extends AbstractRecordBatch<Sort> {
private static final org.slf4j.Logger logger =
org.slf4j.LoggerFactory.getLogger(SortBatch.class);
- public final MappingSet mainMapping = new MappingSet( (String) null, null,
ClassGenerator.DEFAULT_CONSTANT_MAP, ClassGenerator.DEFAULT_SCALAR_MAP);
- public final MappingSet leftMapping = new MappingSet("leftIndex", null,
ClassGenerator.DEFAULT_CONSTANT_MAP, ClassGenerator.DEFAULT_SCALAR_MAP);
- public final MappingSet rightMapping = new MappingSet("rightIndex", null,
ClassGenerator.DEFAULT_CONSTANT_MAP, ClassGenerator.DEFAULT_SCALAR_MAP);
+ private final MappingSet mainMapping = new MappingSet( (String) null, null,
ClassGenerator.DEFAULT_CONSTANT_MAP, ClassGenerator.DEFAULT_SCALAR_MAP);
+ private final MappingSet leftMapping = new MappingSet("leftIndex", null,
ClassGenerator.DEFAULT_CONSTANT_MAP, ClassGenerator.DEFAULT_SCALAR_MAP);
+ private final MappingSet rightMapping = new MappingSet("rightIndex", null,
ClassGenerator.DEFAULT_CONSTANT_MAP, ClassGenerator.DEFAULT_SCALAR_MAP);
private final RecordBatch incoming;
private final SortRecordBatchBuilder builder;
diff --git
a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/xsort/ExternalSortBatch.java
b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/xsort/ExternalSortBatch.java
index 9cde1a5..0f3f8a3 100644
---
a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/xsort/ExternalSortBatch.java
+++
b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/xsort/ExternalSortBatch.java
@@ -88,10 +88,10 @@ public class ExternalSortBatch extends
AbstractRecordBatch<ExternalSort> {
private static final ControlsInjector injector =
ControlsInjectorFactory.getInjector(ExternalSortBatch.class);
private static final GeneratorMapping COPIER_MAPPING = new
GeneratorMapping("doSetup", "doCopy", null, null);
- private static final MappingSet MAIN_MAPPING = new MappingSet( (String)
null, null, ClassGenerator.DEFAULT_SCALAR_MAP,
ClassGenerator.DEFAULT_SCALAR_MAP);
- private static final MappingSet LEFT_MAPPING = new MappingSet("leftIndex",
null, ClassGenerator.DEFAULT_SCALAR_MAP, ClassGenerator.DEFAULT_SCALAR_MAP);
- private static final MappingSet RIGHT_MAPPING = new MappingSet("rightIndex",
null, ClassGenerator.DEFAULT_SCALAR_MAP, ClassGenerator.DEFAULT_SCALAR_MAP);
- private static final MappingSet COPIER_MAPPING_SET = new
MappingSet(COPIER_MAPPING, COPIER_MAPPING);
+ private final MappingSet MAIN_MAPPING = new MappingSet( (String) null, null,
ClassGenerator.DEFAULT_SCALAR_MAP, ClassGenerator.DEFAULT_SCALAR_MAP);
+ private final MappingSet LEFT_MAPPING = new MappingSet("leftIndex", null,
ClassGenerator.DEFAULT_SCALAR_MAP, ClassGenerator.DEFAULT_SCALAR_MAP);
+ private final MappingSet RIGHT_MAPPING = new MappingSet("rightIndex", null,
ClassGenerator.DEFAULT_SCALAR_MAP, ClassGenerator.DEFAULT_SCALAR_MAP);
+ private final MappingSet COPIER_MAPPING_SET = new MappingSet(COPIER_MAPPING,
COPIER_MAPPING);
private final int SPILL_BATCH_GROUP_SIZE;
private final int SPILL_THRESHOLD;
diff --git
a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/xsort/managed/BaseSortWrapper.java
b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/xsort/managed/BaseSortWrapper.java
index 338462e..d240080 100644
---
a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/xsort/managed/BaseSortWrapper.java
+++
b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/xsort/managed/BaseSortWrapper.java
@@ -41,9 +41,9 @@ import com.sun.codemodel.JExpr;
public abstract class BaseSortWrapper extends BaseWrapper {
- protected static final MappingSet MAIN_MAPPING = new MappingSet((String)
null, null, ClassGenerator.DEFAULT_SCALAR_MAP,
ClassGenerator.DEFAULT_SCALAR_MAP);
- protected static final MappingSet LEFT_MAPPING = new MappingSet("leftIndex",
null, ClassGenerator.DEFAULT_SCALAR_MAP, ClassGenerator.DEFAULT_SCALAR_MAP);
- protected static final MappingSet RIGHT_MAPPING = new
MappingSet("rightIndex", null, ClassGenerator.DEFAULT_SCALAR_MAP,
ClassGenerator.DEFAULT_SCALAR_MAP);
+ protected final MappingSet MAIN_MAPPING = new MappingSet((String) null,
null, ClassGenerator.DEFAULT_SCALAR_MAP, ClassGenerator.DEFAULT_SCALAR_MAP);
+ protected final MappingSet LEFT_MAPPING = new MappingSet("leftIndex", null,
ClassGenerator.DEFAULT_SCALAR_MAP, ClassGenerator.DEFAULT_SCALAR_MAP);
+ protected final MappingSet RIGHT_MAPPING = new MappingSet("rightIndex",
null, ClassGenerator.DEFAULT_SCALAR_MAP, ClassGenerator.DEFAULT_SCALAR_MAP);
public BaseSortWrapper(OperatorContext opContext) {
super(opContext);
diff --git
a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/xsort/managed/PriorityQueueCopierWrapper.java
b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/xsort/managed/PriorityQueueCopierWrapper.java
index dda42a2..9e13923 100644
---
a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/xsort/managed/PriorityQueueCopierWrapper.java
+++
b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/xsort/managed/PriorityQueueCopierWrapper.java
@@ -56,7 +56,7 @@ public class PriorityQueueCopierWrapper extends
BaseSortWrapper {
private static final org.slf4j.Logger logger =
org.slf4j.LoggerFactory.getLogger(PriorityQueueCopierWrapper.class);
private static final GeneratorMapping COPIER_MAPPING = new
GeneratorMapping("doSetup", "doCopy", null, null);
- private static final MappingSet COPIER_MAPPING_SET = new
MappingSet(COPIER_MAPPING, COPIER_MAPPING);
+ private final MappingSet COPIER_MAPPING_SET = new MappingSet(COPIER_MAPPING,
COPIER_MAPPING);
/**
* A single PriorityQueueCopier instance is used for 2 purposes:
--
To stop receiving notification emails like this one, please contact
[email protected].