Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-12954

Ability impaired using HBase on multihomed hosts

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 0.98.4
    • Fix Version/s: 2.0.0, 1.1.0
    • Component/s: None
    • Labels:
      None
    • Hadoop Flags:
      Reviewed
    • Release Note:
      Hide
      The following config is added by this JIRA:

      hbase.regionserver.hostname

      This config is for experts: don't set its value unless you really know what you are doing.
      When set to a non-empty value, this represents the (external facing) hostname for the underlying server.
      See https://issues.apache.org/jira/browse/HBASE-12954 for details.

      Caution: please make sure rolling upgrade succeeds before turning on this feature.
      Show
      The following config is added by this JIRA: hbase.regionserver.hostname This config is for experts: don't set its value unless you really know what you are doing. When set to a non-empty value, this represents the (external facing) hostname for the underlying server. See https://issues.apache.org/jira/browse/HBASE-12954 for details. Caution: please make sure rolling upgrade succeeds before turning on this feature.

      Description

      For HBase clusters running on unusual networks (such as NAT'd cloud environments or physical machines with multiple IP's per network interface) it would be ideal to have a way to both specify:

      1. which IP interface to which HBase master or region-server will bind
      2. what hostname HBase will advertise in Zookeeper both for a master or region-server process

      While efforts such as HBASE-8640 go a long way to normalize these two sources of information, it is not possible in the current design of the properties available to an administrator for these to be unambiguously specified.

      One has been able to request hbase.master.ipc.address or hbase.regionserver.ipc.address but one can not specify the desired HBase hbase.master.hostname. (It was removed in HBASE-1357, further I am unaware of a region-server equivalent.)

      I use a configuration management system to generate all of my configuration files on a per-machine basis. As such, an option to generate a file specifying exactly which hostname to use would be helpful.

      Today, specifying the bind address for HBase works and one can use an HBase-only DNS for faking what to put in Zookeeper but this is far from ideal. Network interfaces have no intrinsic IP address, nor hostname. Specifing a DNS server is awkward as the DNS server may differ from the system's resolver and is a single IP address. Similarly, on hosts which use a transient VIP (e.g. through keepalived) for other services, it means there's a seemingly non-deterministic hostname choice made by HBase depending on the state of the VIP at daemon start-up time.

      I will attach two networking examples I use which become very difficult to manage under the current properties.

      1. 12954-addendum.txt
        1 kB
        Ted Yu
      2. 12954-branch-1-v14.txt
        36 kB
        Ted Yu
      3. 12954-v1.txt
        24 kB
        Ted Yu
      4. 12954-v10.txt
        37 kB
        Ted Yu
      5. 12954-v11.txt
        36 kB
        Ted Yu
      6. 12954-v12.txt
        36 kB
        Ted Yu
      7. 12954-v12.txt
        36 kB
        Ted Yu
      8. 12954-v12.txt
        36 kB
        Ted Yu
      9. 12954-v13.txt
        36 kB
        Ted Yu
      10. 12954-v14.txt
        36 kB
        Ted Yu
      11. 12954-v7.txt
        34 kB
        Ted Yu
      12. 12954-v8.txt
        36 kB
        Ted Yu
      13. Hadoop Three Interfaces.png
        59 kB
        Clay B.

        Issue Links

          Activity

          Hide
          clayb Clay B. added a comment -

          Diagram showing two currently pathological networks:

          Multi-homed/Multi-IP Bare Metal

          Here we see machines with multiple physical network interfaces (eth0, eth4.1000, eth5.1001) and mutiple IP addresses per physical interface (e.g. host-specific f-hostb.bach.example.com and a transient VIP services.bach.example.com).

          Here, we would want to bind HBase services to a specific IP address (i.e. 192.168.100.12) and we would want to advertise HBase services in Zookeeper at a specific hostname (i.e. f-hostb.bach.example.com).

          Using only a physical interface (i.e. eth5.1001) this is not possible.

          OpenStack

          Here we see that each VM only knows of its internal (-int) address; i.e. if one runs an `ip addr list` they will only see a 100.127.0.0/24 address but in Zookeeper we would like to advertise the hostname which corresponds to the globally reachable NAT'd IP address (the 192.168.101.0/24) address (here for example `hosta.tenant.openstack.example.com`). Meanwhile, as the VM is unaware of the 192.168.101.0/24 network on its local IP stack we would have to bind to the hosts only IP interface 100.127.1.2.

          Show
          clayb Clay B. added a comment - Diagram showing two currently pathological networks: Multi-homed/Multi-IP Bare Metal Here we see machines with multiple physical network interfaces (eth0, eth4.1000, eth5.1001) and mutiple IP addresses per physical interface (e.g. host-specific f-hostb.bach.example.com and a transient VIP services.bach.example.com). Here, we would want to bind HBase services to a specific IP address (i.e. 192.168.100.12) and we would want to advertise HBase services in Zookeeper at a specific hostname (i.e. f-hostb.bach.example.com). Using only a physical interface (i.e. eth5.1001) this is not possible. OpenStack Here we see that each VM only knows of its internal (-int) address; i.e. if one runs an `ip addr list` they will only see a 100.127.0.0/24 address but in Zookeeper we would like to advertise the hostname which corresponds to the globally reachable NAT'd IP address (the 192.168.101.0/24) address (here for example `hosta.tenant.openstack.example.com`). Meanwhile, as the VM is unaware of the 192.168.101.0/24 network on its local IP stack we would have to bind to the hosts only IP interface 100.127.1.2.
          Hide
          yuzhihong@gmail.com Ted Yu added a comment -

          Patch v1 adds hbase.regionserver.hostname config parameter which allows region server to specify the desired hostname to be published in zookeeper.

          Show
          yuzhihong@gmail.com Ted Yu added a comment - Patch v1 adds hbase.regionserver.hostname config parameter which allows region server to specify the desired hostname to be published in zookeeper.
          Hide
          dimaspivak Dima Spivak added a comment -

          Seeing as how Clay B. marked this as affecting a 0.98 release, do you see this going into master alone, Ted Yu or other branches, as well? If others, what implications would it have for wire compatibility?

          Show
          dimaspivak Dima Spivak added a comment - Seeing as how Clay B. marked this as affecting a 0.98 release, do you see this going into master alone, Ted Yu or other branches, as well? If others, what implications would it have for wire compatibility?
          Hide
          yuzhihong@gmail.com Ted Yu added a comment -

          Change to RegionServerStatus is backward compatible since it is protobuf-encoded.

          Show
          yuzhihong@gmail.com Ted Yu added a comment - Change to RegionServerStatus is backward compatible since it is protobuf-encoded.
          Hide
          dimaspivak Dima Spivak added a comment -

          I guess my concern is forward compatibility (e.g. a 0.98 client with this talks to a 1.0.0 client without). Would that work? Or do you only see this going into a non-0.98 branch?

          Show
          dimaspivak Dima Spivak added a comment - I guess my concern is forward compatibility (e.g. a 0.98 client with this talks to a 1.0.0 client without). Would that work? Or do you only see this going into a non-0.98 branch?
          Hide
          yuzhihong@gmail.com Ted Yu added a comment -

          In the current formation, region server suggests its hostname through RegionServerStatus to master.
          For the scenario where 0.98 region server with this feature talking to 1.0.0 master without this feature, the suggested hostname wouldn't be adopted. But this scenario shouldn't last long if the user wants to use this feature - once master with this feature is started, the feature works.

          Show
          yuzhihong@gmail.com Ted Yu added a comment - In the current formation, region server suggests its hostname through RegionServerStatus to master. For the scenario where 0.98 region server with this feature talking to 1.0.0 master without this feature, the suggested hostname wouldn't be adopted. But this scenario shouldn't last long if the user wants to use this feature - once master with this feature is started, the feature works.
          Hide
          dimaspivak Dima Spivak added a comment -

          I guess my concern was less around the rolling upgrade scenario (though that is an important one, good thought), and more having to do with a 0.98.x client with this feature enabled talking to a 1.0.0 cluster that didn't have knowledge of it. As long as the server can handle the unknown deserialized information without freaking out, it's fine by me. Is that doable with a change like this?

          Show
          dimaspivak Dima Spivak added a comment - I guess my concern was less around the rolling upgrade scenario (though that is an important one, good thought), and more having to do with a 0.98.x client with this feature enabled talking to a 1.0.0 cluster that didn't have knowledge of it. As long as the server can handle the unknown deserialized information without freaking out, it's fine by me. Is that doable with a change like this?
          Hide
          yuzhihong@gmail.com Ted Yu added a comment -

          Is that doable with a change like this?

          Yes.

          Show
          yuzhihong@gmail.com Ted Yu added a comment - Is that doable with a change like this? Yes.
          Hide
          stack stack added a comment -

          In the current formation, region server suggests its hostname through RegionServerStatus to master.

          When you say the above Ted Yu, it seems that you do not know how the naming works in hbase. Looking at the patch, there is not even a test of what happens when regionserver specifies name. What is to prevent recurrence of bad old days where a regionserver would show twice in the regionserver listings; once w/ the name the master has for it and then with the name the regionserver chose for itself. The master tells the regionserver the name to use is how it works else they two diverge when naming is misconfigured.

          Clay B. Sounds like we need to disconnect the name hbase uses internally from that posted to zk.

          Show
          stack stack added a comment - In the current formation, region server suggests its hostname through RegionServerStatus to master. When you say the above Ted Yu , it seems that you do not know how the naming works in hbase. Looking at the patch, there is not even a test of what happens when regionserver specifies name. What is to prevent recurrence of bad old days where a regionserver would show twice in the regionserver listings; once w/ the name the master has for it and then with the name the regionserver chose for itself. The master tells the regionserver the name to use is how it works else they two diverge when naming is misconfigured. Clay B. Sounds like we need to disconnect the name hbase uses internally from that posted to zk.
          Hide
          hadoopqa Hadoop QA added a comment -

          +1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12695936/12954-v1.txt
          against master branch at commit fef78acf6534f6736c10d2054cf8cb479edd3291.
          ATTACHMENT ID: 12695936

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 3 new or modified tests.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          +1 javadoc. The javadoc tool did not generate any warning messages.

          +1 checkstyle. The applied patch does not increase the total number of checkstyle errors

          +1 findbugs. The patch does not introduce any new Findbugs (version 2.0.3) warnings.

          +1 release audit. The applied patch does not increase the total number of release audit warnings.

          +1 lineLengths. The patch does not introduce lines longer than 100

          +1 site. The mvn site goal succeeds with this patch.

          +1 core tests. The patch passed unit tests in .

          Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/12668//testReport/
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12668//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12668//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12668//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12668//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12668//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12668//artifact/patchprocess/newPatchFindbugsWarningshbase-rest.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12668//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12668//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12668//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12668//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12668//artifact/patchprocess/newPatchFindbugsWarningshbase-annotations.html
          Checkstyle Errors: https://builds.apache.org/job/PreCommit-HBASE-Build/12668//artifact/patchprocess/checkstyle-aggregate.html

          Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/12668//console

          This message is automatically generated.

          Show
          hadoopqa Hadoop QA added a comment - +1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12695936/12954-v1.txt against master branch at commit fef78acf6534f6736c10d2054cf8cb479edd3291. ATTACHMENT ID: 12695936 +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 3 new or modified tests. +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 javadoc . The javadoc tool did not generate any warning messages. +1 checkstyle . The applied patch does not increase the total number of checkstyle errors +1 findbugs . The patch does not introduce any new Findbugs (version 2.0.3) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. +1 lineLengths . The patch does not introduce lines longer than 100 +1 site . The mvn site goal succeeds with this patch. +1 core tests . The patch passed unit tests in . Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/12668//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12668//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12668//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12668//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12668//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12668//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12668//artifact/patchprocess/newPatchFindbugsWarningshbase-rest.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12668//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12668//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12668//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12668//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12668//artifact/patchprocess/newPatchFindbugsWarningshbase-annotations.html Checkstyle Errors: https://builds.apache.org/job/PreCommit-HBASE-Build/12668//artifact/patchprocess/checkstyle-aggregate.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/12668//console This message is automatically generated.
          Hide
          yuzhihong@gmail.com Ted Yu added a comment -

          Tried to add a test where region server hostname is specified as different from what the normal hostname is - assuming multiple network interfaces are present.

              Enumeration<NetworkInterface> netInterfaceList = NetworkInterface.getNetworkInterfaces();
              while (netInterfaceList.hasMoreElements()) {
                NetworkInterface ni = netInterfaceList.nextElement();
                Enumeration<InetAddress> addrList = ni.getInetAddresses();
                while (addrList.hasMoreElements()) {
                  InetAddress addr = addrList.nextElement();
                  LOG.info("Found " + addr);
                }
              }
          

          which produced:

          2015-02-02 12:09:34,351 INFO  [Thread-1] regionserver.TestRegionServerName(71): Found /10.10.9.249
          2015-02-02 12:09:34,353 INFO  [Thread-1] regionserver.TestRegionServerName(71): Found /192.168.64.1
          2015-02-02 12:09:34,354 INFO  [Thread-1] regionserver.TestRegionServerName(71): Found /10.11.3.249
          

          Suppose 10.10.9.249 is the one that is returned by ia.getHostName() in regionServerStartup().
          When 10.11.3.249 is specified as hostname, I got:

          Caused by: java.net.ConnectException: Connection refused: /10.11.3.249:52284
          	at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
          	at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:739)
          	at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:208)
          	at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:287)
          	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:528)
          

          The ports on the network interfaces need to be configured to have the corresponding value.

          Show
          yuzhihong@gmail.com Ted Yu added a comment - Tried to add a test where region server hostname is specified as different from what the normal hostname is - assuming multiple network interfaces are present. Enumeration<NetworkInterface> netInterfaceList = NetworkInterface.getNetworkInterfaces(); while (netInterfaceList.hasMoreElements()) { NetworkInterface ni = netInterfaceList.nextElement(); Enumeration<InetAddress> addrList = ni.getInetAddresses(); while (addrList.hasMoreElements()) { InetAddress addr = addrList.nextElement(); LOG.info( "Found " + addr); } } which produced: 2015-02-02 12:09:34,351 INFO [ Thread -1] regionserver.TestRegionServerName(71): Found /10.10.9.249 2015-02-02 12:09:34,353 INFO [ Thread -1] regionserver.TestRegionServerName(71): Found /192.168.64.1 2015-02-02 12:09:34,354 INFO [ Thread -1] regionserver.TestRegionServerName(71): Found /10.11.3.249 Suppose 10.10.9.249 is the one that is returned by ia.getHostName() in regionServerStartup(). When 10.11.3.249 is specified as hostname, I got: Caused by: java.net.ConnectException: Connection refused: /10.11.3.249:52284 at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:739) at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:208) at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:287) at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:528) The ports on the network interfaces need to be configured to have the corresponding value.
          Hide
          apurtell Andrew Purtell added a comment -

          Ted Yu, your test needs to simulate a hostname resolving to "foo.bar.com" at the regionserver and "baz.bar.com" at the master for the same IP address. This sometimes happens. It is necessary for the master to tell the regionserver its identity lest we resurrect data loss issues from the past due to multiple assignment. You'll need to find a solution where the master remains in charge of defining regionserver identities.

          Show
          apurtell Andrew Purtell added a comment - Ted Yu , your test needs to simulate a hostname resolving to "foo.bar.com" at the regionserver and "baz.bar.com" at the master for the same IP address. This sometimes happens. It is necessary for the master to tell the regionserver its identity lest we resurrect data loss issues from the past due to multiple assignment. You'll need to find a solution where the master remains in charge of defining regionserver identities.
          Hide
          clayb Clay B. added a comment -

          Hi Andrew Purtell, indeed this can happen under my networks:

          One could – intentionally – have an apparent mismatch of IP and hostname. In the case of the OpenStack network, a region server may talk to a master on the same private (tenancy) network – all traffic would go via the 100.127.1.0/24. But for external clients to be able to talk in, Zookeeper would be advertising the *.tenant.openstack.example.com DNS names (192.168.101.0/24 network). The master should always be able to reach the regionserver on the IP the regionserver is bound to hbase.regionserver.ipc.address, but what is advertised in Zookeeper may be different than what the master would reverse-DNS lookup for the regionserver's bound IP address.

          Conversely, what is advertised in Zookeeper should always reach the regionserver from anywhere in my networks (e.g. an external client or the master).

          Show
          clayb Clay B. added a comment - Hi Andrew Purtell, indeed this can happen under my networks: One could – intentionally – have an apparent mismatch of IP and hostname. In the case of the OpenStack network, a region server may talk to a master on the same private (tenancy) network – all traffic would go via the 100.127.1.0/24. But for external clients to be able to talk in, Zookeeper would be advertising the *.tenant.openstack.example.com DNS names (192.168.101.0/24 network). The master should always be able to reach the regionserver on the IP the regionserver is bound to hbase.regionserver.ipc.address , but what is advertised in Zookeeper may be different than what the master would reverse-DNS lookup for the regionserver's bound IP address. Conversely, what is advertised in Zookeeper should always reach the regionserver from anywhere in my networks (e.g. an external client or the master).
          Hide
          apurtell Andrew Purtell added a comment - - edited

          This is similar of course to issues operators face on EC2 clouds, where the reverse resolved internal DNS names are of no use unless all clients are also using the internal resolvers.

          So like Stack suggested, we need to disconnect the hostnames HBase uses internally from those posted to ZK for external consumption. One option could be to do it like HDFS rack mapping: a configuration property specifies a script that the master will execute to map IP addresses to internal and external names. It takes as input the IP address and a flag that specifies "internal" or "external". The results from executing the script with "internal" would be handed to regionservers as their identity, the results from executing with "external" would be advertised in ZooKeeper.

          Edit: Or invoke the script once and have it hand back all necessary information, structured as YAML or JSON or similar.

          Show
          apurtell Andrew Purtell added a comment - - edited This is similar of course to issues operators face on EC2 clouds, where the reverse resolved internal DNS names are of no use unless all clients are also using the internal resolvers. So like Stack suggested, we need to disconnect the hostnames HBase uses internally from those posted to ZK for external consumption. One option could be to do it like HDFS rack mapping: a configuration property specifies a script that the master will execute to map IP addresses to internal and external names. It takes as input the IP address and a flag that specifies "internal" or "external". The results from executing the script with "internal" would be handed to regionservers as their identity, the results from executing with "external" would be advertised in ZooKeeper. Edit: Or invoke the script once and have it hand back all necessary information, structured as YAML or JSON or similar.
          Hide
          yuzhihong@gmail.com Ted Yu added a comment -

          Currently HRegionServer has one ServerName field.
          In the above design, looks like it would maintain two ServerName fields.

          Show
          yuzhihong@gmail.com Ted Yu added a comment - Currently HRegionServer has one ServerName field. In the above design, looks like it would maintain two ServerName fields.
          Hide
          apurtell Andrew Purtell added a comment -

          No

          Show
          apurtell Andrew Purtell added a comment - No
          Hide
          enis Enis Soztutar added a comment -

          So like Stack suggested, we need to disconnect the hostnames HBase uses internally from those posted to ZK for external consumption

          Maybe my understanding of this is not correct. I thought that we want to standardize on the hostnames used both internally and externally, but we do not want to do a reverse DNS resolution necessarily. In this case both the master address in zookeeper, and the region server addresses in meta table will be coming from configured (and hardcoded) hostnames. We can still have the master "verify" the hostname provided from the regionserver, and use it only if the forward resolution works. Otherwise it rejects the RS. The RS will never use hostnames other than configured.
          The traffic from master to RS or RS to RS can be separated out (if wanted) using custom hosts file or DNS setup.

          Show
          enis Enis Soztutar added a comment - So like Stack suggested, we need to disconnect the hostnames HBase uses internally from those posted to ZK for external consumption Maybe my understanding of this is not correct. I thought that we want to standardize on the hostnames used both internally and externally, but we do not want to do a reverse DNS resolution necessarily. In this case both the master address in zookeeper, and the region server addresses in meta table will be coming from configured (and hardcoded) hostnames. We can still have the master "verify" the hostname provided from the regionserver, and use it only if the forward resolution works. Otherwise it rejects the RS. The RS will never use hostnames other than configured. The traffic from master to RS or RS to RS can be separated out (if wanted) using custom hosts file or DNS setup.
          Hide
          stack stack added a comment -

          I thought that we want to standardize on the hostnames used both internally and externally, but we do not want to do a reverse DNS resolution necessarily. In this case both the master address in zookeeper, and the region server addresses in meta table will be coming from configured (and hardcoded) hostnames. We can still have the master "verify" the hostname provided from the regionserver, and use it only if the forward resolution works. Otherwise it rejects the RS. The RS will never use hostnames other than configured.

          You are not describing how it currently works – master tells the RS what to use so no need of reverse lookup – nor are you describing what is in this patch (RS is rejected if it does not agree w/ what master has). Are you suggesting how it might work Enis Soztutar?

          Show
          stack stack added a comment - I thought that we want to standardize on the hostnames used both internally and externally, but we do not want to do a reverse DNS resolution necessarily. In this case both the master address in zookeeper, and the region server addresses in meta table will be coming from configured (and hardcoded) hostnames. We can still have the master "verify" the hostname provided from the regionserver, and use it only if the forward resolution works. Otherwise it rejects the RS. The RS will never use hostnames other than configured. You are not describing how it currently works – master tells the RS what to use so no need of reverse lookup – nor are you describing what is in this patch (RS is rejected if it does not agree w/ what master has). Are you suggesting how it might work Enis Soztutar ?
          Hide
          enis Enis Soztutar added a comment -

          You are not describing how it currently works – master tells the RS what to use so no need of reverse lookup

          The RS connects to master with it's ip. Master does a reverse lookup (no?), and tells that to the region server its own hostname and RS uses it from then on. At least that is what I understand from the current code.
          What I am proposing is a slight alteration (which is similar to what the patch has since I was involved in the initial discussions for the patch) that:

          • we configure a hostname for the regionserver
          • RS sends the configured hostname over the region server startup rpc.
          • Master does not do a reverse DNS resolution, but instead uses the hostname coming from the RPC parameters.
          • Master does a forward resolution of the hostname to verify that it can talk to the region server.
          • The hostname (ServerName) is passed back to the RS, which uses it from then on.
            Again, correct me if I am wrong. I'll re-check the code.
          Show
          enis Enis Soztutar added a comment - You are not describing how it currently works – master tells the RS what to use so no need of reverse lookup The RS connects to master with it's ip. Master does a reverse lookup (no?), and tells that to the region server its own hostname and RS uses it from then on. At least that is what I understand from the current code. What I am proposing is a slight alteration (which is similar to what the patch has since I was involved in the initial discussions for the patch) that: we configure a hostname for the regionserver RS sends the configured hostname over the region server startup rpc. Master does not do a reverse DNS resolution, but instead uses the hostname coming from the RPC parameters. Master does a forward resolution of the hostname to verify that it can talk to the region server. The hostname (ServerName) is passed back to the RS, which uses it from then on. Again, correct me if I am wrong. I'll re-check the code.
          Hide
          clayb Clay B. added a comment -

          Andrew Purtell and stack, I think there's some past design I'm not catching as to a desire to split internal and external HBase identification. Is the desire for a "split-view" (internal/external) of a cluster, for a network having a completely isolated cluster (e.g. public access is not accessible from internal networks but somehow external requests can still permeate in and be answered); I can't quite envision such a network. Certainly, I've seen interesting issues running multiple region servers on the same machine but the port part of the RegionServerStatus must be the key disambiguator there; in the CDH3 days (~0.90.4) one could certainly end up with duplicate registration due to inconsistent DNS/hostfile entries and that was bad; this would provide a canonical hostname from the region server should one chose to take matters into their own hands.

          I would be more concerned from an operations perspective that a mapping file (internal and external /etc/hosts for HBase) or script needs to be identical across a cluster (e.g. would need to be updated atomically) versus a configuration in a region server's hbase-site.xml which would be a single source of truth for that region server only and if incorrect would only affect that region server (ideally if we can figure out a good way to prevent potential duplicate registration otherwise duplicate registration could be a problem). It seems that a script would end up needing to query some atomic single source of truth like Zookeeper, Consul or etcd in the end anyways (as a master may jump e.g. due to a hardware failure at any time and one may want to move a region server(s)'s hostname) versus distributing responsibilty to the region servers and having a good check for duplicate registration. (Perhaps this could implement some UUID generation scheme as was suggested in the similar HBASE-3413, if protecting users from themselves is a key concern; also since work like HBASE-5844 has come about since the duplicate registration days, is this as big of a problem – would we delete the znode of a competing region server?)

          Again, following the line of a mapping script/file, would the thought be that the master enforce some reregistration process so that if hosta 1.1.1.1 becomes hostb which was 1.1.1.2 we don't allow all sorts of havoc to come about because region server identiies were changed in the mapping file but no region server restart was performed? (Further, how would this be handled gracefully and the administrator handle coordination across a cluster?)

          Show
          clayb Clay B. added a comment - Andrew Purtell and stack , I think there's some past design I'm not catching as to a desire to split internal and external HBase identification. Is the desire for a "split-view" (internal/external) of a cluster, for a network having a completely isolated cluster (e.g. public access is not accessible from internal networks but somehow external requests can still permeate in and be answered); I can't quite envision such a network. Certainly, I've seen interesting issues running multiple region servers on the same machine but the port part of the RegionServerStatus must be the key disambiguator there; in the CDH3 days (~0.90.4) one could certainly end up with duplicate registration due to inconsistent DNS/hostfile entries and that was bad; this would provide a canonical hostname from the region server should one chose to take matters into their own hands. I would be more concerned from an operations perspective that a mapping file (internal and external /etc/hosts for HBase) or script needs to be identical across a cluster (e.g. would need to be updated atomically) versus a configuration in a region server's hbase-site.xml which would be a single source of truth for that region server only and if incorrect would only affect that region server (ideally if we can figure out a good way to prevent potential duplicate registration otherwise duplicate registration could be a problem). It seems that a script would end up needing to query some atomic single source of truth like Zookeeper, Consul or etcd in the end anyways (as a master may jump e.g. due to a hardware failure at any time and one may want to move a region server(s)'s hostname) versus distributing responsibilty to the region servers and having a good check for duplicate registration. (Perhaps this could implement some UUID generation scheme as was suggested in the similar HBASE-3413 , if protecting users from themselves is a key concern; also since work like HBASE-5844 has come about since the duplicate registration days, is this as big of a problem – would we delete the znode of a competing region server?) Again, following the line of a mapping script/file, would the thought be that the master enforce some reregistration process so that if hosta 1.1.1.1 becomes hostb which was 1.1.1.2 we don't allow all sorts of havoc to come about because region server identiies were changed in the mapping file but no region server restart was performed? (Further, how would this be handled gracefully and the administrator handle coordination across a cluster?)
          Hide
          stack stack added a comment -

          At least that is what I understand from the current code.

          That is basically what happens. The RS uses what the Master tells it to use however it came upon its notion.

          we configure a hostname for the regionserver

          You mean optionally, right? Else -1 that RS has to have its 'name' specified in a config.

          The rest of the proposal seems predicated on this first step so awaiting clarification before commenting on the rest (This stuff seems a bit dodgy: "Master does a forward resolution of the hostname to verify that it can talk to the region server.").

          Generally wary of change in this area because this was broke the longest time and took a while to achieve some stability. A patch out of no where w/o acknowledgement of the history around this issue w/o test is going to be viewed suspiciously.

          Show
          stack stack added a comment - At least that is what I understand from the current code. That is basically what happens. The RS uses what the Master tells it to use however it came upon its notion. we configure a hostname for the regionserver You mean optionally, right? Else -1 that RS has to have its 'name' specified in a config. The rest of the proposal seems predicated on this first step so awaiting clarification before commenting on the rest (This stuff seems a bit dodgy: "Master does a forward resolution of the hostname to verify that it can talk to the region server."). Generally wary of change in this area because this was broke the longest time and took a while to achieve some stability. A patch out of no where w/o acknowledgement of the history around this issue w/o test is going to be viewed suspiciously.
          Hide
          stack stack added a comment -

          Clay B.

          I think there's some past design I'm not catching as to a desire to split internal and external HBase identification.

          I wouldn't call it 'design'. In past, hbase relied on folks setting up their named properly, but we were then repeatedly burned by master having one name for a regionserver but then the regionserver identifying itself by another (usually ip and resolved hostname); so one regionserver showed up twice.

          The 'fix' was to just let the master say what a regionserver should call itself.

          So, given users can't be expected to set up resolve properly, expecting them to set a 'hostname' in each RS site.xml, is of the same calibre; it is too much to ask. Its fine if it optional (with the master doing good defense to protect against it getting two misconfigured RS using same site.xml...)

          I take it you like something like the attached patch where optionally we take what the RS says we should use – if it had extra stuff like the master-side defense against double-registration and actual tests to prove it works?

          Thanks for your quality input.

          Show
          stack stack added a comment - Clay B. I think there's some past design I'm not catching as to a desire to split internal and external HBase identification. I wouldn't call it 'design'. In past, hbase relied on folks setting up their named properly, but we were then repeatedly burned by master having one name for a regionserver but then the regionserver identifying itself by another (usually ip and resolved hostname); so one regionserver showed up twice. The 'fix' was to just let the master say what a regionserver should call itself. So, given users can't be expected to set up resolve properly, expecting them to set a 'hostname' in each RS site.xml, is of the same calibre; it is too much to ask. Its fine if it optional (with the master doing good defense to protect against it getting two misconfigured RS using same site.xml...) I take it you like something like the attached patch where optionally we take what the RS says we should use – if it had extra stuff like the master-side defense against double-registration and actual tests to prove it works? Thanks for your quality input.
          Hide
          clayb Clay B. added a comment -

          stack certainly this would be an optional parameter; instead of the resolution done today trying to figure out what is right; which still requires lots of fiddling and opens a cluster to cluster exogenous changes (e.g. an HBase only DNS server and specifying a particular physical interface which may host multiple IP addresses).

          My apologies for not being specific, this would only be used for those who are today either unserved by the DNS hbase.master.dns.nameserver}]/{{hbase.regionserver.dns.nameserver and hbase.master.dns.interface/hbase.regionserver.dns.interface route and would most certainly not replace any default behavior.

          Show
          clayb Clay B. added a comment - stack certainly this would be an optional parameter; instead of the resolution done today trying to figure out what is right; which still requires lots of fiddling and opens a cluster to cluster exogenous changes (e.g. an HBase only DNS server and specifying a particular physical interface which may host multiple IP addresses). My apologies for not being specific, this would only be used for those who are today either unserved by the DNS hbase.master.dns.nameserver}]/{{hbase.regionserver.dns.nameserver and hbase.master.dns.interface / hbase.regionserver.dns.interface route and would most certainly not replace any default behavior.
          Hide
          apurtell Andrew Purtell added a comment -

          I see your concerns about the mapping file notion, because it is a separate file from HBase-site and therefore another opportunity to introduce configuration error. It also doesn't seem to hit the mark for you. We don't need to consider it further.

          If we do introduce an option for assigning regionservers a canonical name in their site file and having them send it off to the master with a forcing flag or similar, then I think we would need to ensure it is not default behavior and document it as wizard level configuration not recommended normally.

          Show
          apurtell Andrew Purtell added a comment - I see your concerns about the mapping file notion, because it is a separate file from HBase-site and therefore another opportunity to introduce configuration error. It also doesn't seem to hit the mark for you. We don't need to consider it further. If we do introduce an option for assigning regionservers a canonical name in their site file and having them send it off to the master with a forcing flag or similar, then I think we would need to ensure it is not default behavior and document it as wizard level configuration not recommended normally.
          Hide
          clayb Clay B. added a comment -

          stack Indeed, the direction of this patch seems like a very clean way of solving my problem without too much complexity (default or for users of the feature). The bind address and advertised hostname design is similar to other software my team operates such as the Apache webserver or in the case of other distributed systems, Kafka brokers. Thank you for the attention improving this feature request.

          Show
          clayb Clay B. added a comment - stack Indeed, the direction of this patch seems like a very clean way of solving my problem without too much complexity (default or for users of the feature). The bind address and advertised hostname design is similar to other software my team operates such as the Apache webserver or in the case of other distributed systems, Kafka brokers. Thank you for the attention improving this feature request.
          Hide
          stack stack added a comment -

          Going back to the patch after the above back and forth:

          The addition to RegionServerStatus should not be hostname, it should be useThisHostnameInstead of something like that.

          And same for all other cases of 'hostname' in this patch.

          Should probably just pass in the whole request object rather piecemeal it adding new param:

          305 ServerName rs = master.serverManager.regionServerStartup(
          306 request.hasHostname() ? null : ia, request.getHostname(), request.getPort(),
          306 request.getServerStartCode(), request.getServerCurrentTime()); 307 request.getServerStartCode(), request.getServerCurrentTime());

          Passing a null for the inetaddress when we want to force use of the RS hostname is plain cryptic. The logic for whether to use the RS hostname is spread about rather than encapsulated inside regionServerStartup. Not even a comment.

          On RS, why keep hostname as a datamember? Don't we have ServerName? Maybe its to check if we are in the special state where RS name has been specified. Would be better to add a method that we'd call that says whether this condition is in effect rather than do this cryptic test of hostname == null in a few places about the code.

          Why special-casing check of ServeName the master returns us? If we specified hostname to use, ain't the master going to send us back the hostname we specified? If you were throwing exception or aborting because master was not, the check would be worth it but its just being logged which is of no use.

          Needs a test that shows we don't list regionservers twice; once by the way the master sees the regionserver and then a second time by this dictated hostname.

          Show
          stack stack added a comment - Going back to the patch after the above back and forth: The addition to RegionServerStatus should not be hostname, it should be useThisHostnameInstead of something like that. And same for all other cases of 'hostname' in this patch. Should probably just pass in the whole request object rather piecemeal it adding new param: 305 ServerName rs = master.serverManager.regionServerStartup( 306 request.hasHostname() ? null : ia, request.getHostname(), request.getPort(), 306 request.getServerStartCode(), request.getServerCurrentTime()); 307 request.getServerStartCode(), request.getServerCurrentTime()); Passing a null for the inetaddress when we want to force use of the RS hostname is plain cryptic. The logic for whether to use the RS hostname is spread about rather than encapsulated inside regionServerStartup. Not even a comment. On RS, why keep hostname as a datamember? Don't we have ServerName? Maybe its to check if we are in the special state where RS name has been specified. Would be better to add a method that we'd call that says whether this condition is in effect rather than do this cryptic test of hostname == null in a few places about the code. Why special-casing check of ServeName the master returns us? If we specified hostname to use, ain't the master going to send us back the hostname we specified? If you were throwing exception or aborting because master was not, the check would be worth it but its just being logged which is of no use. Needs a test that shows we don't list regionservers twice; once by the way the master sees the regionserver and then a second time by this dictated hostname.
          Hide
          devaraj Devaraj Das added a comment -

          stack thanks for the review. We did have some iterations internally while the above back-and-forth were happening. Some (or most) of the comments you raised have been addressed. I believe Ted Yu will post a patch soon..

          Show
          devaraj Devaraj Das added a comment - stack thanks for the review. We did have some iterations internally while the above back-and-forth were happening. Some (or most) of the comments you raised have been addressed. I believe Ted Yu will post a patch soon..
          Hide
          yuzhihong@gmail.com Ted Yu added a comment -

          This is the latest patch.
          Several tests have been added.

          Mind taking a look at this to see what to improve ?

          Thanks

          Show
          yuzhihong@gmail.com Ted Yu added a comment - This is the latest patch. Several tests have been added. Mind taking a look at this to see what to improve ? Thanks
          Hide
          dimaspivak Dima Spivak added a comment -

          Hey Ted Yu, mind throwing it up on Review Board?

          Show
          dimaspivak Dima Spivak added a comment - Hey Ted Yu , mind throwing it up on Review Board?
          Hide
          stack stack added a comment -

          My review comments are not addressed. Let me know when they are and then I'll review.

          Show
          stack stack added a comment - My review comments are not addressed. Let me know when they are and then I'll review.
          Hide
          yuzhihong@gmail.com Ted Yu added a comment -

          Here is review board for patch v8:
          https://reviews.apache.org/r/30645/

          Renamed the field to useThisHostnameInstead as suggested.
          Introduced shouldUseThisHostnameInstead() which is called by methods in HRegionServer

          Show
          yuzhihong@gmail.com Ted Yu added a comment - Here is review board for patch v8: https://reviews.apache.org/r/30645/ Renamed the field to useThisHostnameInstead as suggested. Introduced shouldUseThisHostnameInstead() which is called by methods in HRegionServer
          Hide
          hadoopqa Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12696623/12954-v7.txt
          against master branch at commit 8aeb3acaf959e2905191fd6c92fa56300f7d3597.
          ATTACHMENT ID: 12696623

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 5 new or modified tests.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          +1 javadoc. The javadoc tool did not generate any warning messages.

          -1 checkstyle. The applied patch generated 1942 checkstyle errors (more than the master's current 1941 errors).

          +1 findbugs. The patch does not introduce any new Findbugs (version 2.0.3) warnings.

          +1 release audit. The applied patch does not increase the total number of release audit warnings.

          -1 lineLengths. The patch introduces the following lines longer than 100:
          + new java.lang.String[]

          { "Port", "ServerStartCode", "ServerCurrentTime", "Hostname", }

          );
          + sm.regionServerStartup(ia4.getHostName(), 1237, -1, System.currentTimeMillis() - warningSkew * 2);
          + sm.regionServerStartup(ia5.getHostName(), 1238, -1, System.currentTimeMillis() + warningSkew * 2);

          +1 site. The mvn site goal succeeds with this patch.

          -1 core tests. The patch failed these unit tests:
          org.apache.hadoop.hbase.mapreduce.TestLoadIncrementalHFiles
          org.apache.hadoop.hbase.master.TestDistributedLogSplitting

          Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/12701//testReport/
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12701//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12701//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12701//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12701//artifact/patchprocess/newPatchFindbugsWarningshbase-annotations.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12701//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12701//artifact/patchprocess/newPatchFindbugsWarningshbase-rest.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12701//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12701//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12701//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12701//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12701//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
          Checkstyle Errors: https://builds.apache.org/job/PreCommit-HBASE-Build/12701//artifact/patchprocess/checkstyle-aggregate.html

          Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/12701//console

          This message is automatically generated.

          Show
          hadoopqa Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12696623/12954-v7.txt against master branch at commit 8aeb3acaf959e2905191fd6c92fa56300f7d3597. ATTACHMENT ID: 12696623 +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 5 new or modified tests. +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 javadoc . The javadoc tool did not generate any warning messages. -1 checkstyle . The applied patch generated 1942 checkstyle errors (more than the master's current 1941 errors). +1 findbugs . The patch does not introduce any new Findbugs (version 2.0.3) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. -1 lineLengths . The patch introduces the following lines longer than 100: + new java.lang.String[] { "Port", "ServerStartCode", "ServerCurrentTime", "Hostname", } ); + sm.regionServerStartup(ia4.getHostName(), 1237, -1, System.currentTimeMillis() - warningSkew * 2); + sm.regionServerStartup(ia5.getHostName(), 1238, -1, System.currentTimeMillis() + warningSkew * 2); +1 site . The mvn site goal succeeds with this patch. -1 core tests . The patch failed these unit tests: org.apache.hadoop.hbase.mapreduce.TestLoadIncrementalHFiles org.apache.hadoop.hbase.master.TestDistributedLogSplitting Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/12701//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12701//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12701//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12701//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12701//artifact/patchprocess/newPatchFindbugsWarningshbase-annotations.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12701//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12701//artifact/patchprocess/newPatchFindbugsWarningshbase-rest.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12701//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12701//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12701//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12701//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12701//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Checkstyle Errors: https://builds.apache.org/job/PreCommit-HBASE-Build/12701//artifact/patchprocess/checkstyle-aggregate.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/12701//console This message is automatically generated.
          Hide
          yuzhihong@gmail.com Ted Yu added a comment -

          TestDistributedLogSplitting passed locally with patch v8.

          Show
          yuzhihong@gmail.com Ted Yu added a comment - TestDistributedLogSplitting passed locally with patch v8.
          Hide
          hadoopqa Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12696639/12954-v8.txt
          against master branch at commit 8aeb3acaf959e2905191fd6c92fa56300f7d3597.
          ATTACHMENT ID: 12696639

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 5 new or modified tests.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          +1 javadoc. The javadoc tool did not generate any warning messages.

          -1 checkstyle. The applied patch generated 1942 checkstyle errors (more than the master's current 1941 errors).

          +1 findbugs. The patch does not introduce any new Findbugs (version 2.0.3) warnings.

          +1 release audit. The applied patch does not increase the total number of release audit warnings.

          -1 lineLengths. The patch introduces the following lines longer than 100:
          + new java.lang.String[]

          { "Port", "ServerStartCode", "ServerCurrentTime", "UseThisHostnameInstead", }

          );
          + sm.regionServerStartup(ia4.getHostName(), 1237, -1, System.currentTimeMillis() - warningSkew * 2);
          + sm.regionServerStartup(ia5.getHostName(), 1238, -1, System.currentTimeMillis() + warningSkew * 2);

          +1 site. The mvn site goal succeeds with this patch.

          -1 core tests. The patch failed these unit tests:
          org.apache.hadoop.hbase.mapreduce.TestImportExport
          org.apache.hadoop.hbase.util.TestProcessBasedCluster
          org.apache.hadoop.hbase.mapreduce.TestLoadIncrementalHFiles

          -1 core zombie tests. There are 1 zombie test(s): at org.apache.hadoop.hdfs.TestParallelReadUtil.testParallelReadCopying(TestParallelReadUtil.java:406)

          Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/12702//testReport/
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12702//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12702//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12702//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12702//artifact/patchprocess/newPatchFindbugsWarningshbase-rest.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12702//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12702//artifact/patchprocess/newPatchFindbugsWarningshbase-annotations.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12702//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12702//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12702//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12702//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12702//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html
          Checkstyle Errors: https://builds.apache.org/job/PreCommit-HBASE-Build/12702//artifact/patchprocess/checkstyle-aggregate.html

          Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/12702//console

          This message is automatically generated.

          Show
          hadoopqa Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12696639/12954-v8.txt against master branch at commit 8aeb3acaf959e2905191fd6c92fa56300f7d3597. ATTACHMENT ID: 12696639 +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 5 new or modified tests. +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 javadoc . The javadoc tool did not generate any warning messages. -1 checkstyle . The applied patch generated 1942 checkstyle errors (more than the master's current 1941 errors). +1 findbugs . The patch does not introduce any new Findbugs (version 2.0.3) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. -1 lineLengths . The patch introduces the following lines longer than 100: + new java.lang.String[] { "Port", "ServerStartCode", "ServerCurrentTime", "UseThisHostnameInstead", } ); + sm.regionServerStartup(ia4.getHostName(), 1237, -1, System.currentTimeMillis() - warningSkew * 2); + sm.regionServerStartup(ia5.getHostName(), 1238, -1, System.currentTimeMillis() + warningSkew * 2); +1 site . The mvn site goal succeeds with this patch. -1 core tests . The patch failed these unit tests: org.apache.hadoop.hbase.mapreduce.TestImportExport org.apache.hadoop.hbase.util.TestProcessBasedCluster org.apache.hadoop.hbase.mapreduce.TestLoadIncrementalHFiles -1 core zombie tests . There are 1 zombie test(s): at org.apache.hadoop.hdfs.TestParallelReadUtil.testParallelReadCopying(TestParallelReadUtil.java:406) Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/12702//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12702//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12702//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12702//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12702//artifact/patchprocess/newPatchFindbugsWarningshbase-rest.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12702//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12702//artifact/patchprocess/newPatchFindbugsWarningshbase-annotations.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12702//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12702//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12702//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12702//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12702//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html Checkstyle Errors: https://builds.apache.org/job/PreCommit-HBASE-Build/12702//artifact/patchprocess/checkstyle-aggregate.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/12702//console This message is automatically generated.
          Hide
          yuzhihong@gmail.com Ted Yu added a comment -

          TestImportExport and TestProcessBasedCluster passed locally.
          TestLoadIncrementalHFiles fails in trunk build.

          These tests are not related to the new config parameter.

          Show
          yuzhihong@gmail.com Ted Yu added a comment - TestImportExport and TestProcessBasedCluster passed locally. TestLoadIncrementalHFiles fails in trunk build. These tests are not related to the new config parameter.
          Hide
          lhofhansl Lars Hofhansl added a comment -

          Let's be careful with this. Specifying hostnames has been a major headaches for many installations, since then both DNS and reverse DNS have to configured correctly.
          I'd like to understand the full implications of this change w.r.t. this. Is there absolutely no other way of doing this?

          Show
          lhofhansl Lars Hofhansl added a comment - Let's be careful with this. Specifying hostnames has been a major headaches for many installations, since then both DNS and reverse DNS have to configured correctly. I'd like to understand the full implications of this change w.r.t. this. Is there absolutely no other way of doing this?
          Hide
          lhofhansl Lars Hofhansl added a comment -

          So specifically... If the hostname is not set there should be absolutely no additional lookups in any code path, forward or reverse.

          If, on the other hand, somebody sets the hostname in support of multi homing, and that requires extra lookups and working reverse DNS that is OK, IMHO, since this is an optional setting, and it'll be up the user then to configure DNS correctly.

          Show
          lhofhansl Lars Hofhansl added a comment - So specifically... If the hostname is not set there should be absolutely no additional lookups in any code path, forward or reverse. If, on the other hand, somebody sets the hostname in support of multi homing, and that requires extra lookups and working reverse DNS that is OK, IMHO, since this is an optional setting, and it'll be up the user then to configure DNS correctly.
          Hide
          yuzhihong@gmail.com Ted Yu added a comment -

          Thanks for the comments, Lars.

          If the hostname is not set there should be absolutely no additional lookups in any code path, forward or reverse.

          I checked my patch one more time. The above requirement is satisfied.

          Show
          yuzhihong@gmail.com Ted Yu added a comment - Thanks for the comments, Lars. If the hostname is not set there should be absolutely no additional lookups in any code path, forward or reverse. I checked my patch one more time. The above requirement is satisfied.
          Hide
          hadoopqa Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12696824/12954-v10.txt
          against master branch at commit 96cdc7987e8894b304a3201f67cb0b9595c68cc3.
          ATTACHMENT ID: 12696824

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 5 new or modified tests.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          +1 javadoc. The javadoc tool did not generate any warning messages.

          -1 checkstyle. The applied patch generated 1943 checkstyle errors (more than the master's current 1941 errors).

          +1 findbugs. The patch does not introduce any new Findbugs (version 2.0.3) warnings.

          +1 release audit. The applied patch does not increase the total number of release audit warnings.

          -1 lineLengths. The patch introduces the following lines longer than 100:
          + <description>This config is for experts: don't set its value unless you really know what you are doing.
          + When set to a non-empty value, this represents the (external facing) hostname for the underlying server.
          + new java.lang.String[]

          { "Port", "ServerStartCode", "ServerCurrentTime", "UseThisHostnameInstead", }

          );

          +1 site. The mvn site goal succeeds with this patch.

          +1 core tests. The patch passed unit tests in .

          Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/12708//testReport/
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12708//artifact/patchprocess/newPatchFindbugsWarningshbase-annotations.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12708//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12708//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12708//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12708//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12708//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12708//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12708//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12708//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12708//artifact/patchprocess/newPatchFindbugsWarningshbase-rest.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12708//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html
          Checkstyle Errors: https://builds.apache.org/job/PreCommit-HBASE-Build/12708//artifact/patchprocess/checkstyle-aggregate.html

          Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/12708//console

          This message is automatically generated.

          Show
          hadoopqa Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12696824/12954-v10.txt against master branch at commit 96cdc7987e8894b304a3201f67cb0b9595c68cc3. ATTACHMENT ID: 12696824 +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 5 new or modified tests. +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 javadoc . The javadoc tool did not generate any warning messages. -1 checkstyle . The applied patch generated 1943 checkstyle errors (more than the master's current 1941 errors). +1 findbugs . The patch does not introduce any new Findbugs (version 2.0.3) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. -1 lineLengths . The patch introduces the following lines longer than 100: + <description>This config is for experts: don't set its value unless you really know what you are doing. + When set to a non-empty value, this represents the (external facing) hostname for the underlying server. + new java.lang.String[] { "Port", "ServerStartCode", "ServerCurrentTime", "UseThisHostnameInstead", } ); +1 site . The mvn site goal succeeds with this patch. +1 core tests . The patch passed unit tests in . Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/12708//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12708//artifact/patchprocess/newPatchFindbugsWarningshbase-annotations.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12708//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12708//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12708//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12708//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12708//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12708//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12708//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12708//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12708//artifact/patchprocess/newPatchFindbugsWarningshbase-rest.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12708//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html Checkstyle Errors: https://builds.apache.org/job/PreCommit-HBASE-Build/12708//artifact/patchprocess/checkstyle-aggregate.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/12708//console This message is automatically generated.
          Hide
          yuzhihong@gmail.com Ted Yu added a comment -

          Patch v11 addresses checkstyle warnings.

          Show
          yuzhihong@gmail.com Ted Yu added a comment - Patch v11 addresses checkstyle warnings.
          Hide
          enis Enis Soztutar added a comment -

          Slightly related: HBASE-12956

          Show
          enis Enis Soztutar added a comment - Slightly related: HBASE-12956
          Hide
          hadoopqa Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12696866/12954-v11.txt
          against master branch at commit 96cdc7987e8894b304a3201f67cb0b9595c68cc3.
          ATTACHMENT ID: 12696866

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 5 new or modified tests.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          +1 javadoc. The javadoc tool did not generate any warning messages.

          +1 checkstyle. The applied patch does not increase the total number of checkstyle errors

          +1 findbugs. The patch does not introduce any new Findbugs (version 2.0.3) warnings.

          +1 release audit. The applied patch does not increase the total number of release audit warnings.

          -1 lineLengths. The patch introduces the following lines longer than 100:
          + <description>This config is for experts: don't set its value unless you really know what you are doing.
          + When set to a non-empty value, this represents the (external facing) hostname for the underlying server.
          + new java.lang.String[]

          { "Port", "ServerStartCode", "ServerCurrentTime", "UseThisHostnameInstead", }

          );

          +1 site. The mvn site goal succeeds with this patch.

          -1 core tests. The patch failed these unit tests:
          org.apache.hadoop.hbase.mapreduce.TestLoadIncrementalHFiles

          Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/12711//testReport/
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12711//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12711//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12711//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12711//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12711//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12711//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12711//artifact/patchprocess/newPatchFindbugsWarningshbase-rest.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12711//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12711//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12711//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12711//artifact/patchprocess/newPatchFindbugsWarningshbase-annotations.html
          Checkstyle Errors: https://builds.apache.org/job/PreCommit-HBASE-Build/12711//artifact/patchprocess/checkstyle-aggregate.html

          Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/12711//console

          This message is automatically generated.

          Show
          hadoopqa Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12696866/12954-v11.txt against master branch at commit 96cdc7987e8894b304a3201f67cb0b9595c68cc3. ATTACHMENT ID: 12696866 +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 5 new or modified tests. +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 javadoc . The javadoc tool did not generate any warning messages. +1 checkstyle . The applied patch does not increase the total number of checkstyle errors +1 findbugs . The patch does not introduce any new Findbugs (version 2.0.3) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. -1 lineLengths . The patch introduces the following lines longer than 100: + <description>This config is for experts: don't set its value unless you really know what you are doing. + When set to a non-empty value, this represents the (external facing) hostname for the underlying server. + new java.lang.String[] { "Port", "ServerStartCode", "ServerCurrentTime", "UseThisHostnameInstead", } ); +1 site . The mvn site goal succeeds with this patch. -1 core tests . The patch failed these unit tests: org.apache.hadoop.hbase.mapreduce.TestLoadIncrementalHFiles Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/12711//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12711//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12711//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12711//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12711//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12711//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12711//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12711//artifact/patchprocess/newPatchFindbugsWarningshbase-rest.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12711//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12711//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12711//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12711//artifact/patchprocess/newPatchFindbugsWarningshbase-annotations.html Checkstyle Errors: https://builds.apache.org/job/PreCommit-HBASE-Build/12711//artifact/patchprocess/checkstyle-aggregate.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/12711//console This message is automatically generated.
          Hide
          yuzhihong@gmail.com Ted Yu added a comment -

          Patch v12 is rebased on master branch.

          Show
          yuzhihong@gmail.com Ted Yu added a comment - Patch v12 is rebased on master branch.
          Hide
          hadoopqa Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12697163/12954-v12.txt
          against master branch at commit eddd5739a14ceb5cfc9b9c7d2e357eea96bd9703.
          ATTACHMENT ID: 12697163

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 5 new or modified tests.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          -1 javadoc. The javadoc tool appears to have generated 1 warning messages.

          +1 checkstyle. The applied patch does not increase the total number of checkstyle errors

          +1 findbugs. The patch does not introduce any new Findbugs (version 2.0.3) warnings.

          +1 release audit. The applied patch does not increase the total number of release audit warnings.

          -1 lineLengths. The patch introduces the following lines longer than 100:
          + <description>This config is for experts: don't set its value unless you really know what you are doing.
          + When set to a non-empty value, this represents the (external facing) hostname for the underlying server.
          + new java.lang.String[]

          { "Port", "ServerStartCode", "ServerCurrentTime", "UseThisHostnameInstead", }

          );

          +1 site. The mvn site goal succeeds with this patch.

          -1 core tests. The patch failed these unit tests:

          Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/12725//testReport/
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12725//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12725//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12725//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12725//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12725//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12725//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12725//artifact/patchprocess/newPatchFindbugsWarningshbase-rest.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12725//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12725//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12725//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12725//artifact/patchprocess/newPatchFindbugsWarningshbase-annotations.html
          Checkstyle Errors: https://builds.apache.org/job/PreCommit-HBASE-Build/12725//artifact/patchprocess/checkstyle-aggregate.html

          Javadoc warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12725//artifact/patchprocess/patchJavadocWarnings.txt
          Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/12725//console

          This message is automatically generated.

          Show
          hadoopqa Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12697163/12954-v12.txt against master branch at commit eddd5739a14ceb5cfc9b9c7d2e357eea96bd9703. ATTACHMENT ID: 12697163 +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 5 new or modified tests. +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 javac . The applied patch does not increase the total number of javac compiler warnings. -1 javadoc . The javadoc tool appears to have generated 1 warning messages. +1 checkstyle . The applied patch does not increase the total number of checkstyle errors +1 findbugs . The patch does not introduce any new Findbugs (version 2.0.3) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. -1 lineLengths . The patch introduces the following lines longer than 100: + <description>This config is for experts: don't set its value unless you really know what you are doing. + When set to a non-empty value, this represents the (external facing) hostname for the underlying server. + new java.lang.String[] { "Port", "ServerStartCode", "ServerCurrentTime", "UseThisHostnameInstead", } ); +1 site . The mvn site goal succeeds with this patch. -1 core tests . The patch failed these unit tests: Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/12725//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12725//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12725//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12725//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12725//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12725//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12725//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12725//artifact/patchprocess/newPatchFindbugsWarningshbase-rest.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12725//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12725//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12725//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12725//artifact/patchprocess/newPatchFindbugsWarningshbase-annotations.html Checkstyle Errors: https://builds.apache.org/job/PreCommit-HBASE-Build/12725//artifact/patchprocess/checkstyle-aggregate.html Javadoc warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12725//artifact/patchprocess/patchJavadocWarnings.txt Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/12725//console This message is automatically generated.
          Hide
          yuzhihong@gmail.com Ted Yu added a comment -
          python dev-support/findHangingTests.py https://builds.apache.org/job/PreCommit-HBASE-Build/12725/console
          Fetching the console output from the URL
          Printing hanging tests
          Hanging test : org.apache.hadoop.hbase.TestChoreService
          Printing Failing tests
          

          Not related to the patch.

          Show
          yuzhihong@gmail.com Ted Yu added a comment - python dev-support/findHangingTests.py https: //builds.apache.org/job/PreCommit-HBASE-Build/12725/console Fetching the console output from the URL Printing hanging tests Hanging test : org.apache.hadoop.hbase.TestChoreService Printing Failing tests Not related to the patch.
          Hide
          hadoopqa Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12697189/12954-v12.txt
          against master branch at commit 7f4146bf4d4df84041b284a76d917d602b5531da.
          ATTACHMENT ID: 12697189

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 5 new or modified tests.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          -1 javadoc. The javadoc tool appears to have generated 1 warning messages.

          +1 checkstyle. The applied patch does not increase the total number of checkstyle errors

          +1 findbugs. The patch does not introduce any new Findbugs (version 2.0.3) warnings.

          +1 release audit. The applied patch does not increase the total number of release audit warnings.

          -1 lineLengths. The patch introduces the following lines longer than 100:
          + <description>This config is for experts: don't set its value unless you really know what you are doing.
          + When set to a non-empty value, this represents the (external facing) hostname for the underlying server.
          + new java.lang.String[]

          { "Port", "ServerStartCode", "ServerCurrentTime", "UseThisHostnameInstead", }

          );

          +1 site. The mvn site goal succeeds with this patch.

          -1 core tests. The patch failed these unit tests:

          Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/12729//testReport/
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12729//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12729//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12729//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12729//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12729//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12729//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12729//artifact/patchprocess/newPatchFindbugsWarningshbase-rest.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12729//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12729//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12729//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12729//artifact/patchprocess/newPatchFindbugsWarningshbase-annotations.html
          Checkstyle Errors: https://builds.apache.org/job/PreCommit-HBASE-Build/12729//artifact/patchprocess/checkstyle-aggregate.html

          Javadoc warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12729//artifact/patchprocess/patchJavadocWarnings.txt
          Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/12729//console

          This message is automatically generated.

          Show
          hadoopqa Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12697189/12954-v12.txt against master branch at commit 7f4146bf4d4df84041b284a76d917d602b5531da. ATTACHMENT ID: 12697189 +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 5 new or modified tests. +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 javac . The applied patch does not increase the total number of javac compiler warnings. -1 javadoc . The javadoc tool appears to have generated 1 warning messages. +1 checkstyle . The applied patch does not increase the total number of checkstyle errors +1 findbugs . The patch does not introduce any new Findbugs (version 2.0.3) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. -1 lineLengths . The patch introduces the following lines longer than 100: + <description>This config is for experts: don't set its value unless you really know what you are doing. + When set to a non-empty value, this represents the (external facing) hostname for the underlying server. + new java.lang.String[] { "Port", "ServerStartCode", "ServerCurrentTime", "UseThisHostnameInstead", } ); +1 site . The mvn site goal succeeds with this patch. -1 core tests . The patch failed these unit tests: Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/12729//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12729//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12729//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12729//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12729//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12729//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12729//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12729//artifact/patchprocess/newPatchFindbugsWarningshbase-rest.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12729//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12729//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12729//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12729//artifact/patchprocess/newPatchFindbugsWarningshbase-annotations.html Checkstyle Errors: https://builds.apache.org/job/PreCommit-HBASE-Build/12729//artifact/patchprocess/checkstyle-aggregate.html Javadoc warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12729//artifact/patchprocess/patchJavadocWarnings.txt Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/12729//console This message is automatically generated.
          Hide
          yuzhihong@gmail.com Ted Yu added a comment -
          python dev-support/findHangingTests.py https://builds.apache.org/job/PreCommit-HBASE-Build/12729/console
          Fetching the console output from the URL
          Printing hanging tests
          Hanging test : org.apache.hadoop.hbase.regionserver.TestMultiVersionConsistencyControl
          Printing Failing tests
          

          TestMultiVersionConsistencyControl is not related to the patch.

          Show
          yuzhihong@gmail.com Ted Yu added a comment - python dev-support/findHangingTests.py https: //builds.apache.org/job/PreCommit-HBASE-Build/12729/console Fetching the console output from the URL Printing hanging tests Hanging test : org.apache.hadoop.hbase.regionserver.TestMultiVersionConsistencyControl Printing Failing tests TestMultiVersionConsistencyControl is not related to the patch.
          Hide
          hadoopqa Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12699403/12954-v12.txt
          against master branch at commit f64d63d24e0fa98eb5fc41b1c7bd73fd2b5fa012.
          ATTACHMENT ID: 12699403

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 5 new or modified tests.
          +1 hadoop versions. The patch compiles with all supported hadoop versions (2.4.1 2.5.2 2.6.0)

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          +1 javadoc. The javadoc tool did not generate any warning messages.

          +1 checkstyle. The applied patch does not increase the total number of checkstyle errors

          +1 findbugs. The patch does not introduce any new Findbugs (version 2.0.3) warnings.

          +1 release audit. The applied patch does not increase the total number of release audit warnings.

          -1 lineLengths. The patch introduces the following lines longer than 100:
          + <description>This config is for experts: don't set its value unless you really know what you are doing.
          + When set to a non-empty value, this represents the (external facing) hostname for the underlying server.
          + new java.lang.String[]

          { "Port", "ServerStartCode", "ServerCurrentTime", "UseThisHostnameInstead", }

          );

          +1 site. The mvn site goal succeeds with this patch.

          -1 core tests. The patch failed these unit tests:

          Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/12887//testReport/
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12887//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12887//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12887//artifact/patchprocess/newPatchFindbugsWarningshbase-annotations.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12887//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12887//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12887//artifact/patchprocess/newPatchFindbugsWarningshbase-rest.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12887//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12887//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12887//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12887//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12887//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html
          Checkstyle Errors: https://builds.apache.org/job/PreCommit-HBASE-Build/12887//artifact/patchprocess/checkstyle-aggregate.html

          Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/12887//console

          This message is automatically generated.

          Show
          hadoopqa Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12699403/12954-v12.txt against master branch at commit f64d63d24e0fa98eb5fc41b1c7bd73fd2b5fa012. ATTACHMENT ID: 12699403 +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 5 new or modified tests. +1 hadoop versions . The patch compiles with all supported hadoop versions (2.4.1 2.5.2 2.6.0) +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 javadoc . The javadoc tool did not generate any warning messages. +1 checkstyle . The applied patch does not increase the total number of checkstyle errors +1 findbugs . The patch does not introduce any new Findbugs (version 2.0.3) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. -1 lineLengths . The patch introduces the following lines longer than 100: + <description>This config is for experts: don't set its value unless you really know what you are doing. + When set to a non-empty value, this represents the (external facing) hostname for the underlying server. + new java.lang.String[] { "Port", "ServerStartCode", "ServerCurrentTime", "UseThisHostnameInstead", } ); +1 site . The mvn site goal succeeds with this patch. -1 core tests . The patch failed these unit tests: Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/12887//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12887//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12887//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12887//artifact/patchprocess/newPatchFindbugsWarningshbase-annotations.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12887//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12887//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12887//artifact/patchprocess/newPatchFindbugsWarningshbase-rest.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12887//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12887//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12887//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12887//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12887//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html Checkstyle Errors: https://builds.apache.org/job/PreCommit-HBASE-Build/12887//artifact/patchprocess/checkstyle-aggregate.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/12887//console This message is automatically generated.
          Hide
          yuzhihong@gmail.com Ted Yu added a comment -

          From https://builds.apache.org/job/PreCommit-HBASE-Build/12887/console :

          Tests in error: 
            TestDistributedLogSplitting.testMasterStartsUpWithLogReplayWork:565 » Runtime ...
          
          Tests run: 2294, Failures: 0, Errors: 1, Skipped: 25
          

          The above test failed in other recent QA run as well (e.g. https://builds.apache.org/job/PreCommit-HBASE-Build/12885/console) - not caused by the patch.

          Show
          yuzhihong@gmail.com Ted Yu added a comment - From https://builds.apache.org/job/PreCommit-HBASE-Build/12887/console : Tests in error: TestDistributedLogSplitting.testMasterStartsUpWithLogReplayWork:565 » Runtime ... Tests run: 2294, Failures: 0, Errors: 1, Skipped: 25 The above test failed in other recent QA run as well (e.g. https://builds.apache.org/job/PreCommit-HBASE-Build/12885/console ) - not caused by the patch.
          Hide
          hadoopqa Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12699521/12954-v13.txt
          against master branch at commit 39f549aaece91cf3ccc076ea171889c43b158a49.
          ATTACHMENT ID: 12699521

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 5 new or modified tests.
          +1 hadoop versions. The patch compiles with all supported hadoop versions (2.4.1 2.5.2 2.6.0)

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          +1 javadoc. The javadoc tool did not generate any warning messages.

          +1 checkstyle. The applied patch does not increase the total number of checkstyle errors

          +1 findbugs. The patch does not introduce any new Findbugs (version 2.0.3) warnings.

          +1 release audit. The applied patch does not increase the total number of release audit warnings.

          -1 lineLengths. The patch introduces the following lines longer than 100:
          + <description>This config is for experts: don't set its value unless you really know what you are doing.
          + When set to a non-empty value, this represents the (external facing) hostname for the underlying server.
          + new java.lang.String[]

          { "Port", "ServerStartCode", "ServerCurrentTime", "UseThisHostnameInstead", }

          );

          +1 site. The mvn site goal succeeds with this patch.

          -1 core tests. The patch failed these unit tests:

          -1 core zombie tests. There are 2 zombie test(s): at org.apache.hadoop.hbase.coprocessor.TestMasterObserver.testRegionTransitionOperations(TestMasterObserver.java:1604)

          Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/12898//testReport/
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12898//artifact/patchprocess/newPatchFindbugsWarningshbase-annotations.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12898//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12898//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12898//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12898//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12898//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12898//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12898//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12898//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12898//artifact/patchprocess/newPatchFindbugsWarningshbase-rest.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12898//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html
          Checkstyle Errors: https://builds.apache.org/job/PreCommit-HBASE-Build/12898//artifact/patchprocess/checkstyle-aggregate.html

          Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/12898//console

          This message is automatically generated.

          Show
          hadoopqa Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12699521/12954-v13.txt against master branch at commit 39f549aaece91cf3ccc076ea171889c43b158a49. ATTACHMENT ID: 12699521 +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 5 new or modified tests. +1 hadoop versions . The patch compiles with all supported hadoop versions (2.4.1 2.5.2 2.6.0) +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 javadoc . The javadoc tool did not generate any warning messages. +1 checkstyle . The applied patch does not increase the total number of checkstyle errors +1 findbugs . The patch does not introduce any new Findbugs (version 2.0.3) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. -1 lineLengths . The patch introduces the following lines longer than 100: + <description>This config is for experts: don't set its value unless you really know what you are doing. + When set to a non-empty value, this represents the (external facing) hostname for the underlying server. + new java.lang.String[] { "Port", "ServerStartCode", "ServerCurrentTime", "UseThisHostnameInstead", } ); +1 site . The mvn site goal succeeds with this patch. -1 core tests . The patch failed these unit tests: -1 core zombie tests . There are 2 zombie test(s): at org.apache.hadoop.hbase.coprocessor.TestMasterObserver.testRegionTransitionOperations(TestMasterObserver.java:1604) Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/12898//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12898//artifact/patchprocess/newPatchFindbugsWarningshbase-annotations.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12898//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12898//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12898//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12898//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12898//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12898//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12898//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12898//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12898//artifact/patchprocess/newPatchFindbugsWarningshbase-rest.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/12898//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html Checkstyle Errors: https://builds.apache.org/job/PreCommit-HBASE-Build/12898//artifact/patchprocess/checkstyle-aggregate.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/12898//console This message is automatically generated.
          Hide
          yuzhihong@gmail.com Ted Yu added a comment -

          Running failed tests identified by QA run #12898 (with patch v13):

          Running org.apache.hadoop.hbase.client.TestAdmin1
          Tests run: 25, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 63.592 sec - in org.apache.hadoop.hbase.client.TestAdmin1
          Running org.apache.hadoop.hbase.coprocessor.TestMasterObserver
          Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 14.078 sec - in org.apache.hadoop.hbase.coprocessor.TestMasterObserver
          
          Show
          yuzhihong@gmail.com Ted Yu added a comment - Running failed tests identified by QA run #12898 (with patch v13): Running org.apache.hadoop.hbase.client.TestAdmin1 Tests run: 25, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 63.592 sec - in org.apache.hadoop.hbase.client.TestAdmin1 Running org.apache.hadoop.hbase.coprocessor.TestMasterObserver Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 14.078 sec - in org.apache.hadoop.hbase.coprocessor.TestMasterObserver
          Hide
          devaraj Devaraj Das added a comment -

          Ted Yu there might be an issue at the RPC layer if security is turned on. For the login() calls, the hostname that is used is the "custom" hostname (and that seems to be right). When the RpcClient tries to setup a secure communication to a remote server, it constructs the principal of the remote server (usually the principals are of the form hbase/_HOST@REALM). During the principal construction, it does a reverse DNS lookup to get the server name and the _HOST is replaced with that server name to get the principal that the RpcClient then uses. The question is if a reverse DNS is done, whether the "custom" hostname would be returned or not. If not, we'd need to address the issue.

          Show
          devaraj Devaraj Das added a comment - Ted Yu there might be an issue at the RPC layer if security is turned on. For the login() calls, the hostname that is used is the "custom" hostname (and that seems to be right). When the RpcClient tries to setup a secure communication to a remote server, it constructs the principal of the remote server (usually the principals are of the form hbase/_HOST@REALM). During the principal construction, it does a reverse DNS lookup to get the server name and the _HOST is replaced with that server name to get the principal that the RpcClient then uses. The question is if a reverse DNS is done, whether the "custom" hostname would be returned or not. If not, we'd need to address the issue.
          Hide
          stack stack added a comment -

          Any attempt at replicating the network scenarios Clay posts originally up in a cluster and seeing if this patch actually solves the issues originally raised?

          Show
          stack stack added a comment - Any attempt at replicating the network scenarios Clay posts originally up in a cluster and seeing if this patch actually solves the issues originally raised?
          Hide
          apurtell Andrew Purtell added a comment -

          I'm guessing no?

          Show
          apurtell Andrew Purtell added a comment - I'm guessing no?
          Hide
          devaraj Devaraj Das added a comment -

          Sorry that responding to this fell through through the cracks. Clay and company are testing the patch as far as I know. I believe Ted did some testing as well - by using the real hostname of a node as the "custom" hostname...

          Show
          devaraj Devaraj Das added a comment - Sorry that responding to this fell through through the cracks. Clay and company are testing the patch as far as I know. I believe Ted did some testing as well - by using the real hostname of a node as the "custom" hostname...
          Hide
          clayb Clay B. added a comment -

          Indeed, sorry for the slow response. Testing of an initial tarball showed good promise but wasn't fully tested (only on a baremetal style cluster). Right now, we are looking into testing on an MIT baesed kerberized cluster (again baremetal style); we have a few pains as our over all orchestration stack has been maturing with kerberos so I expect another day or two for the results. We can hopefully shortly after test on the OpenStack style cluster (and using an Active Directory KDC) to verify that environment.

          Show
          clayb Clay B. added a comment - Indeed, sorry for the slow response. Testing of an initial tarball showed good promise but wasn't fully tested (only on a baremetal style cluster). Right now, we are looking into testing on an MIT baesed kerberized cluster (again baremetal style); we have a few pains as our over all orchestration stack has been maturing with kerberos so I expect another day or two for the results. We can hopefully shortly after test on the OpenStack style cluster (and using an Active Directory KDC) to verify that environment.
          Hide
          clayb Clay B. added a comment -

          Biju Nair on our team reports kerberized HBase seem to function fine (at least the core functions create, put,get) after removing the dns.nameserver and dns.interface properties and adding hbase.master.hostname which were previously used as shims. This was with the baremetal use case.

          Being more pathological e.g. creating PTR's for the VIPs in DNS was not yet attempted; though is the breaking use-case we have previously seen with the DNS based approach.

          Show
          clayb Clay B. added a comment - Biju Nair on our team reports kerberized HBase seem to function fine (at least the core functions create, put,get) after removing the dns.nameserver and dns.interface properties and adding hbase.master.hostname which were previously used as shims. This was with the baremetal use case. Being more pathological e.g. creating PTR's for the VIPs in DNS was not yet attempted; though is the breaking use-case we have previously seen with the DNS based approach.
          Hide
          gsbiju Biju Nair added a comment -

          Tested by creating the PTR entries for the VIPs in DNS with the patch and HBase comes up file.

          Show
          gsbiju Biju Nair added a comment - Tested by creating the PTR entries for the VIPs in DNS with the patch and HBase comes up file.
          Hide
          yuzhihong@gmail.com Ted Yu added a comment -

          Patch rebased on current master branch

          Show
          yuzhihong@gmail.com Ted Yu added a comment - Patch rebased on current master branch
          Hide
          hadoopqa Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12706732/12954-v14.txt
          against master branch at commit 65d3781897baf05ef583fce3b5e8e08cd6228f35.
          ATTACHMENT ID: 12706732

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 5 new or modified tests.

          +1 hadoop versions. The patch compiles with all supported hadoop versions (2.4.1 2.5.2 2.6.0)

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          +1 javadoc. The javadoc tool did not generate any warning messages.

          +1 checkstyle. The applied patch does not increase the total number of checkstyle errors

          +1 findbugs. The patch does not introduce any new Findbugs (version 2.0.3) warnings.

          +1 release audit. The applied patch does not increase the total number of release audit warnings.

          -1 lineLengths. The patch introduces the following lines longer than 100:
          + <description>This config is for experts: don't set its value unless you really know what you are doing.
          + When set to a non-empty value, this represents the (external facing) hostname for the underlying server.
          + new java.lang.String[]

          { "Port", "ServerStartCode", "ServerCurrentTime", "UseThisHostnameInstead", }

          );

          +1 site. The mvn site goal succeeds with this patch.

          +1 core tests. The patch passed unit tests in .

          Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/13376//testReport/
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/13376//artifact/patchprocess/newPatchFindbugsWarningshbase-annotations.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/13376//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/13376//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/13376//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/13376//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/13376//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/13376//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/13376//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/13376//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/13376//artifact/patchprocess/newPatchFindbugsWarningshbase-rest.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/13376//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html
          Checkstyle Errors: https://builds.apache.org/job/PreCommit-HBASE-Build/13376//artifact/patchprocess/checkstyle-aggregate.html

          Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/13376//console

          This message is automatically generated.

          Show
          hadoopqa Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12706732/12954-v14.txt against master branch at commit 65d3781897baf05ef583fce3b5e8e08cd6228f35. ATTACHMENT ID: 12706732 +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 5 new or modified tests. +1 hadoop versions . The patch compiles with all supported hadoop versions (2.4.1 2.5.2 2.6.0) +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 javadoc . The javadoc tool did not generate any warning messages. +1 checkstyle . The applied patch does not increase the total number of checkstyle errors +1 findbugs . The patch does not introduce any new Findbugs (version 2.0.3) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. -1 lineLengths . The patch introduces the following lines longer than 100: + <description>This config is for experts: don't set its value unless you really know what you are doing. + When set to a non-empty value, this represents the (external facing) hostname for the underlying server. + new java.lang.String[] { "Port", "ServerStartCode", "ServerCurrentTime", "UseThisHostnameInstead", } ); +1 site . The mvn site goal succeeds with this patch. +1 core tests . The patch passed unit tests in . Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/13376//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/13376//artifact/patchprocess/newPatchFindbugsWarningshbase-annotations.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/13376//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/13376//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/13376//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/13376//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/13376//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/13376//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/13376//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/13376//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/13376//artifact/patchprocess/newPatchFindbugsWarningshbase-rest.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/13376//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html Checkstyle Errors: https://builds.apache.org/job/PreCommit-HBASE-Build/13376//artifact/patchprocess/checkstyle-aggregate.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/13376//console This message is automatically generated.
          Hide
          yuzhihong@gmail.com Ted Yu added a comment -

          Kindly review patch v14 now that testing on Openstack has been done.

          Show
          yuzhihong@gmail.com Ted Yu added a comment - Kindly review patch v14 now that testing on Openstack has been done.
          Hide
          enis Enis Soztutar added a comment -

          I'm +1 for v14 for master and branch-1 given that it has been tested (manually) to some extend. We can add a release note about the new configuration settings with an explicit note about this being an expert level configuration.

          Show
          enis Enis Soztutar added a comment - I'm +1 for v14 for master and branch-1 given that it has been tested (manually) to some extend. We can add a release note about the new configuration settings with an explicit note about this being an expert level configuration.
          Hide
          hadoopqa Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12708276/12954-branch-1-v14.txt
          against branch-1 branch at commit f1f4b6618334767d0da0f47965309b21676e7e9f.
          ATTACHMENT ID: 12708276

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 5 new or modified tests.

          +1 hadoop versions. The patch compiles with all supported hadoop versions (2.4.1 2.5.2 2.6.0)

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          +1 protoc. The applied patch does not increase the total number of protoc compiler warnings.

          +1 javadoc. The javadoc tool did not generate any warning messages.

          -1 checkstyle. The applied patch generated 3812 checkstyle errors (more than the master's current 3811 errors).

          +1 findbugs. The patch does not introduce any new Findbugs (version 2.0.3) warnings.

          +1 release audit. The applied patch does not increase the total number of release audit warnings.

          -1 lineLengths. The patch introduces the following lines longer than 100:
          + <description>This config is for experts: don't set its value unless you really know what you are doing.
          + When set to a non-empty value, this represents the (external facing) hostname for the underlying server.
          + new java.lang.String[]

          { "Port", "ServerStartCode", "ServerCurrentTime", "UseThisHostnameInstead", }

          );

          +1 site. The mvn site goal succeeds with this patch.

          +1 core tests. The patch passed unit tests in .

          Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/13502//testReport/
          Release Findbugs (version 2.0.3) warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/13502//artifact/patchprocess/newFindbugsWarnings.html
          Checkstyle Errors: https://builds.apache.org/job/PreCommit-HBASE-Build/13502//artifact/patchprocess/checkstyle-aggregate.html

          Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/13502//console

          This message is automatically generated.

          Show
          hadoopqa Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12708276/12954-branch-1-v14.txt against branch-1 branch at commit f1f4b6618334767d0da0f47965309b21676e7e9f. ATTACHMENT ID: 12708276 +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 5 new or modified tests. +1 hadoop versions . The patch compiles with all supported hadoop versions (2.4.1 2.5.2 2.6.0) +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 protoc . The applied patch does not increase the total number of protoc compiler warnings. +1 javadoc . The javadoc tool did not generate any warning messages. -1 checkstyle . The applied patch generated 3812 checkstyle errors (more than the master's current 3811 errors). +1 findbugs . The patch does not introduce any new Findbugs (version 2.0.3) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. -1 lineLengths . The patch introduces the following lines longer than 100: + <description>This config is for experts: don't set its value unless you really know what you are doing. + When set to a non-empty value, this represents the (external facing) hostname for the underlying server. + new java.lang.String[] { "Port", "ServerStartCode", "ServerCurrentTime", "UseThisHostnameInstead", } ); +1 site . The mvn site goal succeeds with this patch. +1 core tests . The patch passed unit tests in . Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/13502//testReport/ Release Findbugs (version 2.0.3) warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/13502//artifact/patchprocess/newFindbugsWarnings.html Checkstyle Errors: https://builds.apache.org/job/PreCommit-HBASE-Build/13502//artifact/patchprocess/checkstyle-aggregate.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/13502//console This message is automatically generated.
          Hide
          hadoopqa Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12708435/12954-branch-1-v14.txt
          against branch-1 branch at commit f1f4b6618334767d0da0f47965309b21676e7e9f.
          ATTACHMENT ID: 12708435

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 5 new or modified tests.

          +1 hadoop versions. The patch compiles with all supported hadoop versions (2.4.1 2.5.2 2.6.0)

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          +1 protoc. The applied patch does not increase the total number of protoc compiler warnings.

          +1 javadoc. The javadoc tool did not generate any warning messages.

          +1 checkstyle. The applied patch does not increase the total number of checkstyle errors

          +1 findbugs. The patch does not introduce any new Findbugs (version 2.0.3) warnings.

          +1 release audit. The applied patch does not increase the total number of release audit warnings.

          -1 lineLengths. The patch introduces the following lines longer than 100:
          + <description>This config is for experts: don't set its value unless you really know what you are doing.
          + When set to a non-empty value, this represents the (external facing) hostname for the underlying server.
          + new java.lang.String[]

          { "Port", "ServerStartCode", "ServerCurrentTime", "UseThisHostnameInstead", }

          );

          +1 site. The mvn site goal succeeds with this patch.

          +1 core tests. The patch passed unit tests in .

          Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/13506//testReport/
          Release Findbugs (version 2.0.3) warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/13506//artifact/patchprocess/newFindbugsWarnings.html
          Checkstyle Errors: https://builds.apache.org/job/PreCommit-HBASE-Build/13506//artifact/patchprocess/checkstyle-aggregate.html

          Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/13506//console

          This message is automatically generated.

          Show
          hadoopqa Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12708435/12954-branch-1-v14.txt against branch-1 branch at commit f1f4b6618334767d0da0f47965309b21676e7e9f. ATTACHMENT ID: 12708435 +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 5 new or modified tests. +1 hadoop versions . The patch compiles with all supported hadoop versions (2.4.1 2.5.2 2.6.0) +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 protoc . The applied patch does not increase the total number of protoc compiler warnings. +1 javadoc . The javadoc tool did not generate any warning messages. +1 checkstyle . The applied patch does not increase the total number of checkstyle errors +1 findbugs . The patch does not introduce any new Findbugs (version 2.0.3) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. -1 lineLengths . The patch introduces the following lines longer than 100: + <description>This config is for experts: don't set its value unless you really know what you are doing. + When set to a non-empty value, this represents the (external facing) hostname for the underlying server. + new java.lang.String[] { "Port", "ServerStartCode", "ServerCurrentTime", "UseThisHostnameInstead", } ); +1 site . The mvn site goal succeeds with this patch. +1 core tests . The patch passed unit tests in . Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/13506//testReport/ Release Findbugs (version 2.0.3) warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/13506//artifact/patchprocess/newFindbugsWarnings.html Checkstyle Errors: https://builds.apache.org/job/PreCommit-HBASE-Build/13506//artifact/patchprocess/checkstyle-aggregate.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/13506//console This message is automatically generated.
          Hide
          yuzhihong@gmail.com Ted Yu added a comment -

          It has been almost two months since the first patch was attached.

          Planning to integrate tomorrow morning if there is no further review comment.

          Show
          yuzhihong@gmail.com Ted Yu added a comment - It has been almost two months since the first patch was attached. Planning to integrate tomorrow morning if there is no further review comment.
          Hide
          hudson Hudson added a comment -

          FAILURE: Integrated in HBase-1.1 #345 (See https://builds.apache.org/job/HBase-1.1/345/)
          HBASE-12954 Ability impaired using HBase on multihomed hosts (tedyu: rev 4df24b8e6dda59f71cbfc88ce7062a73329730de)

          • hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
          • hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
          • hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.java
          • hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java
          • hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
          • hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/RegionServerStatusProtos.java
          • hbase-common/src/main/resources/hbase-default.xml
          • hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestClockSkewDetection.java
          • hbase-protocol/src/main/protobuf/RegionServerStatus.proto
          Show
          hudson Hudson added a comment - FAILURE: Integrated in HBase-1.1 #345 (See https://builds.apache.org/job/HBase-1.1/345/ ) HBASE-12954 Ability impaired using HBase on multihomed hosts (tedyu: rev 4df24b8e6dda59f71cbfc88ce7062a73329730de) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.java hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/RegionServerStatusProtos.java hbase-common/src/main/resources/hbase-default.xml hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestClockSkewDetection.java hbase-protocol/src/main/protobuf/RegionServerStatus.proto
          Hide
          yuzhihong@gmail.com Ted Yu added a comment -

          Fro https://builds.apache.org/job/HBase-1.1/345/console:

          Fetching the console output from the URL
          Printing hanging tests
          Hanging test : org.apache.hadoop.hbase.regionserver.TestRegionServerReportForDuty
          Printing Failing tests
          

          TestRegionServerReportForDuty hung in build #344 as well. So this was not caused by this patch.

          Show
          yuzhihong@gmail.com Ted Yu added a comment - Fro https://builds.apache.org/job/HBase-1.1/345/console: Fetching the console output from the URL Printing hanging tests Hanging test : org.apache.hadoop.hbase.regionserver.TestRegionServerReportForDuty Printing Failing tests TestRegionServerReportForDuty hung in build #344 as well. So this was not caused by this patch.
          Hide
          hudson Hudson added a comment -

          FAILURE: Integrated in HBase-TRUNK #6330 (See https://builds.apache.org/job/HBase-TRUNK/6330/)
          HBASE-12954 Ability impaired using HBase on multihomed hosts (tedyu: rev 874aa9eb85077a4e5ab42d06820692ed379775ca)

          • hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.java
          • hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestClockSkewDetection.java
          • hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
          • hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/RegionServerStatusProtos.java
          • hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
          • hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
          • hbase-protocol/src/main/protobuf/RegionServerStatus.proto
          • hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java
          • hbase-common/src/main/resources/hbase-default.xml
          Show
          hudson Hudson added a comment - FAILURE: Integrated in HBase-TRUNK #6330 (See https://builds.apache.org/job/HBase-TRUNK/6330/ ) HBASE-12954 Ability impaired using HBase on multihomed hosts (tedyu: rev 874aa9eb85077a4e5ab42d06820692ed379775ca) hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.java hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestClockSkewDetection.java hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/RegionServerStatusProtos.java hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java hbase-protocol/src/main/protobuf/RegionServerStatus.proto hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java hbase-common/src/main/resources/hbase-default.xml
          Hide
          yuzhihong@gmail.com Ted Yu added a comment -

          Thanks for the reviews.

          Show
          yuzhihong@gmail.com Ted Yu added a comment - Thanks for the reviews.
          Hide
          esteban Esteban Gutierrez added a comment -

          Ted Yu, only few comments:

          +  try {
          +      TEST_UTIL.startMiniCluster(NUM_MASTERS, NUM_RS);
          +    } catch (IOException ioe) {
          +      Throwable t1 = ioe.getCause();
          +      Throwable t2 = t1.getCause();
          +      assertTrue(t2.getMessage().contains("Failed resolve of " + invalidHostname));
          +      return;
          +    } finally {
          +      TEST_UTIL.shutdownMiniCluster();
          +    }
          

          Why not validate that the hostname is invalid before attempting to start the mini cluster? Also, is better to use a defined invalid TLD for this hostname (see rfc2606) otherwise depending on the DNS of the host the test might not fail.

          + if (addr.isLoopbackAddress() || addr.isLinkLocalAddress() || addr.isMulticastAddress()
          +            || !ni.getDisplayName().startsWith("e")) {
          +          continue;
          

          That sound like you expect always an ethernet interfaces but is not always the case Ted. For instance IPoIB (Infiniband) uses interfaces names starting with ib also you can set up aliases and hostnames for testing on the loopback interface.

          Show
          esteban Esteban Gutierrez added a comment - Ted Yu , only few comments: + try { + TEST_UTIL.startMiniCluster(NUM_MASTERS, NUM_RS); + } catch (IOException ioe) { + Throwable t1 = ioe.getCause(); + Throwable t2 = t1.getCause(); + assertTrue(t2.getMessage().contains( "Failed resolve of " + invalidHostname)); + return ; + } finally { + TEST_UTIL.shutdownMiniCluster(); + } Why not validate that the hostname is invalid before attempting to start the mini cluster? Also, is better to use a defined invalid TLD for this hostname (see rfc2606 ) otherwise depending on the DNS of the host the test might not fail. + if (addr.isLoopbackAddress() || addr.isLinkLocalAddress() || addr.isMulticastAddress() + || !ni.getDisplayName().startsWith( "e" )) { + continue ; That sound like you expect always an ethernet interfaces but is not always the case Ted. For instance IPoIB (Infiniband) uses interfaces names starting with ib also you can set up aliases and hostnames for testing on the loopback interface.
          Hide
          yuzhihong@gmail.com Ted Yu added a comment -

          Why not validate that the hostname is invalid before attempting to start the mini cluster?

          The test is to simulate misconfiguration. The validation is reflected in the throwing of "Failed resolve of" exception.

          is better to use a defined invalid TLD

          Addressed in addendum.

          an ethernet interfaces but is not always the case

          Addressed in addendum.

          Show
          yuzhihong@gmail.com Ted Yu added a comment - Why not validate that the hostname is invalid before attempting to start the mini cluster? The test is to simulate misconfiguration. The validation is reflected in the throwing of "Failed resolve of" exception. is better to use a defined invalid TLD Addressed in addendum. an ethernet interfaces but is not always the case Addressed in addendum.
          Hide
          esteban Esteban Gutierrez added a comment -

          Thanks for addressing the change of the hostname. That should cover my first concern about verifying if you were using a truly invalid hostname.

          Show
          esteban Esteban Gutierrez added a comment - Thanks for addressing the change of the hostname. That should cover my first concern about verifying if you were using a truly invalid hostname.
          Hide
          esteban Esteban Gutierrez added a comment -

          I'm +1 but probably document if this feature is safe to use or not with rolling upgrades if hbase.regionserver.hostname and with existing replication queues.

          Show
          esteban Esteban Gutierrez added a comment - I'm +1 but probably document if this feature is safe to use or not with rolling upgrades if hbase.regionserver.hostname and with existing replication queues.
          Hide
          yuzhihong@gmail.com Ted Yu added a comment -

          Thanks for the review, Esteban.

          Show
          yuzhihong@gmail.com Ted Yu added a comment - Thanks for the review, Esteban.
          Hide
          hudson Hudson added a comment -

          FAILURE: Integrated in HBase-1.1 #347 (See https://builds.apache.org/job/HBase-1.1/347/)
          HBASE-12954 Addendum uses invalid TLD in test (tedyu: rev 39b5ce94708d03b9c12ced534b718bdc92479089)

          • hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.java
          Show
          hudson Hudson added a comment - FAILURE: Integrated in HBase-1.1 #347 (See https://builds.apache.org/job/HBase-1.1/347/ ) HBASE-12954 Addendum uses invalid TLD in test (tedyu: rev 39b5ce94708d03b9c12ced534b718bdc92479089) hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.java
          Hide
          hudson Hudson added a comment -

          FAILURE: Integrated in HBase-TRUNK #6332 (See https://builds.apache.org/job/HBase-TRUNK/6332/)
          HBASE-12954 Addendum uses invalid TLD in test (tedyu: rev 64449e2ae7d40009ab13197a424d7e123f77f38b)

          • hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.java
          Show
          hudson Hudson added a comment - FAILURE: Integrated in HBase-TRUNK #6332 (See https://builds.apache.org/job/HBase-TRUNK/6332/ ) HBASE-12954 Addendum uses invalid TLD in test (tedyu: rev 64449e2ae7d40009ab13197a424d7e123f77f38b) hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerHostname.java
          Hide
          ndimiduk Nick Dimiduk added a comment -

          Closing issues released in 1.1.0.

          Show
          ndimiduk Nick Dimiduk added a comment - Closing issues released in 1.1.0.

            People

            • Assignee:
              yuzhihong@gmail.com Ted Yu
              Reporter:
              clayb Clay B.
            • Votes:
              0 Vote for this issue
              Watchers:
              25 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development