You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hawq.apache.org by yj...@apache.org on 2017/11/08 05:03:10 UTC

incubator-hawq git commit: HAWQ-1530. Illegally killing a JDBC select query causes locking problems

Repository: incubator-hawq
Updated Branches:
  refs/heads/master 9312de04a -> 1aafa0c88


HAWQ-1530. Illegally killing a JDBC select query causes locking problems


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

Branch: refs/heads/master
Commit: 1aafa0c88ca8529e1b12ca2a84c692d20cc9e211
Parents: 9312de0
Author: Yi <yj...@apache.org>
Authored: Wed Nov 8 16:02:54 2017 +1100
Committer: Yi <yj...@apache.org>
Committed: Wed Nov 8 16:02:54 2017 +1100

----------------------------------------------------------------------
 src/backend/cdb/dispatcher.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/1aafa0c8/src/backend/cdb/dispatcher.c
----------------------------------------------------------------------
diff --git a/src/backend/cdb/dispatcher.c b/src/backend/cdb/dispatcher.c
index 634c52a..6322871 100644
--- a/src/backend/cdb/dispatcher.c
+++ b/src/backend/cdb/dispatcher.c
@@ -59,6 +59,7 @@
 #include "tcop/pquery.h"			/* PortalGetResource */
 
 #include "resourcemanager/communication/rmcomm_QD2RM.h"
+#include "storage/ipc.h"
 
 /* Define and structure */
 typedef struct DispatchTask
@@ -1414,9 +1415,12 @@ dispatch_cleanup(DispatchData *data)
 	if (dispatcher_is_state_error(data))
 	{
 		/* We cannot unbind executors until we retrieve error message! */
-		dispatch_throw_error(data);
-		Assert(false);
-		return;	/* should not hit */
+		if (!proc_exit_inprogress) {
+			dispatch_throw_error(data);
+			Assert(false);
+			return;	/* should not hit */
+		}
+
 	}
 	
 	dispatch_end_env(data);