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 <[email protected]>
Authored: Thu May 26 12:59:08 2016 +1000
Committer: YI JIN <[email protected]>
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, "");
 

Reply via email to