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 2015/12/01 05:12:44 UTC

incubator-hawq git commit: HAWQ-197. Adding a huge number of GRM containers cause socket connection timed out

Repository: incubator-hawq
Updated Branches:
  refs/heads/master be4aabb7c -> 8575d7000


HAWQ-197. Adding a huge number of GRM containers cause socket connection timed out


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

Branch: refs/heads/master
Commit: 8575d700088f1a5abe77f5fdbfa331f7d2d4c4db
Parents: be4aabb
Author: Yi Jin <yj...@pivotal.io>
Authored: Tue Dec 1 12:03:22 2015 +0800
Committer: Yi Jin <yj...@pivotal.io>
Committed: Tue Dec 1 12:03:22 2015 +0800

----------------------------------------------------------------------
 src/backend/cdb/cdbvars.c                  |  1 +
 src/backend/resourcemanager/resourcepool.c | 12 ++++++++++--
 src/backend/utils/misc/guc.c               |  9 +++++++++
 src/include/cdb/cdbvars.h                  |  1 +
 4 files changed, 21 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/8575d700/src/backend/cdb/cdbvars.c
----------------------------------------------------------------------
diff --git a/src/backend/cdb/cdbvars.c b/src/backend/cdb/cdbvars.c
index d93bf32..d4343c4 100644
--- a/src/backend/cdb/cdbvars.c
+++ b/src/backend/cdb/cdbvars.c
@@ -356,6 +356,7 @@ int		rm_session_lease_heartbeat_interval; /* How many seconds to wait before sen
 int		rm_tolerate_nseg_limit;
 int		rm_rejectrequest_nseg_limit;
 int		rm_nvseg_variance_among_seg_limit;
+int		rm_container_batch_limit;
 
 char   *rm_resourcepool_test_filename;
 

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/8575d700/src/backend/resourcemanager/resourcepool.c
----------------------------------------------------------------------
diff --git a/src/backend/resourcemanager/resourcepool.c b/src/backend/resourcemanager/resourcepool.c
index 4a7448b..6d51dfa 100644
--- a/src/backend/resourcemanager/resourcepool.c
+++ b/src/backend/resourcemanager/resourcepool.c
@@ -1417,8 +1417,6 @@ void addGRMContainerToResPool(GRMContainer container)
 			  segresource->Stat->ID,
 			  segresource->Stat->Info.HostNameLen,
 			  GET_SEGRESOURCE_HOSTNAME(segresource));
-
-	validateResourcePoolStatus(false);
 }
 
 void dropGRMContainerFromResPool(GRMContainer ctn)
@@ -3149,6 +3147,7 @@ void moveAllAcceptedGRMContainersToResPool(void)
 		return;
 	}
 
+	int counter = 0;
 	while( PRESPOOL->AcceptedContainers != NULL )
 	{
 		GRMContainer ctn = (GRMContainer)
@@ -3163,6 +3162,15 @@ void moveAllAcceptedGRMContainersToResPool(void)
 				  PRESPOOL->AddPendingContainerCount);
 		addNewResourceToResourceManager(ctn->MemoryMB, ctn->Core);
 		removePendingResourceRequestInRootQueue(ctn->MemoryMB, ctn->Core, true);
+
+		counter++;
+		if ( counter >= rm_container_batch_limit )
+		{
+			elog(LOG, "%d GRM containers left, they will be added into "
+					  "resourcepool next processing cycle.",
+					  list_length(PRESPOOL->AcceptedContainers));
+			break;
+		}
 	}
 	validateResourcePoolStatus(true);
 }

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/8575d700/src/backend/utils/misc/guc.c
----------------------------------------------------------------------
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
index 5c1ef45..d28161c 100644
--- a/src/backend/utils/misc/guc.c
+++ b/src/backend/utils/misc/guc.c
@@ -6558,6 +6558,15 @@ static struct config_int ConfigureNamesInt[] =
 	},
 
 	{
+		{"hawq_rm_container_batch_limit", PGC_POSTMASTER, RESOURCES_MGM,
+			gettext_noop("the batch process limit for global resource manager containers."),
+			NULL
+		},
+		&rm_container_batch_limit,
+		1000, 1, 65535, NULL, NULL
+	},
+
+	{
 		{"hawq_rm_nresqueue_limit", PGC_POSTMASTER, RESOURCES_MGM,
 			gettext_noop("the maximum number of resource queue."),
 			NULL

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/8575d700/src/include/cdb/cdbvars.h
----------------------------------------------------------------------
diff --git a/src/include/cdb/cdbvars.h b/src/include/cdb/cdbvars.h
index ed941d7..397f0a9 100644
--- a/src/include/cdb/cdbvars.h
+++ b/src/include/cdb/cdbvars.h
@@ -1207,6 +1207,7 @@ extern int	   rm_session_lease_heartbeat_interval;
 extern int	   rm_tolerate_nseg_limit;
 extern int	   rm_rejectrequest_nseg_limit;
 extern int	   rm_nvseg_variance_among_seg_limit;
+extern int	   rm_container_batch_limit;
 extern char   *rm_resourcepool_test_filename;
 extern bool	   rm_force_fifo_queue;