hawq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From shiv...@apache.org
Subject [17/50] incubator-hawq git commit: HAWQ-547. When HAWQ RM does not have valid YARN resource queue status received the cluster report is not accepted
Date Mon, 21 Mar 2016 22:01:46 GMT
HAWQ-547. When HAWQ RM does not have valid YARN resource queue status received the cluster
report is not accepted


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

Branch: refs/heads/HAWQ-459
Commit: 5fda1826aff4780b20e24db5210f79f867ef39ae
Parents: 8e38e84
Author: YI JIN <yjin@pivotal.io>
Authored: Wed Mar 16 13:52:37 2016 +1100
Committer: YI JIN <yjin@pivotal.io>
Committed: Wed Mar 16 13:52:37 2016 +1100

----------------------------------------------------------------------
 src/backend/resourcemanager/include/errorcode.h   |  1 +
 .../resourcebroker/resourcebroker_LIBYARN.c       | 18 ++++++++++++++++--
 2 files changed, 17 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/5fda1826/src/backend/resourcemanager/include/errorcode.h
----------------------------------------------------------------------
diff --git a/src/backend/resourcemanager/include/errorcode.h b/src/backend/resourcemanager/include/errorcode.h
index ca338a8..de08fff 100644
--- a/src/backend/resourcemanager/include/errorcode.h
+++ b/src/backend/resourcemanager/include/errorcode.h
@@ -162,6 +162,7 @@ enum DRM_ERROR_CODE {
 	RESBROK_WRONG_GLOB_MGR_ADDRESS,
 	RESBROK_WRONG_GLOB_MGR_QUEUE,
 	RESBROK_WRONG_GLOB_MGR_APPNAME,
+	RESBROK_WRONG_GLOB_MGR_QUEUEREPORT,
 	RESBROK_PIPE_ERROR,
 	RESBROK_NOMORE_RESOURCE_IN_GRM,
 	RESBROK_WRONG_MESSAGE_ID,

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/5fda1826/src/backend/resourcemanager/resourcebroker/resourcebroker_LIBYARN.c
----------------------------------------------------------------------
diff --git a/src/backend/resourcemanager/resourcebroker/resourcebroker_LIBYARN.c b/src/backend/resourcemanager/resourcebroker/resourcebroker_LIBYARN.c
index cdbe0d5..b8d205e 100644
--- a/src/backend/resourcemanager/resourcebroker/resourcebroker_LIBYARN.c
+++ b/src/backend/resourcemanager/resourcebroker/resourcebroker_LIBYARN.c
@@ -568,7 +568,7 @@ int handleRB2RM_ClusterReport(void)
 	}
 
 	elog(LOG, "YARN mode resource broker got cluster report having %d host(s), "
-			  "maximum capacity is %lf.",
+			  "maximum queue capacity is %lf.",
 			  response.MachineCount,
 			  response.QueueMaxCapacity);
 
@@ -631,6 +631,19 @@ int handleRB2RM_ClusterReport(void)
 	 * TILL NOW, the whole message content is received.
 	 */
 
+	if ( res == FUNC_RETURN_OK )
+	{
+		/* Check if the YARN resource queue report is valid, i.e. maximum
+		 * capacity and capacity are all greater than 0.
+		 */
+		if ( response.QueueCapacity <= 0 || response.QueueMaxCapacity <= 0 )
+		{
+			elog(WARNING, "YARN mode resource broker got invalid cluster report");
+			res = RESBROK_WRONG_GLOB_MGR_QUEUEREPORT;
+
+		}
+	}
+
 	/* If something wrong, no need to keep the received content, free them. */
 	if ( res != FUNC_RETURN_OK )
 	{
@@ -1176,6 +1189,7 @@ void RB_LIBYARN_handleError(int errorcode)
 	}
 	else
 	{
-		Assert(errorcode == FUNC_RETURN_OK);
+		Assert(errorcode == FUNC_RETURN_OK ||
+			   errorcode == RESBROK_WRONG_GLOB_MGR_QUEUEREPORT);
 	}
 }


Mime
View raw message