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 2016/05/26 02:59:25 UTC

incubator-hawq git commit: HAWQ-749. segment registration should consider same ip across nodes

Repository: incubator-hawq
Updated Branches:
  refs/heads/master d49b735ea -> f55cc6a34


HAWQ-749. segment registration should consider same ip across nodes


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

Branch: refs/heads/master
Commit: f55cc6a343f24718f0a73be6e956690713ec942c
Parents: d49b735
Author: YI JIN <yj...@pivotal.io>
Authored: Thu May 26 12:59:08 2016 +1000
Committer: YI JIN <yj...@pivotal.io>
Committed: Thu May 26 12:59:08 2016 +1000

----------------------------------------------------------------------
 src/backend/resourcemanager/resourcepool.c | 32 +++++++------------------
 1 file changed, 9 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/f55cc6a3/src/backend/resourcemanager/resourcepool.c
----------------------------------------------------------------------
diff --git a/src/backend/resourcemanager/resourcepool.c b/src/backend/resourcemanager/resourcepool.c
index 309ea9a..7221066 100644
--- a/src/backend/resourcemanager/resourcepool.c
+++ b/src/backend/resourcemanager/resourcepool.c
@@ -926,30 +926,10 @@ int addHAWQSegWithSegStat(SegStat segstat, bool *capstatchanged)
 	res = getSegIDByHostName(hostname, hostnamelen, &segid);
 	if ( res != FUNC_RETURN_OK )
 	{
-		/* Try addresses of this machine. */
-		for ( int i = 0 ; i < segstat->Info.HostAddrCount ; ++i )
-		{
-			elog(DEBUG5, "Resource manager checks host ip (%d)th to get segment.", i);
-			AddressString addr = NULL;
-			getSegInfoHostAddrStr(&(segstat->Info), i, &addr);
-			if ( strcmp(addr->Address, IPV4_DOT_ADDR_LO) == 0 &&
-				 segstat->Info.HostAddrCount > 1 )
-			{
-				/*
-				 * If the host has only one address as 127.0.0.1, we have to
-				 * save it to track the only one segment, otherwise, we skip
-				 * 127.0.0.1 address in resource pool. Because, each node has
-				 * one entry of this address.
-				 */
-				continue;
-			}
+		AddressString addr = NULL;
+		getSegInfoHostAddrStr(&(segstat->Info), 0, &addr);
 
-			res = getSegIDByHostAddr((uint8_t *)(addr->Address), addr->Length, &segid);
-			if ( res == FUNC_RETURN_OK )
-			{
-				break;
-			}
-		}
+		res = getSegIDByHostAddr((uint8_t *)(addr->Address), addr->Length, &segid);
 	}
 
 	/* CASE 1. It is a new host. */
@@ -1016,6 +996,12 @@ int addHAWQSegWithSegStat(SegStat segstat, bool *capstatchanged)
 						  hostaddrkey.Len, hostaddrkey.Array,
 						  hostname);
 			}
+			else
+			{
+				elog(WARNING, "Resource manager ignored ip address '%.*s' for host '%s'",
+						      hostaddrkey.Len, hostaddrkey.Array,
+							  hostname);
+			}
 		}
 		appendSMBStr(&logcontent, "");