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;