You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@drill.apache.org by js...@apache.org on 2015/09/02 23:52:55 UTC
[4/5] drill git commit: DRILL-3598: use a factory to create the root
allocator. - made the constructor for TopLevelAllocator package private to
enforce this
DRILL-3598: use a factory to create the root allocator.
- made the constructor for TopLevelAllocator package private to enforce this
Delete a test that had been commented out for over a year, it no longer compiles due to interface changes and there is plenty of other testing for hash aggregate.
Project: http://git-wip-us.apache.org/repos/asf/drill/repo
Commit: http://git-wip-us.apache.org/repos/asf/drill/commit/bfe6cfad
Tree: http://git-wip-us.apache.org/repos/asf/drill/tree/bfe6cfad
Diff: http://git-wip-us.apache.org/repos/asf/drill/diff/bfe6cfad
Branch: refs/heads/master
Commit: bfe6cfadc084d8ebba52236bbe2556d77ae357e0
Parents: e39fa83
Author: Chris Westin <cw...@yahoo.com>
Authored: Tue Aug 4 06:26:57 2015 -0700
Committer: Jason Altekruse <al...@gmail.com>
Committed: Wed Sep 2 14:05:28 2015 -0700
----------------------------------------------------------------------
.../apache/drill/exec/TestMemoryRetention.java | 54 ++--
.../apache/drill/exec/client/DrillClient.java | 33 +--
.../org/apache/drill/exec/client/DumpCat.java | 62 ++---
.../exec/client/PrintingResultsListener.java | 4 +-
.../drill/exec/memory/RootAllocatorFactory.java | 67 +++++
.../drill/exec/memory/TopLevelAllocator.java | 8 +-
.../drill/exec/server/BootStrapContext.java | 11 +-
.../java/org/apache/drill/BaseTestQuery.java | 39 +--
.../java/org/apache/drill/PlanningBase.java | 24 +-
.../apache/drill/exec/client/DumpCatTest.java | 55 ++--
.../apache/drill/exec/expr/ExpressionTest.java | 27 +-
.../fn/impl/TestByteComparisonFunctions.java | 83 +++---
.../drill/exec/fn/impl/TestMathFunctions.java | 69 +++--
.../exec/fn/impl/TestNewMathFunctions.java | 47 ++--
.../exec/fn/impl/TestRepeatedFunction.java | 44 ++--
.../apache/drill/exec/memory/TestEndianess.java | 23 +-
.../exec/physical/impl/TestCastFunctions.java | 263 +++++++++----------
.../physical/impl/TestComparisonFunctions.java | 25 +-
.../impl/TestImplicitCastFunctions.java | 37 ++-
.../exec/physical/impl/TestOptiqPlans.java | 161 ++++++------
.../physical/impl/TestSimpleFragmentRun.java | 46 ++--
.../exec/physical/impl/TestSimpleFunctions.java | 109 ++++----
.../exec/physical/impl/TestStringFunctions.java | 116 ++++----
.../drill/exec/physical/impl/agg/TestAgg.java | 63 ++---
.../physical/impl/common/TestHashTable.java | 53 ++--
.../physical/impl/filter/TestSimpleFilter.java | 51 ++--
.../exec/physical/impl/join/TestHashJoin.java | 75 +++---
.../exec/physical/impl/join/TestMergeJoin.java | 148 +++++------
.../physical/impl/limit/TestSimpleLimit.java | 56 ++--
.../impl/project/TestSimpleProjection.java | 30 +--
.../exec/physical/impl/sort/TestSimpleSort.java | 14 +-
.../impl/trace/TestTraceMultiRecordBatch.java | 58 ++--
.../impl/trace/TestTraceOutputDump.java | 113 ++++----
.../physical/impl/union/TestSimpleUnion.java | 36 ++-
.../drill/exec/record/vector/TestLoad.java | 33 +--
.../exec/record/vector/TestValueVector.java | 10 +-
.../exec/server/TestDrillbitResilience.java | 8 +-
.../exec/store/TestDirectCodecFactory.java | 51 ++--
.../store/parquet/ParquetRecordReaderTest.java | 10 +-
.../drill/exec/testing/TestResourceLeak.java | 14 +-
.../drill/exec/vector/TestSplitAndTransfer.java | 31 +--
.../vector/complex/TestEmptyPopulation.java | 8 +-
.../vector/complex/writer/TestRepeated.java | 6 +-
.../drill/jdbc/impl/DrillConnectionImpl.java | 8 +-
44 files changed, 1111 insertions(+), 1172 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/drill/blob/bfe6cfad/exec/java-exec/src/main/java/org/apache/drill/exec/TestMemoryRetention.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/TestMemoryRetention.java b/exec/java-exec/src/main/java/org/apache/drill/exec/TestMemoryRetention.java
index 37e5389..f632125 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/TestMemoryRetention.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/TestMemoryRetention.java
@@ -25,29 +25,30 @@ import java.util.Random;
import java.util.concurrent.atomic.AtomicInteger;
import org.apache.drill.common.config.DrillConfig;
-import org.apache.drill.exec.memory.TopLevelAllocator;
+import org.apache.drill.exec.memory.BufferAllocator;
+import org.apache.drill.exec.memory.RootAllocatorFactory;
import com.google.common.collect.Lists;
public class TestMemoryRetention {
- static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(TestMemoryRetention.class);
+ private static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(TestMemoryRetention.class);
- static final int SMALL_AVERAGE_BYTES = 1024 * 32;
- static final int LARGE_BYTES = 32 * 1024 * 1024;
- static final int PARALLEL_THREADS = 32;
- static final double SMALL_ALLOCATION_MEM = 0.20;
- static final double OVERHEAD_ALLOWANCE = 0.20;
- static final List<Integer> ALLOCATIONS;
- static final int MAX_ALLOCS = 100;
- static final AtomicInteger ALLOCS = new AtomicInteger(0);
+ private static final int SMALL_AVERAGE_BYTES = 1024 * 32;
+ private static final int LARGE_BYTES = 32 * 1024 * 1024;
+ private static final int PARALLEL_THREADS = 32;
+ private static final double SMALL_ALLOCATION_MEM = 0.20;
+ private static final double OVERHEAD_ALLOWANCE = 0.20;
+ private static final List<Integer> ALLOCATIONS;
+ private static final int MAX_ALLOCS = 100;
+ private static final AtomicInteger ALLOCS = new AtomicInteger(0);
static {
- Random r = new Random();
- long maxMemory = DrillConfig.getMaxDirectMemory();
- long maxPerThread = maxMemory / PARALLEL_THREADS;
- double smallCount = (maxPerThread * SMALL_ALLOCATION_MEM) / SMALL_AVERAGE_BYTES;
- double largeCount = (maxPerThread * (1 - SMALL_ALLOCATION_MEM - OVERHEAD_ALLOWANCE)) / LARGE_BYTES;
- List<Integer> allocations = Lists.newArrayList();
+ final Random r = new Random();
+ final long maxMemory = DrillConfig.getMaxDirectMemory();
+ final long maxPerThread = maxMemory / PARALLEL_THREADS;
+ final double smallCount = (maxPerThread * SMALL_ALLOCATION_MEM) / SMALL_AVERAGE_BYTES;
+ final double largeCount = (maxPerThread * (1 - SMALL_ALLOCATION_MEM - OVERHEAD_ALLOWANCE)) / LARGE_BYTES;
+ final List<Integer> allocations = Lists.newArrayList();
for (int i = 0; i < smallCount; i++) {
allocations.add(SMALL_AVERAGE_BYTES / 2 + r.nextInt(SMALL_AVERAGE_BYTES));
@@ -63,7 +64,7 @@ public class TestMemoryRetention {
public static void main(String[] args) throws Exception {
final DrillConfig config = DrillConfig.create();
- final TopLevelAllocator a = new TopLevelAllocator(config);
+ final BufferAllocator a = RootAllocatorFactory.newRoot(config);
for (int i = 0; i < PARALLEL_THREADS; i++) {
Alloc alloc = new Alloc(a);
alloc.start();
@@ -71,15 +72,15 @@ public class TestMemoryRetention {
}
private static class Alloc extends Thread {
- final TopLevelAllocator allocator;
+ final BufferAllocator allocator;
- Alloc(TopLevelAllocator allocator) {
+ Alloc(BufferAllocator allocator) {
this.allocator = allocator;
}
@Override
public void run() {
- Random r = new Random();
+ final Random r = new Random();
try {
if (ALLOCS.incrementAndGet() > MAX_ALLOCS) {
@@ -93,7 +94,7 @@ public class TestMemoryRetention {
logger.info("Starting alloc.");
final List<DrillBuf> bufs = Lists.newLinkedList();
- for (Integer i : ALLOCATIONS) {
+ for (final Integer i : ALLOCATIONS) {
bufs.add(allocator.buffer(i));
}
Collections.shuffle(bufs);
@@ -107,25 +108,24 @@ public class TestMemoryRetention {
} else {
d.run();
}
-
}
-
}
private static class Dealloc extends Thread {
final List<DrillBuf> bufs;
- final TopLevelAllocator a;
+ final BufferAllocator a;
- public Dealloc(List<DrillBuf> bufs, TopLevelAllocator a) {
+ public Dealloc(List<DrillBuf> bufs, BufferAllocator a) {
this.bufs = bufs;
this.a = a;
}
+ @Override
public void run() {
try {
Thread.sleep(8000);
logger.info("Starting release.");
- for (DrillBuf buf : bufs) {
+ for (final DrillBuf buf : bufs) {
buf.release();
}
logger.info("Finished release.");
@@ -139,6 +139,4 @@ public class TestMemoryRetention {
alloc.start();
}
}
-
-
}
http://git-wip-us.apache.org/repos/asf/drill/blob/bfe6cfad/exec/java-exec/src/main/java/org/apache/drill/exec/client/DrillClient.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/client/DrillClient.java b/exec/java-exec/src/main/java/org/apache/drill/exec/client/DrillClient.java
index c642c4a..911828a 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/client/DrillClient.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/client/DrillClient.java
@@ -37,7 +37,7 @@ import org.apache.drill.exec.ExecConstants;
import org.apache.drill.exec.coord.ClusterCoordinator;
import org.apache.drill.exec.coord.zk.ZKClusterCoordinator;
import org.apache.drill.exec.memory.BufferAllocator;
-import org.apache.drill.exec.memory.TopLevelAllocator;
+import org.apache.drill.exec.memory.RootAllocatorFactory;
import org.apache.drill.exec.proto.CoordinationProtos.DrillbitEndpoint;
import org.apache.drill.exec.proto.GeneralRPCProtos.Ack;
import org.apache.drill.exec.proto.UserBitShared;
@@ -123,7 +123,7 @@ public class DrillClient implements Closeable, ConnectionThrottle {
this.isDirectConnection = isDirect;
this.ownsZkConnection = coordinator == null && !isDirect;
this.ownsAllocator = allocator == null;
- this.allocator = ownsAllocator ? new TopLevelAllocator(config) : allocator;
+ this.allocator = ownsAllocator ? RootAllocatorFactory.newRoot(config) : allocator;
this.config = config;
this.clusterCoordinator = coordinator;
this.reconnectTimes = config.getInt(ExecConstants.BIT_RETRY_TIMES);
@@ -173,8 +173,8 @@ public class DrillClient implements Closeable, ConnectionThrottle {
final DrillbitEndpoint endpoint;
if (isDirectConnection) {
- String[] connectInfo = props.getProperty("drillbit").split(":");
- String port = connectInfo.length==2?connectInfo[1]:config.getString(ExecConstants.INITIAL_USER_PORT);
+ final String[] connectInfo = props.getProperty("drillbit").split(":");
+ final String port = connectInfo.length==2?connectInfo[1]:config.getString(ExecConstants.INITIAL_USER_PORT);
endpoint = DrillbitEndpoint.newBuilder()
.setAddress(connectInfo[0])
.setUserPort(Integer.parseInt(port))
@@ -189,7 +189,7 @@ public class DrillClient implements Closeable, ConnectionThrottle {
}
}
- ArrayList<DrillbitEndpoint> endpoints = new ArrayList<>(clusterCoordinator.getAvailableEndpoints());
+ final ArrayList<DrillbitEndpoint> endpoints = new ArrayList<>(clusterCoordinator.getAvailableEndpoints());
checkState(!endpoints.isEmpty(), "No DrillbitEndpoint can be found");
// shuffle the collection then get the first endpoint
Collections.shuffle(endpoints);
@@ -197,8 +197,8 @@ public class DrillClient implements Closeable, ConnectionThrottle {
}
if (props != null) {
- UserProperties.Builder upBuilder = UserProperties.newBuilder();
- for (String key : props.stringPropertyNames()) {
+ final UserProperties.Builder upBuilder = UserProperties.newBuilder();
+ for (final String key : props.stringPropertyNames()) {
upBuilder.addProperties(Property.newBuilder().setKey(key).setValue(props.getProperty(key)));
}
@@ -225,7 +225,7 @@ public class DrillClient implements Closeable, ConnectionThrottle {
retry--;
try {
Thread.sleep(this.reconnectDelay);
- ArrayList<DrillbitEndpoint> endpoints = new ArrayList<>(clusterCoordinator.getAvailableEndpoints());
+ final ArrayList<DrillbitEndpoint> endpoints = new ArrayList<>(clusterCoordinator.getAvailableEndpoints());
if (endpoints.isEmpty()) {
continue;
}
@@ -240,7 +240,7 @@ public class DrillClient implements Closeable, ConnectionThrottle {
}
private void connect(DrillbitEndpoint endpoint) throws RpcException {
- FutureHandler f = new FutureHandler();
+ final FutureHandler f = new FutureHandler();
client.connect(f, endpoint, props, getUserCredentials());
f.checkedGet();
}
@@ -285,8 +285,8 @@ public class DrillClient implements Closeable, ConnectionThrottle {
* @throws RpcException
*/
public List<QueryDataBatch> runQuery(QueryType type, String plan) throws RpcException {
- UserProtos.RunQuery query = newBuilder().setResultsMode(STREAM_FULL).setType(type).setPlan(plan).build();
- ListHoldingResultsListener listener = new ListHoldingResultsListener(query);
+ final UserProtos.RunQuery query = newBuilder().setResultsMode(STREAM_FULL).setType(type).setPlan(plan).build();
+ final ListHoldingResultsListener listener = new ListHoldingResultsListener(query);
client.submitQuery(listener, query);
return listener.getResults();
}
@@ -329,17 +329,15 @@ public class DrillClient implements Closeable, ConnectionThrottle {
* Submits a Logical plan for direct execution (bypasses parsing)
*
* @param plan the plan to execute
- * @return a handle for the query result
- * @throws RpcException
*/
public void runQuery(QueryType type, String plan, UserResultsListener resultsListener) {
client.submitQuery(resultsListener, newBuilder().setResultsMode(STREAM_FULL).setType(type).setPlan(plan).build());
}
private class ListHoldingResultsListener implements UserResultsListener {
- private Vector<QueryDataBatch> results = new Vector<>();
- private SettableFuture<List<QueryDataBatch>> future = SettableFuture.create();
- private UserProtos.RunQuery query ;
+ private final Vector<QueryDataBatch> results = new Vector<>();
+ private final SettableFuture<List<QueryDataBatch>> future = SettableFuture.create();
+ private final UserProtos.RunQuery query ;
public ListHoldingResultsListener(UserProtos.RunQuery query) {
logger.debug( "Listener created for query \"\"\"{}\"\"\"", query );
@@ -395,11 +393,9 @@ public class DrillClient implements Closeable, ConnectionThrottle {
logger.debug("Query ID arrived: {}", QueryIdHelper.getQueryId(queryId));
}
}
-
}
private class FutureHandler extends AbstractCheckedFuture<Void, RpcException> implements RpcConnectionHandler<ServerConnection>, DrillRpcFuture<Void>{
-
protected FutureHandler() {
super( SettableFuture.<Void>create());
}
@@ -427,6 +423,5 @@ public class DrillClient implements Closeable, ConnectionThrottle {
public DrillBuf getBuffer() {
return null;
}
-
}
}
http://git-wip-us.apache.org/repos/asf/drill/blob/bfe6cfad/exec/java-exec/src/main/java/org/apache/drill/exec/client/DumpCat.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/client/DumpCat.java b/exec/java-exec/src/main/java/org/apache/drill/exec/client/DumpCat.java
index 55d9cf3..54a61c8 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/client/DumpCat.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/client/DumpCat.java
@@ -21,9 +21,10 @@ import java.io.File;
import java.io.FileInputStream;
import java.util.List;
+import org.apache.drill.common.config.DrillConfig;
import org.apache.drill.exec.cache.VectorAccessibleSerializable;
import org.apache.drill.exec.memory.BufferAllocator;
-import org.apache.drill.exec.memory.TopLevelAllocator;
+import org.apache.drill.exec.memory.RootAllocatorFactory;
import org.apache.drill.exec.record.BatchSchema;
import org.apache.drill.exec.record.BatchSchema.SelectionVectorMode;
import org.apache.drill.exec.record.MaterializedField;
@@ -39,20 +40,20 @@ import com.beust.jcommander.ParameterException;
import com.google.common.collect.Lists;
public class DumpCat {
-
- private final static BufferAllocator allocator = new TopLevelAllocator();
+ private final static DrillConfig drillConfig = DrillConfig.create();
+ private final static BufferAllocator allocator = RootAllocatorFactory.newRoot(drillConfig);
public static void main(String args[]) throws Exception {
- DumpCat dumpCat = new DumpCat();
+ final DumpCat dumpCat = new DumpCat();
- Options o = new Options();
+ final Options o = new Options();
JCommander jc = null;
try {
jc = new JCommander(o, args);
jc.setProgramName("./drill_dumpcat");
} catch (ParameterException e) {
System.out.println(e.getMessage());
- String[] valid = {"-f", "file"};
+ final String[] valid = {"-f", "file"};
new JCommander(o, valid).usage();
System.exit(-1);
}
@@ -62,21 +63,19 @@ public class DumpCat {
}
/*Check if dump file exists*/
- File file = new File(o.location);
+ final File file = new File(o.location);
if (!file.exists()) {
System.out.println(String.format("Trace file %s not created", o.location));
System.exit(-1);
}
- FileInputStream input = new FileInputStream(file.getAbsoluteFile());
-
- if (o.batch < 0) {
- dumpCat.doQuery(input);
- } else {
- dumpCat.doBatch(input, o.batch, o.include_headers);
+ try (final FileInputStream input = new FileInputStream(file.getAbsoluteFile())) {
+ if (o.batch < 0) {
+ dumpCat.doQuery(input);
+ } else {
+ dumpCat.doBatch(input, o.batch, o.include_headers);
+ }
}
-
- input.close();
}
/**
@@ -86,7 +85,7 @@ public class DumpCat {
@Override
public void validate(String name, String value) throws ParameterException {
try {
- int batch = Integer.parseInt(value);
+ final int batch = Integer.parseInt(value);
if (batch < 0) {
throw new ParameterException("Parameter " + name + " should be non-negative number.");
}
@@ -140,7 +139,7 @@ public class DumpCat {
@Override
public String toString() {
String avgRecSizeStr = null;
- if (this.rows>0) {
+ if (this.rows > 0) {
avgRecSizeStr = String.format("Average Record Size : %d ", this.dataSize/this.rows);
} else {
avgRecSizeStr = "Average Record Size : 0";
@@ -169,14 +168,14 @@ public class DumpCat {
int batchNum = 0;
int emptyBatchNum = 0;
BatchSchema prevSchema = null;
- List<Integer> schemaChangeIdx = Lists.newArrayList();
+ final List<Integer> schemaChangeIdx = Lists.newArrayList();
- BatchMetaInfo aggBatchMetaInfo = new BatchMetaInfo();
+ final BatchMetaInfo aggBatchMetaInfo = new BatchMetaInfo();
while (input.available() > 0) {
- VectorAccessibleSerializable vcSerializable = new VectorAccessibleSerializable(DumpCat.allocator);
+ final VectorAccessibleSerializable vcSerializable = new VectorAccessibleSerializable(DumpCat.allocator);
vcSerializable.readFromStream(input);
- VectorContainer vectorContainer = (VectorContainer) vcSerializable.get();
+ final VectorContainer vectorContainer = (VectorContainer) vcSerializable.get();
aggBatchMetaInfo.add(getBatchMetaInfo(vcSerializable));
@@ -225,7 +224,7 @@ public class DumpCat {
vcSerializable.readFromStream(input);
if (batchNum != targetBatchNum) {
- VectorContainer vectorContainer = (VectorContainer) vcSerializable.get();
+ final VectorContainer vectorContainer = (VectorContainer) vcSerializable.get();
vectorContainer.zeroVectors();
}
}
@@ -238,22 +237,21 @@ public class DumpCat {
if (vcSerializable != null) {
showSingleBatch(vcSerializable, showHeader);
- VectorContainer vectorContainer = (VectorContainer) vcSerializable.get();
+ final VectorContainer vectorContainer = (VectorContainer) vcSerializable.get();
vectorContainer.zeroVectors();
}
}
-
private void showSingleBatch (VectorAccessibleSerializable vcSerializable, boolean showHeader) {
- VectorContainer vectorContainer = (VectorContainer)vcSerializable.get();
+ final VectorContainer vectorContainer = (VectorContainer) vcSerializable.get();
/* show the header of the batch */
if (showHeader) {
System.out.println(getBatchMetaInfo(vcSerializable).toString());
System.out.println("Schema Information");
- for (VectorWrapper w : vectorContainer) {
- MaterializedField field = w.getValueVector().getField();
+ for (final VectorWrapper w : vectorContainer) {
+ final MaterializedField field = w.getValueVector().getField();
System.out.println (String.format("name : %s, minor_type : %s, data_mode : %s",
field.toExpr(),
field.getType().getMinorType().toString(),
@@ -266,12 +264,11 @@ public class DumpCat {
VectorUtil.showVectorAccessibleContent(vectorContainer);
}
-
/* Get batch meta info : rows, selectedRows, dataSize */
private BatchMetaInfo getBatchMetaInfo(VectorAccessibleSerializable vcSerializable) {
- VectorAccessible vectorContainer = vcSerializable.get();
+ final VectorAccessible vectorContainer = vcSerializable.get();
- int rows =0;
+ int rows = 0;
int selectedRows = 0;
int totalDataSize = 0;
@@ -282,11 +279,10 @@ public class DumpCat {
selectedRows = vcSerializable.getSv2().getCount();
}
- for (VectorWrapper w : vectorContainer) {
+ for (final VectorWrapper w : vectorContainer) {
totalDataSize += w.getValueVector().getBufferSize();
}
- return new BatchMetaInfo(rows, selectedRows, totalDataSize);
+ return new BatchMetaInfo(rows, selectedRows, totalDataSize);
}
-
}
http://git-wip-us.apache.org/repos/asf/drill/blob/bfe6cfad/exec/java-exec/src/main/java/org/apache/drill/exec/client/PrintingResultsListener.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/client/PrintingResultsListener.java b/exec/java-exec/src/main/java/org/apache/drill/exec/client/PrintingResultsListener.java
index 8cb4a0b..212e8b0 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/client/PrintingResultsListener.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/client/PrintingResultsListener.java
@@ -28,7 +28,7 @@ import org.apache.drill.common.exceptions.UserException;
import org.apache.drill.exec.client.QuerySubmitter.Format;
import org.apache.drill.exec.exception.SchemaChangeException;
import org.apache.drill.exec.memory.BufferAllocator;
-import org.apache.drill.exec.memory.TopLevelAllocator;
+import org.apache.drill.exec.memory.RootAllocatorFactory;
import org.apache.drill.exec.proto.UserBitShared.QueryData;
import org.apache.drill.exec.proto.UserBitShared.QueryId;
import org.apache.drill.exec.proto.UserBitShared.QueryResult.QueryState;
@@ -54,7 +54,7 @@ public class PrintingResultsListener implements UserResultsListener {
Stopwatch w = new Stopwatch();
public PrintingResultsListener(DrillConfig config, Format format, int columnWidth) {
- this.allocator = new TopLevelAllocator(config);
+ this.allocator = RootAllocatorFactory.newRoot(config);
loader = new RecordBatchLoader(allocator);
this.format = format;
this.columnWidth = columnWidth;
http://git-wip-us.apache.org/repos/asf/drill/blob/bfe6cfad/exec/java-exec/src/main/java/org/apache/drill/exec/memory/RootAllocatorFactory.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/memory/RootAllocatorFactory.java b/exec/java-exec/src/main/java/org/apache/drill/exec/memory/RootAllocatorFactory.java
new file mode 100644
index 0000000..a413e4a
--- /dev/null
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/memory/RootAllocatorFactory.java
@@ -0,0 +1,67 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.drill.exec.memory;
+
+import org.apache.drill.common.config.DrillConfig;
+
+import com.google.common.annotations.VisibleForTesting;
+
+public class RootAllocatorFactory {
+ /**
+ * Constructor to prevent instantiation of this static utility class.
+ */
+ private RootAllocatorFactory() {}
+
+ /**
+ * Factory method.
+ *
+ * @param drillConfig the DrillConfig
+ * @return a new root allocator
+ */
+ public static BufferAllocator newRoot(final DrillConfig drillConfig) {
+/* TODO(DRILL-1942)
+ if (BaseAllocator.DEBUG) {
+ return new TopLevelAllocator(drillConfig);
+ }
+*/
+
+ return new TopLevelAllocator(drillConfig);
+ }
+
+ /**
+ * Factory method for testing, where a DrillConfig may not be available.
+ *
+ * @param allocationPolicy the allocation policy
+ * @param initAllocation initial allocation from parent
+ * @param maxReservation maximum amount of memory this can hand out
+ * @param flags one of BufferAllocator's F_* flags
+ * @return a new root allocator
+ */
+/* TODO(DRILL-1942)
+ @VisibleForTesting
+ public static BufferAllocator newRoot(
+ final AllocationPolicy allocationPolicy,
+ final long initAllocation, final long maxReservation, final int flags) {
+ if (BaseAllocator.DEBUG) {
+ return new RootAllocatorDebug(allocationPolicy, initAllocation, maxReservation, flags);
+ }
+
+ return new RootAllocator(allocationPolicy, initAllocation, maxReservation, flags);
+ }
+*/
+}
http://git-wip-us.apache.org/repos/asf/drill/blob/bfe6cfad/exec/java-exec/src/main/java/org/apache/drill/exec/memory/TopLevelAllocator.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/memory/TopLevelAllocator.java b/exec/java-exec/src/main/java/org/apache/drill/exec/memory/TopLevelAllocator.java
index 05849ea..6e23402 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/memory/TopLevelAllocator.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/memory/TopLevelAllocator.java
@@ -51,15 +51,17 @@ public class TopLevelAllocator implements BufferAllocator {
private final DrillBuf empty;
private final DrillConfig config;
+ /* TODO(cwestin) remove
@Deprecated
- public TopLevelAllocator() {
+ TopLevelAllocator() {
this(DrillConfig.getMaxDirectMemory());
}
@Deprecated
- public TopLevelAllocator(long maximumAllocation) {
+ TopLevelAllocator(long maximumAllocation) {
this(null, maximumAllocation, true);
}
+ */
private TopLevelAllocator(DrillConfig config, long maximumAllocation, boolean errorOnLeak){
MAXIMUM_DIRECT_MEMORY = maximumAllocation;
@@ -70,7 +72,7 @@ public class TopLevelAllocator implements BufferAllocator {
this.childrenMap = ENABLE_ACCOUNTING ? new IdentityHashMap<ChildAllocator, StackTraceElement[]>() : null;
}
- public TopLevelAllocator(DrillConfig config) {
+ TopLevelAllocator(DrillConfig config) {
this(config, Math.min(DrillConfig.getMaxDirectMemory(), config.getLong(ExecConstants.TOP_LEVEL_MAX_ALLOC)),
config.getBoolean(ExecConstants.ERROR_ON_MEMORY_LEAK)
);
http://git-wip-us.apache.org/repos/asf/drill/blob/bfe6cfad/exec/java-exec/src/main/java/org/apache/drill/exec/server/BootStrapContext.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/server/BootStrapContext.java b/exec/java-exec/src/main/java/org/apache/drill/exec/server/BootStrapContext.java
index d0a998e..120c0d0 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/server/BootStrapContext.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/server/BootStrapContext.java
@@ -24,15 +24,15 @@ import java.io.Closeable;
import org.apache.drill.common.config.DrillConfig;
import org.apache.drill.exec.ExecConstants;
import org.apache.drill.exec.memory.BufferAllocator;
-import org.apache.drill.exec.memory.TopLevelAllocator;
+import org.apache.drill.exec.memory.RootAllocatorFactory;
import org.apache.drill.exec.metrics.DrillMetrics;
import org.apache.drill.exec.rpc.TransportCheck;
import com.codahale.metrics.MetricRegistry;
// TODO: Doc. What kind of context? (For what aspects, RPC? What kind of data?)
-public class BootStrapContext implements Closeable{
- static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(BootStrapContext.class);
+public class BootStrapContext implements Closeable {
+ //private static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(BootStrapContext.class);
private final DrillConfig config;
private final EventLoopGroup loop;
@@ -41,12 +41,11 @@ public class BootStrapContext implements Closeable{
private final BufferAllocator allocator;
public BootStrapContext(DrillConfig config) {
- super();
this.config = config;
this.loop = TransportCheck.createEventLoopGroup(config.getInt(ExecConstants.BIT_SERVER_RPC_THREADS), "BitServer-");
this.loop2 = TransportCheck.createEventLoopGroup(config.getInt(ExecConstants.BIT_SERVER_RPC_THREADS), "BitClient-");
this.metrics = DrillMetrics.getInstance();
- this.allocator = new TopLevelAllocator(config);
+ this.allocator = RootAllocatorFactory.newRoot(config);
}
public DrillConfig getConfig() {
@@ -69,10 +68,10 @@ public class BootStrapContext implements Closeable{
return allocator;
}
+ @Override
public void close() {
DrillMetrics.resetMetrics();
loop.shutdownGracefully();
allocator.close();
}
-
}
http://git-wip-us.apache.org/repos/asf/drill/blob/bfe6cfad/exec/java-exec/src/test/java/org/apache/drill/BaseTestQuery.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/test/java/org/apache/drill/BaseTestQuery.java b/exec/java-exec/src/test/java/org/apache/drill/BaseTestQuery.java
index d428920..eaf8765 100644
--- a/exec/java-exec/src/test/java/org/apache/drill/BaseTestQuery.java
+++ b/exec/java-exec/src/test/java/org/apache/drill/BaseTestQuery.java
@@ -27,6 +27,7 @@ import java.util.concurrent.CountDownLatch;
import java.util.concurrent.atomic.AtomicInteger;
import com.google.common.io.Files;
+
import org.apache.drill.common.config.DrillConfig;
import org.apache.drill.common.exceptions.UserException;
import org.apache.drill.exec.ExecConstants;
@@ -34,7 +35,7 @@ import org.apache.drill.exec.ExecTest;
import org.apache.drill.exec.client.DrillClient;
import org.apache.drill.exec.exception.SchemaChangeException;
import org.apache.drill.exec.memory.BufferAllocator;
-import org.apache.drill.exec.memory.TopLevelAllocator;
+import org.apache.drill.exec.memory.RootAllocatorFactory;
import org.apache.drill.exec.proto.UserBitShared;
import org.apache.drill.exec.proto.UserBitShared.QueryId;
import org.apache.drill.exec.proto.UserBitShared.QueryResult.QueryState;
@@ -166,7 +167,7 @@ public class BaseTestQuery extends ExecTest {
}
private static void openClient() throws Exception {
- allocator = new TopLevelAllocator(config);
+ allocator = RootAllocatorFactory.newRoot(config);
if (config.hasPath(ENABLE_FULL_CACHE) && config.getBoolean(ENABLE_FULL_CACHE)) {
serviceSet = RemoteServiceSet.getServiceSetWithFullCache(config, allocator);
} else {
@@ -228,13 +229,13 @@ public class BaseTestQuery extends ExecTest {
}
@AfterClass
- public static void closeClient() throws IOException, InterruptedException {
+ public static void closeClient() throws IOException {
if (client != null) {
client.close();
}
if (bits != null) {
- for(Drillbit bit : bits) {
+ for(final Drillbit bit : bits) {
if (bit != null) {
bit.close();
}
@@ -256,7 +257,7 @@ public class BaseTestQuery extends ExecTest {
}
protected static void runSQL(String sql) throws Exception {
- SilentListener listener = new SilentListener();
+ final SilentListener listener = new SilentListener();
testWithListener(QueryType.SQL, sql, listener);
listener.waitForCompletion();
}
@@ -294,8 +295,8 @@ public class BaseTestQuery extends ExecTest {
query = String.format(query, args);
logger.debug("Running query:\n--------------\n" + query);
for (int i = 0; i < interation; i++) {
- List<QueryDataBatch> results = client.runQuery(QueryType.SQL, query);
- for (QueryDataBatch queryDataBatch : results) {
+ final List<QueryDataBatch> results = client.runQuery(QueryType.SQL, query);
+ for (final QueryDataBatch queryDataBatch : results) {
queryDataBatch.release();
}
}
@@ -366,7 +367,7 @@ public class BaseTestQuery extends ExecTest {
}
public static String getFile(String resource) throws IOException{
- URL url = Resources.getResource(resource);
+ final URL url = Resources.getResource(resource);
if (url == null) {
throw new IOException(String.format("Unable to find path %s.", resource));
}
@@ -376,13 +377,13 @@ public class BaseTestQuery extends ExecTest {
/**
* Copy the resource (ex. file on classpath) to a physical file on FileSystem.
* @param resource
- * @return
+ * @return the file path
* @throws IOException
*/
public static String getPhysicalFileFromResource(final String resource) throws IOException {
final File file = File.createTempFile("tempfile", ".txt");
file.deleteOnExit();
- PrintWriter printWriter = new PrintWriter(file);
+ final PrintWriter printWriter = new PrintWriter(file);
printWriter.write(BaseTestQuery.getFile(resource));
printWriter.close();
@@ -395,7 +396,7 @@ public class BaseTestQuery extends ExecTest {
* @return Full path including temp parent directory and given directory name.
*/
public static String getTempDir(final String dirName) {
- File dir = Files.createTempDir();
+ final File dir = Files.createTempDir();
dir.deleteOnExit();
return dir.getAbsolutePath() + File.separator + dirName;
@@ -412,8 +413,8 @@ public class BaseTestQuery extends ExecTest {
private static class SilentListener implements UserResultsListener {
private volatile UserException exception;
- private AtomicInteger count = new AtomicInteger();
- private CountDownLatch latch = new CountDownLatch(1);
+ private final AtomicInteger count = new AtomicInteger();
+ private final CountDownLatch latch = new CountDownLatch(1);
@Override
public void submissionFailed(UserException ex) {
@@ -430,7 +431,7 @@ public class BaseTestQuery extends ExecTest {
@Override
public void dataArrived(QueryDataBatch result, ConnectionThrottle throttle) {
- int rows = result.getHeader().getRowCount();
+ final int rows = result.getHeader().getRowCount();
if (result.getData() != null) {
count.addAndGet(rows);
}
@@ -459,8 +460,8 @@ public class BaseTestQuery extends ExecTest {
protected int printResult(List<QueryDataBatch> results) throws SchemaChangeException {
int rowCount = 0;
- RecordBatchLoader loader = new RecordBatchLoader(getAllocator());
- for(QueryDataBatch result : results) {
+ final RecordBatchLoader loader = new RecordBatchLoader(getAllocator());
+ for(final QueryDataBatch result : results) {
rowCount += result.getHeader().getRowCount();
loader.load(result.getHeader().getDef(), result.getData());
// TODO: Clean: DRILL-2933: That load(...) no longer throws
@@ -478,10 +479,10 @@ public class BaseTestQuery extends ExecTest {
protected static String getResultString(List<QueryDataBatch> results, String delimiter)
throws SchemaChangeException {
- StringBuilder formattedResults = new StringBuilder();
+ final StringBuilder formattedResults = new StringBuilder();
boolean includeHeader = true;
- RecordBatchLoader loader = new RecordBatchLoader(getAllocator());
- for(QueryDataBatch result : results) {
+ final RecordBatchLoader loader = new RecordBatchLoader(getAllocator());
+ for(final QueryDataBatch result : results) {
loader.load(result.getHeader().getDef(), result.getData());
if (loader.getRecordCount() <= 0) {
continue;
http://git-wip-us.apache.org/repos/asf/drill/blob/bfe6cfad/exec/java-exec/src/test/java/org/apache/drill/PlanningBase.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/test/java/org/apache/drill/PlanningBase.java b/exec/java-exec/src/test/java/org/apache/drill/PlanningBase.java
index da033f7..05b7238 100644
--- a/exec/java-exec/src/test/java/org/apache/drill/PlanningBase.java
+++ b/exec/java-exec/src/test/java/org/apache/drill/PlanningBase.java
@@ -22,14 +22,15 @@ import java.net.URL;
import mockit.Mocked;
import mockit.NonStrictExpectations;
+
import org.apache.calcite.schema.SchemaPlus;
import org.apache.calcite.jdbc.SimpleCalciteSchema;
-
import org.apache.drill.common.config.DrillConfig;
import org.apache.drill.common.util.TestTools;
import org.apache.drill.exec.ExecTest;
import org.apache.drill.exec.expr.fn.FunctionImplementationRegistry;
-import org.apache.drill.exec.memory.TopLevelAllocator;
+import org.apache.drill.exec.memory.BufferAllocator;
+import org.apache.drill.exec.memory.RootAllocatorFactory;
import org.apache.drill.exec.ops.QueryContext;
import org.apache.drill.exec.physical.PhysicalPlan;
import org.apache.drill.exec.planner.physical.PlannerSettings;
@@ -54,7 +55,7 @@ import com.google.common.collect.ImmutableList;
import com.google.common.io.Resources;
public class PlanningBase extends ExecTest{
- static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(PlanningBase.class);
+ //private static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(PlanningBase.class);
@Rule public final TestRule TIMEOUT = TestTools.getTimeoutRule(10000);
@@ -63,16 +64,14 @@ public class PlanningBase extends ExecTest{
@Mocked QueryContext context;
- TopLevelAllocator allocator = new TopLevelAllocator();
+ BufferAllocator allocator = RootAllocatorFactory.newRoot(config);
protected void testSqlPlanFromFile(String file) throws Exception {
testSqlPlan(getFile(file));
}
protected void testSqlPlan(String sqlCommands) throws Exception {
- String[] sqlStrings = sqlCommands.split(";");
-
-
+ final String[] sqlStrings = sqlCommands.split(";");
final LocalPStoreProvider provider = new LocalPStoreProvider(config);
provider.start();
@@ -134,18 +133,17 @@ public class PlanningBase extends ExecTest{
}
};
- for (String sql : sqlStrings) {
+ for (final String sql : sqlStrings) {
if (sql.trim().isEmpty()) {
continue;
}
- DrillSqlWorker worker = new DrillSqlWorker(context);
- PhysicalPlan p = worker.getPlan(sql);
+ final DrillSqlWorker worker = new DrillSqlWorker(context);
+ final PhysicalPlan p = worker.getPlan(sql);
}
-
}
- protected String getFile(String resource) throws IOException{
- URL url = Resources.getResource(resource);
+ protected static String getFile(String resource) throws IOException {
+ final URL url = Resources.getResource(resource);
if (url == null) {
throw new IOException(String.format("Unable to find path %s.", resource));
}
http://git-wip-us.apache.org/repos/asf/drill/blob/bfe6cfad/exec/java-exec/src/test/java/org/apache/drill/exec/client/DumpCatTest.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/test/java/org/apache/drill/exec/client/DumpCatTest.java b/exec/java-exec/src/test/java/org/apache/drill/exec/client/DumpCatTest.java
index 7c58b19..6b6bd64 100644
--- a/exec/java-exec/src/test/java/org/apache/drill/exec/client/DumpCatTest.java
+++ b/exec/java-exec/src/test/java/org/apache/drill/exec/client/DumpCatTest.java
@@ -30,7 +30,7 @@ import org.apache.drill.exec.ExecConstants;
import org.apache.drill.exec.ExecTest;
import org.apache.drill.exec.compile.CodeCompiler;
import org.apache.drill.exec.expr.fn.FunctionImplementationRegistry;
-import org.apache.drill.exec.memory.TopLevelAllocator;
+import org.apache.drill.exec.memory.RootAllocatorFactory;
import org.apache.drill.exec.ops.FragmentContext;
import org.apache.drill.exec.physical.PhysicalPlan;
import org.apache.drill.exec.physical.base.FragmentRoot;
@@ -58,9 +58,9 @@ import com.google.common.io.Files;
* which will produce a dump file. The dump file will be input into DumpCat to test query mode and batch mode.
*/
-public class DumpCatTest extends ExecTest{
- static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(DumpCatTest.class);
- DrillConfig c = DrillConfig.create();
+public class DumpCatTest extends ExecTest {
+ //private static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(DumpCatTest.class);
+ private final DrillConfig c = DrillConfig.create();
@Test
public void testDumpCat(@Injectable final DrillbitContext bitContext, @Injectable UserClientConnection connection) throws Throwable
@@ -68,22 +68,22 @@ public class DumpCatTest extends ExecTest{
new NonStrictExpectations(){{
bitContext.getMetrics(); result = new MetricRegistry();
- bitContext.getAllocator(); result = new TopLevelAllocator();
+ bitContext.getAllocator(); result = RootAllocatorFactory.newRoot(c);
bitContext.getConfig(); result = c;
bitContext.getCompiler(); result = CodeCompiler.getTestCompiler(c);
bitContext.getOperatorCreatorRegistry(); result = new OperatorCreatorRegistry(c);
}};
- PhysicalPlanReader reader = new PhysicalPlanReader(c, c.getMapper(), CoordinationProtos.DrillbitEndpoint.getDefaultInstance());
- PhysicalPlan plan = reader.readPhysicalPlan(Files.toString(FileUtils.getResourceAsFile("/trace/simple_trace.json"), Charsets.UTF_8));
- FunctionImplementationRegistry registry = new FunctionImplementationRegistry(c);
- FragmentContext context = new FragmentContext(bitContext, PlanFragment.getDefaultInstance(), connection, registry);
- SimpleRootExec exec = new SimpleRootExec(ImplCreator.getExec(context, (FragmentRoot) plan.getSortedOperators(false).iterator().next()));
+ final PhysicalPlanReader reader = new PhysicalPlanReader(c, c.getMapper(), CoordinationProtos.DrillbitEndpoint.getDefaultInstance());
+ final PhysicalPlan plan = reader.readPhysicalPlan(Files.toString(FileUtils.getResourceAsFile("/trace/simple_trace.json"), Charsets.UTF_8));
+ final FunctionImplementationRegistry registry = new FunctionImplementationRegistry(c);
+ final FragmentContext context = new FragmentContext(bitContext, PlanFragment.getDefaultInstance(), connection, registry);
+ final SimpleRootExec exec = new SimpleRootExec(ImplCreator.getExec(context, (FragmentRoot) plan.getSortedOperators(false).iterator().next()));
- while(exec.next()){
+ while(exec.next()) {
}
- if(context.getFailureCause() != null){
+ if(context.getFailureCause() != null) {
throw context.getFailureCause();
}
assertTrue(!context.isFailed());
@@ -95,37 +95,34 @@ public class DumpCatTest extends ExecTest{
/* Form the file name to which the trace output will dump the record batches */
String qid = QueryIdHelper.getQueryId(handle.getQueryId());
- int majorFragmentId = handle.getMajorFragmentId();
- int minorFragmentId = handle.getMinorFragmentId();
+ final int majorFragmentId = handle.getMajorFragmentId();
+ final int minorFragmentId = handle.getMinorFragmentId();
- String logLocation = c.getString(ExecConstants.TRACE_DUMP_DIRECTORY);
+ final String logLocation = c.getString(ExecConstants.TRACE_DUMP_DIRECTORY);
System.out.println("Found log location: " + logLocation);
- String filename = String.format("%s//%s_%d_%d_mock-scan", logLocation, qid, majorFragmentId, minorFragmentId);
+ final String filename = String.format("%s//%s_%d_%d_mock-scan", logLocation, qid, majorFragmentId, minorFragmentId);
System.out.println("File Name: " + filename);
- Configuration conf = new Configuration();
+ final Configuration conf = new Configuration();
conf.set(FileSystem.FS_DEFAULT_NAME_KEY, c.getString(ExecConstants.TRACE_DUMP_FILESYSTEM));
- FileSystem fs = FileSystem.get(conf);
- Path path = new Path(filename);
+ final FileSystem fs = FileSystem.get(conf);
+ final Path path = new Path(filename);
assertTrue("Trace file does not exist", fs.exists(path));
- DumpCat dumpCat = new DumpCat();
+ final DumpCat dumpCat = new DumpCat();
//Test Query mode
- FileInputStream input = new FileInputStream(filename);
-
- dumpCat.doQuery(input);
- input.close();
+ try (final FileInputStream input = new FileInputStream(filename)) {
+ dumpCat.doQuery(input);
+ }
//Test Batch mode
- input = new FileInputStream(filename);
- dumpCat.doBatch(input,0,true);
-
- input.close();
+ try(final FileInputStream input = new FileInputStream(filename)) {
+ dumpCat.doBatch(input, 0, true);
+ }
}
-
}
http://git-wip-us.apache.org/repos/asf/drill/blob/bfe6cfad/exec/java-exec/src/test/java/org/apache/drill/exec/expr/ExpressionTest.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/test/java/org/apache/drill/exec/expr/ExpressionTest.java b/exec/java-exec/src/test/java/org/apache/drill/exec/expr/ExpressionTest.java
index 5e50189..cf6fb69 100644
--- a/exec/java-exec/src/test/java/org/apache/drill/exec/expr/ExpressionTest.java
+++ b/exec/java-exec/src/test/java/org/apache/drill/exec/expr/ExpressionTest.java
@@ -36,14 +36,12 @@ import org.apache.drill.common.expression.SchemaPath;
import org.apache.drill.common.expression.parser.ExprLexer;
import org.apache.drill.common.expression.parser.ExprParser;
import org.apache.drill.common.expression.parser.ExprParser.parse_return;
-import org.apache.drill.common.types.MajorType;
import org.apache.drill.common.types.TypeProtos;
import org.apache.drill.common.types.TypeProtos.MinorType;
import org.apache.drill.common.types.Types;
import org.apache.drill.exec.ExecTest;
import org.apache.drill.exec.expr.fn.FunctionImplementationRegistry;
-import org.apache.drill.exec.memory.BufferAllocator;
-import org.apache.drill.exec.memory.TopLevelAllocator;
+import org.apache.drill.exec.memory.RootAllocatorFactory;
import org.apache.drill.exec.physical.impl.project.Projector;
import org.apache.drill.exec.record.MaterializedField;
import org.apache.drill.exec.record.RecordBatch;
@@ -54,10 +52,10 @@ import org.apache.drill.exec.vector.ValueVector;
import org.junit.Test;
public class ExpressionTest extends ExecTest {
- static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(ExpressionTest.class);
+ private static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(ExpressionTest.class);
- DrillConfig c = DrillConfig.create();
- FunctionImplementationRegistry registry = new FunctionImplementationRegistry(c);
+ private final DrillConfig c = DrillConfig.create();
+ private final FunctionImplementationRegistry registry = new FunctionImplementationRegistry(c);
@Test
public void testBasicExpression(@Injectable RecordBatch batch) throws Exception {
@@ -87,7 +85,7 @@ public class ExpressionTest extends ExecTest {
batch.getValueAccessorById(IntVector.class, tfid.getFieldIds());
result = wrapper;
wrapper.getValueVector();
- result = new IntVector(MaterializedField.create("result", type), new TopLevelAllocator(0));
+ result = new IntVector(MaterializedField.create("result", type), RootAllocatorFactory.newRoot(c));
}
};
@@ -123,25 +121,24 @@ public class ExpressionTest extends ExecTest {
// HELPER METHODS //
private LogicalExpression parseExpr(String expr) throws RecognitionException {
- ExprLexer lexer = new ExprLexer(new ANTLRStringStream(expr));
- CommonTokenStream tokens = new CommonTokenStream(lexer);
- ExprParser parser = new ExprParser(tokens);
+ final ExprLexer lexer = new ExprLexer(new ANTLRStringStream(expr));
+ final CommonTokenStream tokens = new CommonTokenStream(lexer);
+ final ExprParser parser = new ExprParser(tokens);
parse_return ret = parser.parse();
return ret.e;
}
private String getExpressionCode(String expression, RecordBatch batch) throws Exception {
- LogicalExpression expr = parseExpr(expression);
- ErrorCollector error = new ErrorCollectorImpl();
- LogicalExpression materializedExpr = ExpressionTreeMaterializer.materialize(expr, batch, error, registry);
+ final LogicalExpression expr = parseExpr(expression);
+ final ErrorCollector error = new ErrorCollectorImpl();
+ final LogicalExpression materializedExpr = ExpressionTreeMaterializer.materialize(expr, batch, error, registry);
if (error.getErrorCount() != 0) {
logger.error("Failure while materializing expression [{}]. Errors: {}", expression, error);
assertEquals(0, error.getErrorCount());
}
- ClassGenerator<Projector> cg = CodeGenerator.get(Projector.TEMPLATE_DEFINITION, new FunctionImplementationRegistry(DrillConfig.create())).getRoot();
+ final ClassGenerator<Projector> cg = CodeGenerator.get(Projector.TEMPLATE_DEFINITION, new FunctionImplementationRegistry(DrillConfig.create())).getRoot();
cg.addExpr(new ValueVectorWriteExpression(new TypedFieldId(materializedExpr.getMajorType(), -1), materializedExpr));
return cg.getCodeGenerator().generateAndGet();
}
-
}
http://git-wip-us.apache.org/repos/asf/drill/blob/bfe6cfad/exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestByteComparisonFunctions.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestByteComparisonFunctions.java b/exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestByteComparisonFunctions.java
index 1e9a47c..d8ce7c2 100644
--- a/exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestByteComparisonFunctions.java
+++ b/exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestByteComparisonFunctions.java
@@ -23,25 +23,26 @@ import org.apache.drill.common.config.DrillConfig;
import org.apache.drill.exec.ExecTest;
import org.apache.drill.exec.expr.fn.impl.ByteFunctionHelpers;
import org.apache.drill.exec.expr.holders.VarCharHolder;
-import org.apache.drill.exec.memory.TopLevelAllocator;
+import org.apache.drill.exec.memory.BufferAllocator;
+import org.apache.drill.exec.memory.RootAllocatorFactory;
import org.apache.drill.exec.vector.ValueHolderHelper;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
-public class TestByteComparisonFunctions extends ExecTest{
- static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(TestByteComparisonFunctions.class);
+public class TestByteComparisonFunctions extends ExecTest {
+ //private static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(TestByteComparisonFunctions.class);
- static TopLevelAllocator allocator;
- static VarCharHolder hello;
- static VarCharHolder goodbye;
- static VarCharHolder helloLong;
- static VarCharHolder goodbyeLong;
+ private static BufferAllocator allocator;
+ private static VarCharHolder hello;
+ private static VarCharHolder goodbye;
+ private static VarCharHolder helloLong;
+ private static VarCharHolder goodbyeLong;
@BeforeClass
- public static void setup(){
+ public static void setup() {
DrillConfig c= DrillConfig.create();
- allocator = new TopLevelAllocator(c);
+ allocator = RootAllocatorFactory.newRoot(c);
hello = ValueHolderHelper.getVarCharHolder(allocator, "hello");
goodbye = ValueHolderHelper.getVarCharHolder(allocator, "goodbye");
helloLong = ValueHolderHelper.getVarCharHolder(allocator, "hellomyfriend");
@@ -49,7 +50,7 @@ public class TestByteComparisonFunctions extends ExecTest{
}
@AfterClass
- public static void teardown(){
+ public static void teardown() {
hello.buffer.release();
helloLong.buffer.release();
goodbye.buffer.release();
@@ -58,72 +59,72 @@ public class TestByteComparisonFunctions extends ExecTest{
}
@Test
- public void testAfter(){
- VarCharHolder left = hello;
- VarCharHolder right = goodbye;
+ public void testAfter() {
+ final VarCharHolder left = hello;
+ final VarCharHolder right = goodbye;
assertTrue(ByteFunctionHelpers.compare(left.buffer, left.start, left.end, right.buffer, right.start, right.end) == 1);
}
@Test
- public void testBefore(){
- VarCharHolder left = goodbye;
- VarCharHolder right = hello;
+ public void testBefore() {
+ final VarCharHolder left = goodbye;
+ final VarCharHolder right = hello;
assertTrue(ByteFunctionHelpers.compare(left.buffer, left.start, left.end, right.buffer, right.start, right.end) == -1);
}
@Test
- public void testEqualCompare(){
- VarCharHolder left = hello;
- VarCharHolder right = hello;
+ public void testEqualCompare() {
+ final VarCharHolder left = hello;
+ final VarCharHolder right = hello;
assertTrue(ByteFunctionHelpers.compare(left.buffer, left.start, left.end, right.buffer, right.start, right.end) == 0);
}
@Test
- public void testEqual(){
- VarCharHolder left = hello;
- VarCharHolder right = hello;
+ public void testEqual() {
+ final VarCharHolder left = hello;
+ final VarCharHolder right = hello;
assertTrue(ByteFunctionHelpers.equal(left.buffer, left.start, left.end, right.buffer, right.start, right.end) == 1);
}
@Test
- public void testNotEqual(){
- VarCharHolder left = hello;
- VarCharHolder right = goodbye;
+ public void testNotEqual() {
+ final VarCharHolder left = hello;
+ final VarCharHolder right = goodbye;
assertTrue(ByteFunctionHelpers.equal(left.buffer, left.start, left.end, right.buffer, right.start, right.end) == 0);
}
@Test
- public void testAfterLong(){
- VarCharHolder left = helloLong;
- VarCharHolder right = goodbyeLong;
+ public void testAfterLong() {
+ final VarCharHolder left = helloLong;
+ final VarCharHolder right = goodbyeLong;
assertTrue(ByteFunctionHelpers.compare(left.buffer, left.start, left.end, right.buffer, right.start, right.end) == 1);
}
@Test
- public void testBeforeLong(){
- VarCharHolder left = goodbyeLong;
- VarCharHolder right = helloLong;
+ public void testBeforeLong() {
+ final VarCharHolder left = goodbyeLong;
+ final VarCharHolder right = helloLong;
assertTrue(ByteFunctionHelpers.compare(left.buffer, left.start, left.end, right.buffer, right.start, right.end) == -1);
}
@Test
- public void testEqualCompareLong(){
- VarCharHolder left = helloLong;
- VarCharHolder right = helloLong;
+ public void testEqualCompareLong() {
+ final VarCharHolder left = helloLong;
+ final VarCharHolder right = helloLong;
assertTrue(ByteFunctionHelpers.compare(left.buffer, left.start, left.end, right.buffer, right.start, right.end) == 0);
}
@Test
- public void testEqualLong(){
- VarCharHolder left = helloLong;
- VarCharHolder right = helloLong;
+ public void testEqualLong() {
+ final VarCharHolder left = helloLong;
+ final VarCharHolder right = helloLong;
assertTrue(ByteFunctionHelpers.equal(left.buffer, left.start, left.end, right.buffer, right.start, right.end) == 1);
}
@Test
- public void testNotEqualLong(){
- VarCharHolder left = helloLong;
- VarCharHolder right = goodbyeLong;
+ public void testNotEqualLong() {
+ final VarCharHolder left = helloLong;
+ final VarCharHolder right = goodbyeLong;
assertTrue(ByteFunctionHelpers.equal(left.buffer, left.start, left.end, right.buffer, right.start, right.end) == 0);
}
}
http://git-wip-us.apache.org/repos/asf/drill/blob/bfe6cfad/exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestMathFunctions.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestMathFunctions.java b/exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestMathFunctions.java
index 4f06a9d..99ee904 100644
--- a/exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestMathFunctions.java
+++ b/exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestMathFunctions.java
@@ -30,7 +30,7 @@ import org.apache.drill.common.util.FileUtils;
import org.apache.drill.exec.ExecTest;
import org.apache.drill.exec.compile.CodeCompiler;
import org.apache.drill.exec.expr.fn.FunctionImplementationRegistry;
-import org.apache.drill.exec.memory.TopLevelAllocator;
+import org.apache.drill.exec.memory.RootAllocatorFactory;
import org.apache.drill.exec.ops.FragmentContext;
import org.apache.drill.exec.physical.PhysicalPlan;
import org.apache.drill.exec.physical.base.FragmentRoot;
@@ -52,44 +52,41 @@ import com.google.common.io.Files;
public class TestMathFunctions extends ExecTest {
+ //private static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(TestMathFunctions.class);
+ private final DrillConfig c = DrillConfig.create();
- static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(TestMathFunctions.class);
- DrillConfig c = DrillConfig.create();
+ @Test
+ public void testBasicMathFunctions(@Injectable final DrillbitContext bitContext, @Injectable UserClientConnection connection) throws Throwable
+ {
+ new NonStrictExpectations() {{
+ bitContext.getMetrics(); result = new MetricRegistry();
+ bitContext.getAllocator(); result = RootAllocatorFactory.newRoot(c);
+ bitContext.getConfig(); result = c;
+ bitContext.getCompiler(); result = CodeCompiler.getTestCompiler(c);
+ bitContext.getOperatorCreatorRegistry(); result = new OperatorCreatorRegistry(c);
+ }};
+ final PhysicalPlanReader reader = new PhysicalPlanReader(c, c.getMapper(), CoordinationProtos.DrillbitEndpoint.getDefaultInstance());
+ final PhysicalPlan plan = reader.readPhysicalPlan(Files.toString(FileUtils.getResourceAsFile("/functions/simple_math_functions.json"), Charsets.UTF_8));
+ final FunctionImplementationRegistry registry = new FunctionImplementationRegistry(c);
+ final FragmentContext context = new FragmentContext(bitContext, BitControl.PlanFragment.getDefaultInstance(), connection, registry);
+ final SimpleRootExec exec = new SimpleRootExec(ImplCreator.getExec(context, (FragmentRoot) plan.getSortedOperators(false).iterator().next()));
- @Test
- public void testBasicMathFunctions(@Injectable final DrillbitContext bitContext, @Injectable UserClientConnection connection) throws Throwable
- {
-
- new NonStrictExpectations(){{
- bitContext.getMetrics(); result = new MetricRegistry();
- bitContext.getAllocator(); result = new TopLevelAllocator();
- bitContext.getConfig(); result = c;
- bitContext.getCompiler(); result = CodeCompiler.getTestCompiler(c);
- bitContext.getOperatorCreatorRegistry(); result = new OperatorCreatorRegistry(c);
- }};
-
- PhysicalPlanReader reader = new PhysicalPlanReader(c, c.getMapper(), CoordinationProtos.DrillbitEndpoint.getDefaultInstance());
- PhysicalPlan plan = reader.readPhysicalPlan(Files.toString(FileUtils.getResourceAsFile("/functions/simple_math_functions.json"), Charsets.UTF_8));
- FunctionImplementationRegistry registry = new FunctionImplementationRegistry(c);
- FragmentContext context = new FragmentContext(bitContext, BitControl.PlanFragment.getDefaultInstance(), connection, registry);
- SimpleRootExec exec = new SimpleRootExec(ImplCreator.getExec(context, (FragmentRoot) plan.getSortedOperators(false).iterator().next()));
-
- while(exec.next()) {
- IntVector intMulVector = exec.getValueVectorById(new SchemaPath("INTMUL", ExpressionPosition.UNKNOWN), IntVector.class);
- Float8Vector floatMulVector = exec.getValueVectorById(new SchemaPath("FLOATMUL", ExpressionPosition.UNKNOWN), Float8Vector.class);
- IntVector intAddVector = exec.getValueVectorById(new SchemaPath("INTADD", ExpressionPosition.UNKNOWN), IntVector.class);
- Float8Vector floatAddVector = exec.getValueVectorById(new SchemaPath("FLOATADD", ExpressionPosition.UNKNOWN), Float8Vector.class);
- assertEquals(exec.getRecordCount(), 1);
- assertEquals(intMulVector.getAccessor().get(0), 2);
- assertEquals(floatMulVector.getAccessor().get(0), (1.1 * 2.2), 0);
- assertEquals(intAddVector.getAccessor().get(0), 3);
- assertEquals(floatAddVector.getAccessor().get(0), (1.1 + 2.2), 0);
- }
+ while(exec.next()) {
+ final IntVector intMulVector = exec.getValueVectorById(new SchemaPath("INTMUL", ExpressionPosition.UNKNOWN), IntVector.class);
+ final Float8Vector floatMulVector = exec.getValueVectorById(new SchemaPath("FLOATMUL", ExpressionPosition.UNKNOWN), Float8Vector.class);
+ final IntVector intAddVector = exec.getValueVectorById(new SchemaPath("INTADD", ExpressionPosition.UNKNOWN), IntVector.class);
+ final Float8Vector floatAddVector = exec.getValueVectorById(new SchemaPath("FLOATADD", ExpressionPosition.UNKNOWN), Float8Vector.class);
+ assertEquals(exec.getRecordCount(), 1);
+ assertEquals(intMulVector.getAccessor().get(0), 2);
+ assertEquals(floatMulVector.getAccessor().get(0), (1.1 * 2.2), 0);
+ assertEquals(intAddVector.getAccessor().get(0), 3);
+ assertEquals(floatAddVector.getAccessor().get(0), (1.1 + 2.2), 0);
+ }
- if(context.getFailureCause() != null){
- throw context.getFailureCause();
- }
- assertTrue(!context.isFailed());
+ if(context.getFailureCause() != null) {
+ throw context.getFailureCause();
}
+ assertTrue(!context.isFailed());
+ }
}
http://git-wip-us.apache.org/repos/asf/drill/blob/bfe6cfad/exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestNewMathFunctions.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestNewMathFunctions.java b/exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestNewMathFunctions.java
index 880184e..3447dae 100644
--- a/exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestNewMathFunctions.java
+++ b/exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestNewMathFunctions.java
@@ -29,7 +29,7 @@ import mockit.NonStrictExpectations;
import org.apache.drill.common.config.DrillConfig;
import org.apache.drill.exec.compile.CodeCompiler;
import org.apache.drill.exec.expr.fn.FunctionImplementationRegistry;
-import org.apache.drill.exec.memory.TopLevelAllocator;
+import org.apache.drill.exec.memory.RootAllocatorFactory;
import org.apache.drill.exec.ops.FragmentContext;
import org.apache.drill.exec.physical.PhysicalPlan;
import org.apache.drill.exec.physical.base.FragmentRoot;
@@ -50,23 +50,21 @@ import com.google.common.base.Charsets;
import com.google.common.io.Resources;
public class TestNewMathFunctions {
-
- static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(TestNewMathFunctions.class);
-
- DrillConfig c = DrillConfig.create();
- PhysicalPlanReader reader;
- FunctionImplementationRegistry registry;
- FragmentContext context;
+ //private static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(TestNewMathFunctions.class);
+ private final DrillConfig c = DrillConfig.create();
+ private PhysicalPlanReader reader;
+ private FunctionImplementationRegistry registry;
+ private FragmentContext context;
public Object[] getRunResult(SimpleRootExec exec) {
int size = 0;
- for (ValueVector v : exec) {
+ for (final ValueVector v : exec) {
size++;
}
- Object[] res = new Object [size];
+ final Object[] res = new Object[size];
int i = 0;
- for (ValueVector v : exec) {
+ for (final ValueVector v : exec) {
if (v instanceof VarCharVector) {
res[i++] = new String( ((VarCharVector) v).getAccessor().get(0));
} else {
@@ -78,16 +76,15 @@ public class TestNewMathFunctions {
public void runTest(@Injectable final DrillbitContext bitContext,
@Injectable UserServer.UserClientConnection connection, Object[] expectedResults, String planPath) throws Throwable {
-
new NonStrictExpectations() {{
bitContext.getMetrics(); result = new MetricRegistry();
- bitContext.getAllocator(); result = new TopLevelAllocator();
+ bitContext.getAllocator(); result = RootAllocatorFactory.newRoot(c);
bitContext.getOperatorCreatorRegistry(); result = new OperatorCreatorRegistry(c);
bitContext.getConfig(); result = c;
bitContext.getCompiler(); result = CodeCompiler.getTestCompiler(c);
}};
- String planString = Resources.toString(Resources.getResource(planPath), Charsets.UTF_8);
+ final String planString = Resources.toString(Resources.getResource(planPath), Charsets.UTF_8);
if (reader == null) {
reader = new PhysicalPlanReader(c, c.getMapper(), CoordinationProtos.DrillbitEndpoint.getDefaultInstance());
}
@@ -97,12 +94,12 @@ public class TestNewMathFunctions {
if (context == null) {
context = new FragmentContext(bitContext, PlanFragment.getDefaultInstance(), connection, registry); //new FragmentContext(bitContext, ExecProtos.FragmentHandle.getDefaultInstance(), connection, registry);
}
- PhysicalPlan plan = reader.readPhysicalPlan(planString);
- SimpleRootExec exec = new SimpleRootExec(ImplCreator.getExec(context, (FragmentRoot) plan.getSortedOperators(false).iterator().next()));
+ final PhysicalPlan plan = reader.readPhysicalPlan(planString);
+ final SimpleRootExec exec = new SimpleRootExec(ImplCreator.getExec(context, (FragmentRoot) plan.getSortedOperators(false).iterator().next()));
exec.next(); // skip schema batch
while (exec.next()) {
- Object [] res = getRunResult(exec);
+ final Object [] res = getRunResult(exec);
assertEquals("return count does not match", expectedResults.length, res.length);
for (int i = 0; i<res.length; i++) {
@@ -119,17 +116,16 @@ public class TestNewMathFunctions {
@Test
public void testTrigoMathFunc(@Injectable final DrillbitContext bitContext,
- @Injectable UserServer.UserClientConnection connection) throws Throwable{
- Object [] expected = new Object[] {Math.sin(45), Math.cos(45), Math.tan(45),Math.asin(45), Math.acos(45), Math.atan(45),Math.sinh(45), Math.cosh(45), Math.tanh(45)};
+ @Injectable UserServer.UserClientConnection connection) throws Throwable {
+ final Object [] expected = new Object[] {Math.sin(45), Math.cos(45), Math.tan(45),Math.asin(45), Math.acos(45), Math.atan(45),Math.sinh(45), Math.cosh(45), Math.tanh(45)};
runTest(bitContext, connection, expected, "functions/testTrigoMathFunctions.json");
}
@Test
public void testExtendedMathFunc(@Injectable final DrillbitContext bitContext,
- @Injectable UserServer.UserClientConnection connection) throws Throwable{
- BigDecimal d = new BigDecimal("100111111111111111111111111111111111.00000000000000000000000000000000000000000000000000001");
-
- Object [] expected = new Object[] {Math.cbrt(1000), Math.log(10), (Math.log(64.0)/Math.log(2.0)), Math.exp(10), Math.toDegrees(0.5), Math.toRadians(45.0), Math.PI, Math.cbrt(d.doubleValue()), Math.log(d.doubleValue()), (Math.log(d.doubleValue())/Math.log(2)), Math.exp(d.doubleValue()), Math.toDegrees(d.doubleValue()), Math.toRadians(d.doubleValue())};
+ @Injectable UserServer.UserClientConnection connection) throws Throwable {
+ final BigDecimal d = new BigDecimal("100111111111111111111111111111111111.00000000000000000000000000000000000000000000000000001");
+ final Object [] expected = new Object[] {Math.cbrt(1000), Math.log(10), (Math.log(64.0)/Math.log(2.0)), Math.exp(10), Math.toDegrees(0.5), Math.toRadians(45.0), Math.PI, Math.cbrt(d.doubleValue()), Math.log(d.doubleValue()), (Math.log(d.doubleValue())/Math.log(2)), Math.exp(d.doubleValue()), Math.toDegrees(d.doubleValue()), Math.toRadians(d.doubleValue())};
runTest(bitContext, connection, expected, "functions/testExtendedMathFunctions.json");
}
@@ -137,15 +133,14 @@ public class TestNewMathFunctions {
@Test
public void testTruncDivMod(@Injectable final DrillbitContext bitContext,
@Injectable UserServer.UserClientConnection connection) throws Throwable{
- Object [] expected = new Object[] {101.0, 0, 101, 1010.0, 101, 481.0, 0.001099999999931267};
+ final Object [] expected = new Object[] {101.0, 0, 101, 1010.0, 101, 481.0, 0.001099999999931267};
runTest(bitContext, connection, expected, "functions/testDivModTruncFunctions.json");
}
@Test
public void testIsNumeric(@Injectable final DrillbitContext bitContext,
@Injectable UserServer.UserClientConnection connection) throws Throwable{
- Object [] expected = new Object[] {1, 1, 1, 0};
+ final Object [] expected = new Object[] {1, 1, 1, 0};
runTest(bitContext, connection, expected, "functions/testIsNumericFunction.json");
}
-
}
http://git-wip-us.apache.org/repos/asf/drill/blob/bfe6cfad/exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestRepeatedFunction.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestRepeatedFunction.java b/exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestRepeatedFunction.java
index 73c7508..68c3b9c 100644
--- a/exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestRepeatedFunction.java
+++ b/exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestRepeatedFunction.java
@@ -29,7 +29,7 @@ import org.apache.drill.common.util.FileUtils;
import org.apache.drill.exec.ExecTest;
import org.apache.drill.exec.compile.CodeCompiler;
import org.apache.drill.exec.expr.fn.FunctionImplementationRegistry;
-import org.apache.drill.exec.memory.TopLevelAllocator;
+import org.apache.drill.exec.memory.RootAllocatorFactory;
import org.apache.drill.exec.ops.FragmentContext;
import org.apache.drill.exec.physical.PhysicalPlan;
import org.apache.drill.exec.physical.base.FragmentRoot;
@@ -50,42 +50,38 @@ import com.google.common.base.Charsets;
import com.google.common.io.Files;
public class TestRepeatedFunction extends ExecTest{
- static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(TestRepeatedFunction.class);
- DrillConfig c = DrillConfig.create();
-
+ //private static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(TestRepeatedFunction.class);
+ private final DrillConfig c = DrillConfig.create();
@Test
- public void testRepeated(@Injectable final DrillbitContext bitContext, @Injectable UserClientConnection connection) throws Throwable{
+ public void testRepeated(@Injectable final DrillbitContext bitContext, @Injectable UserClientConnection connection) throws Throwable {
// System.out.println(System.getProperty("java.class.path"));
-
-
- new NonStrictExpectations(){{
+ new NonStrictExpectations() {{
bitContext.getMetrics(); result = new MetricRegistry();
- bitContext.getAllocator(); result = new TopLevelAllocator();
+ bitContext.getAllocator(); result = RootAllocatorFactory.newRoot(c);
bitContext.getOperatorCreatorRegistry(); result = new OperatorCreatorRegistry(c);
bitContext.getConfig(); result = c;
bitContext.getCompiler(); result = CodeCompiler.getTestCompiler(c);
}};
-
- PhysicalPlanReader reader = new PhysicalPlanReader(c, c.getMapper(), CoordinationProtos.DrillbitEndpoint.getDefaultInstance());
- PhysicalPlan plan = reader.readPhysicalPlan(Files.toString(FileUtils.getResourceAsFile("/physical_repeated_1.json"), Charsets.UTF_8));
- FunctionImplementationRegistry registry = new FunctionImplementationRegistry(c);
- FragmentContext context = new FragmentContext(bitContext, PlanFragment.getDefaultInstance(), connection, registry);
- SimpleRootExec exec = new SimpleRootExec(ImplCreator.getExec(context, (FragmentRoot) plan.getSortedOperators(false).iterator().next()));
+ final PhysicalPlanReader reader = new PhysicalPlanReader(c, c.getMapper(), CoordinationProtos.DrillbitEndpoint.getDefaultInstance());
+ final PhysicalPlan plan = reader.readPhysicalPlan(Files.toString(FileUtils.getResourceAsFile("/physical_repeated_1.json"), Charsets.UTF_8));
+ final FunctionImplementationRegistry registry = new FunctionImplementationRegistry(c);
+ final FragmentContext context = new FragmentContext(bitContext, PlanFragment.getDefaultInstance(), connection, registry);
+ final SimpleRootExec exec = new SimpleRootExec(ImplCreator.getExec(context, (FragmentRoot) plan.getSortedOperators(false).iterator().next()));
boolean oneIsOne = false;
int size = 0;
- int[] sizes = {1,2,0,6};
+ final int[] sizes = {1, 2, 0, 6};
- while(exec.next()){
- IntVector c1 = exec.getValueVectorById(new SchemaPath("cnt", ExpressionPosition.UNKNOWN), IntVector.class);
- BitVector c2 = exec.getValueVectorById(new SchemaPath("has_min", ExpressionPosition.UNKNOWN), BitVector.class);
+ while(exec.next()) {
+ final IntVector c1 = exec.getValueVectorById(new SchemaPath("cnt", ExpressionPosition.UNKNOWN), IntVector.class);
+ final BitVector c2 = exec.getValueVectorById(new SchemaPath("has_min", ExpressionPosition.UNKNOWN), BitVector.class);
- for(int i =0; i < exec.getRecordCount(); i++){
- int curSize = sizes[size % sizes.length];
+ for(int i = 0; i < exec.getRecordCount(); i++) {
+ final int curSize = sizes[size % sizes.length];
assertEquals(curSize, c1.getAccessor().get(i));
- switch(curSize){
+ switch(curSize) {
case 1:
assertEquals(oneIsOne, 1 == c2.getAccessor().get(i));
oneIsOne = !oneIsOne;
@@ -104,11 +100,9 @@ public class TestRepeatedFunction extends ExecTest{
}
}
- if(context.getFailureCause() != null){
+ if(context.getFailureCause() != null) {
throw context.getFailureCause();
}
assertTrue(!context.isFailed());
-
}
-
}
http://git-wip-us.apache.org/repos/asf/drill/blob/bfe6cfad/exec/java-exec/src/test/java/org/apache/drill/exec/memory/TestEndianess.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/test/java/org/apache/drill/exec/memory/TestEndianess.java b/exec/java-exec/src/test/java/org/apache/drill/exec/memory/TestEndianess.java
index 48ddada..f6fe79e 100644
--- a/exec/java-exec/src/test/java/org/apache/drill/exec/memory/TestEndianess.java
+++ b/exec/java-exec/src/test/java/org/apache/drill/exec/memory/TestEndianess.java
@@ -20,22 +20,23 @@ package org.apache.drill.exec.memory;
import static org.junit.Assert.assertEquals;
import io.netty.buffer.ByteBuf;
+import org.apache.drill.common.config.DrillConfig;
import org.apache.drill.exec.ExecTest;
import org.junit.Test;
-
-public class TestEndianess extends ExecTest{
-
+public class TestEndianess extends ExecTest {
@Test
- public void testLittleEndian(){
- TopLevelAllocator a = new TopLevelAllocator(Long.MAX_VALUE);
- ByteBuf b = a.buffer(4);
+ public void testLittleEndian() {
+ final DrillConfig drillConfig = DrillConfig.create();
+ final BufferAllocator a = RootAllocatorFactory.newRoot(drillConfig);
+ final ByteBuf b = a.buffer(4);
b.setInt(0, 35);
- assertEquals((int) b.getByte(0), 35);
- assertEquals((int) b.getByte(1), 0);
- assertEquals((int) b.getByte(2), 0);
- assertEquals((int) b.getByte(3), 0);
+ assertEquals(b.getByte(0), 35);
+ assertEquals(b.getByte(1), 0);
+ assertEquals(b.getByte(2), 0);
+ assertEquals(b.getByte(3), 0);
+ b.release();
+ a.close();
}
-
}