Repository: incubator-drill
Updated Branches:
  refs/heads/master 33c28f624 -> 3ea8eb510


DRILL-1073: Include intermediate fragments when initializing 
remainingFragmentCount

Ignore QueryState.COMPLETED messages in jdbc.

This was causing the Query Complete message to get sent before the query had 
actually completed.


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

Branch: refs/heads/master
Commit: 8a22910f2aa1ea933e122357f52e13b68801d2b6
Parents: 33c28f6
Author: Steven Phillips <sphill...@maprtech.com>
Authored: Tue Jun 24 19:21:03 2014 -0700
Committer: Jacques Nadeau <jacq...@apache.org>
Committed: Wed Jun 25 14:33:55 2014 -0700

----------------------------------------------------------------------
 .../java/org/apache/drill/exec/work/foreman/QueryManager.java  | 2 +-
 .../src/main/java/org/apache/drill/jdbc/DrillResultSet.java    | 6 ++++++
 2 files changed, 7 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/8a22910f/exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/QueryManager.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/QueryManager.java
 
b/exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/QueryManager.java
index faa5578..f0c1ede 100644
--- 
a/exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/QueryManager.java
+++ 
b/exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/QueryManager.java
@@ -86,7 +86,7 @@ public class QueryManager implements FragmentStatusListener{
                            UserClientConnection rootClient, List<PlanFragment> 
leafFragments,
                            List<PlanFragment> intermediateFragments) throws 
ExecutionSetupException{
     logger.debug("Setting up fragment runs.");
-    remainingFragmentCount.set(leafFragments.size()+1);
+    remainingFragmentCount.set(intermediateFragments.size() + 
leafFragments.size() + 1);
     assert queryId == rootFragment.getHandle().getQueryId();
     workBus = bee.getContext().getWorkBus();
 

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/8a22910f/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillResultSet.java
----------------------------------------------------------------------
diff --git a/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillResultSet.java 
b/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillResultSet.java
index 594e3ff..61fca61 100644
--- a/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillResultSet.java
+++ b/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillResultSet.java
@@ -31,6 +31,7 @@ import net.hydromatic.avatica.AvaticaStatement;
 
 import org.apache.drill.exec.client.DrillClient;
 import org.apache.drill.exec.proto.UserBitShared.QueryId;
+import org.apache.drill.exec.proto.UserBitShared.QueryResult.QueryState;
 import org.apache.drill.exec.proto.UserBitShared.QueryType;
 import org.apache.drill.exec.record.RecordBatchLoader;
 import org.apache.drill.exec.rpc.RpcException;
@@ -129,6 +130,11 @@ public class DrillResultSet extends AvaticaResultSet {
     public void resultArrived(QueryResultBatch result, ConnectionThrottle 
throttle) {
       logger.debug("Result arrived {}", result);
 
+      if (result.getHeader().hasQueryState() && 
result.getHeader().getQueryState() == QueryState.COMPLETED && 
result.getHeader().getRowCount() == 0) {
+        result.release();
+        return;
+      }
+
       // if we're in a closed state, just release the message.
       if (closed) {
         result.release();

Reply via email to