You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@drill.apache.org by ja...@apache.org on 2014/05/23 18:34:13 UTC

[1/2] git commit: Fix serialization of IntervalYear in ExpressionStringBuilder

Repository: incubator-drill
Updated Branches:
  refs/heads/merge_2014_05_23 [created] 92408f193


Fix serialization of IntervalYear in ExpressionStringBuilder

Increase average bytes allocated for key vectors in HashAggBatch


Project: http://git-wip-us.apache.org/repos/asf/incubator-drill/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-drill/commit/85703655
Tree: http://git-wip-us.apache.org/repos/asf/incubator-drill/tree/85703655
Diff: http://git-wip-us.apache.org/repos/asf/incubator-drill/diff/85703655

Branch: refs/heads/merge_2014_05_23
Commit: 85703655866aa7cf30a978ce2b181a38d7b9f602
Parents: f948d71
Author: Mehant Baid <me...@gmail.com>
Authored: Thu May 22 16:55:04 2014 -0700
Committer: Mehant Baid <me...@gmail.com>
Committed: Thu May 22 22:39:51 2014 -0700

----------------------------------------------------------------------
 .../apache/drill/common/expression/ExpressionStringBuilder.java  | 2 +-
 .../apache/drill/exec/physical/impl/aggregate/HashAggBatch.java  | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/85703655/common/src/main/java/org/apache/drill/common/expression/ExpressionStringBuilder.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/drill/common/expression/ExpressionStringBuilder.java b/common/src/main/java/org/apache/drill/common/expression/ExpressionStringBuilder.java
index 9301528..8026cdb 100644
--- a/common/src/main/java/org/apache/drill/common/expression/ExpressionStringBuilder.java
+++ b/common/src/main/java/org/apache/drill/common/expression/ExpressionStringBuilder.java
@@ -162,7 +162,7 @@ public class ExpressionStringBuilder extends AbstractExprVisitor<Void, StringBui
   @Override
   public Void visitIntervalYearConstant(IntervalYearExpression lExpr, StringBuilder sb) throws RuntimeException {
     sb.append("cast( '");
-    sb.append(Period.years(lExpr.getIntervalYear()).toString());
+    sb.append(Period.months(lExpr.getIntervalYear()).toString());
     sb.append("' as INTERVALYEAR)");
     return null;
   }

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/85703655/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/aggregate/HashAggBatch.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/aggregate/HashAggBatch.java b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/aggregate/HashAggBatch.java
index aa6cd54..8b39330 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/aggregate/HashAggBatch.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/aggregate/HashAggBatch.java
@@ -199,7 +199,7 @@ public class HashAggBatch extends AbstractRecordBatch<HashAggregate> {
 
       final MaterializedField outputField = MaterializedField.create(ne.getRef(), expr.getMajorType());
       ValueVector vv = TypeHelper.getNewVector(outputField, oContext.getAllocator());
-      keyAllocators.add(VectorAllocator.getAllocator(vv, 50));
+      keyAllocators.add(VectorAllocator.getAllocator(vv, 200));
 
       // add this group-by vector to the output container 
       groupByOutFieldIds[i] = container.add(vv);
@@ -215,7 +215,7 @@ public class HashAggBatch extends AbstractRecordBatch<HashAggregate> {
       
       final MaterializedField outputField = MaterializedField.create(ne.getRef(), expr.getMajorType());
       ValueVector vv = TypeHelper.getNewVector(outputField, oContext.getAllocator());
-      valueAllocators.add(VectorAllocator.getAllocator(vv, 50));
+      valueAllocators.add(VectorAllocator.getAllocator(vv, 200));
       aggrOutFieldIds[i] = container.add(vv);
 
       aggrExprs[i] = new ValueVectorWriteExpression(aggrOutFieldIds[i], expr, true);


[2/2] git commit: Update client and server to wait to close before returning to avoid spurious allocator test failures.

Posted by ja...@apache.org.
Update client and server to wait to close before returning to avoid spurious allocator test failures.


Project: http://git-wip-us.apache.org/repos/asf/incubator-drill/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-drill/commit/92408f19
Tree: http://git-wip-us.apache.org/repos/asf/incubator-drill/tree/92408f19
Diff: http://git-wip-us.apache.org/repos/asf/incubator-drill/diff/92408f19

Branch: refs/heads/merge_2014_05_23
Commit: 92408f193043fa3049d114930a97ecf2332e08c0
Parents: 8570365
Author: Jacques Nadeau <ja...@apache.org>
Authored: Thu May 22 20:42:14 2014 -0700
Committer: Jacques Nadeau <ja...@apache.org>
Committed: Fri May 23 09:34:03 2014 -0700

----------------------------------------------------------------------
 .../org/apache/drill/exec/rpc/BasicClient.java  | 20 +++++++++++++-------
 .../org/apache/drill/exec/rpc/BasicServer.java  |  7 ++++++-
 2 files changed, 19 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/92408f19/exec/java-exec/src/main/java/org/apache/drill/exec/rpc/BasicClient.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/rpc/BasicClient.java b/exec/java-exec/src/main/java/org/apache/drill/exec/rpc/BasicClient.java
index 1d9fecf..2a3266a 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/rpc/BasicClient.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/rpc/BasicClient.java
@@ -17,6 +17,8 @@
  */
 package org.apache.drill.exec.rpc;
 
+import java.util.concurrent.ExecutionException;
+
 import io.netty.bootstrap.Bootstrap;
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.ByteBufAllocator;
@@ -54,7 +56,7 @@ public abstract class BasicClient<T extends EnumLite, R extends RemoteConnection
     this.responseClass = responseClass;
     this.handshakeType = handshakeType;
     this.handshakeParser = handshakeParser;
-    
+
     b = new Bootstrap() //
         .group(eventLoopGroup) //
         .channel(NioSocketChannel.class) //
@@ -69,7 +71,7 @@ public abstract class BasicClient<T extends EnumLite, R extends RemoteConnection
 //            logger.debug("initializing client connection.");
             connection = initRemoteConnection(ch);
             ch.closeFuture().addListener(getCloseHandler(connection));
-            
+
             ch.pipeline().addLast( //
                 getDecoder(connection.getAllocator()), //
                 new RpcDecoder("c-" + rpcConfig.getName()), //
@@ -84,7 +86,7 @@ public abstract class BasicClient<T extends EnumLite, R extends RemoteConnection
 
     ;
   }
-  
+
   public abstract ProtobufLengthDecoder getDecoder(BufferAllocator allocator);
 
   public boolean isActive(){
@@ -93,7 +95,7 @@ public abstract class BasicClient<T extends EnumLite, R extends RemoteConnection
 
   protected abstract void validateHandshake(HANDSHAKE_RESPONSE validateHandshake) throws RpcException;
   protected abstract void finalizeConnection(HANDSHAKE_RESPONSE handshake, R connection);
-  
+
   protected GenericFutureListener<ChannelFuture> getCloseHandler(Channel channel) {
     return new ChannelClosedHandler();
   }
@@ -125,7 +127,7 @@ public abstract class BasicClient<T extends EnumLite, R extends RemoteConnection
     public ConnectionMultiListener(RpcConnectionHandler<R> l, HANDSHAKE_SEND handshakeValue) {
       assert l != null;
       assert handshakeValue != null;
-          
+
       this.l = l;
       this.handshakeValue = handshakeValue;
     }
@@ -204,10 +206,14 @@ public abstract class BasicClient<T extends EnumLite, R extends RemoteConnection
   public void setAutoRead(boolean enableAutoRead){
     connection.setAutoRead(enableAutoRead);
   }
-  
+
   public void close() {
     logger.debug("Closing client");
-    connection.getChannel().close();
+    try {
+      connection.getChannel().close().get();
+    } catch (InterruptedException | ExecutionException e) {
+      logger.warn("Failure whiel shutting {}", this.getClass().getName(), e);
+    }
   }
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/92408f19/exec/java-exec/src/main/java/org/apache/drill/exec/rpc/BasicServer.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/rpc/BasicServer.java b/exec/java-exec/src/main/java/org/apache/drill/exec/rpc/BasicServer.java
index 8f533e3..f99365e 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/rpc/BasicServer.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/rpc/BasicServer.java
@@ -32,6 +32,7 @@ import io.netty.handler.logging.LoggingHandler;
 
 import java.io.IOException;
 import java.net.BindException;
+import java.util.concurrent.ExecutionException;
 
 import org.apache.drill.exec.exception.DrillbitStartupException;
 import org.apache.drill.exec.memory.BufferAllocator;
@@ -162,7 +163,11 @@ public abstract class BasicServer<T extends EnumLite, C extends RemoteConnection
 
   @Override
   public void close() throws IOException {
-    eventLoopGroup.shutdownGracefully();
+    try {
+      eventLoopGroup.shutdownGracefully().get();
+    } catch (InterruptedException | ExecutionException e) {
+      logger.warn("Failure while shutting down {}. ", this.getClass().getName(), e);
+    }
   }
 
 }