Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.95.0
    • Component/s: Client, IPC/RPC
    • Labels:
      None
    • Hadoop Flags:
      Incompatible change
    • Release Note:
      Hide
      Overriding of the client RPC engine (hbase.rpc.client.engine configuration property) is no longer supported. Instead the built-in RpcClientEngine is always used.

      In some cases, where clients explicitly manage HConnection instance creation, the number of client RPC connections created may change. This issue changes the HConnection implementation to use it's own managed HBaseClient instance, with its own set of client RPC connections. So explicitly creating multiple HConnection instances (using HConnectionManager.createConnection()) will result in multiple HBaseClient instances. However, for the default behavior, using HTable with a single Configuration, there is no change.
      Show
      Overriding of the client RPC engine (hbase.rpc.client.engine configuration property) is no longer supported. Instead the built-in RpcClientEngine is always used. In some cases, where clients explicitly manage HConnection instance creation, the number of client RPC connections created may change. This issue changes the HConnection implementation to use it's own managed HBaseClient instance, with its own set of client RPC connections. So explicitly creating multiple HConnection instances (using HConnectionManager.createConnection()) will result in multiple HBaseClient instances. However, for the default behavior, using HTable with a single Configuration, there is no change.

      Description

      This issue originated from a discussion over in HBASE-7442. We currently have a broken abstraction with HBaseClient, where it is bound to a single Configuration instance at time of construction, but then reused for all connections to all clusters. This is combined with multiple, overlapping layers of connection caching.

      Going through this code, it seems like we have a lot of mismatch between the higher layers and the lower layers, with too much abstraction in between. At the lower layers, most of the ClientCache stuff seems completely unused. We currently effectively have an HBaseClient singleton (for SecureClient as well in 0.92/0.94) in the client code, as I don't see anything that calls the constructor or RpcEngine.getProxy() versions with a non-default socket factory. So a lot of the code around this seems like built up waste.

      The fact that a single Configuration is fixed in the HBaseClient seems like a broken abstraction as it currently stands. In addition to cluster ID, other configuration parameters (max retries, retry sleep) are fixed at time of construction. The more I look at the code, the more it looks like the ClientCache and sharing the HBaseClient instance is an unnecessary complication. Why cache the HBaseClient instances at all? In HConnectionManager, we already have a mapping from Configuration to HConnection. It seems to me like each HConnection(Implementation) instance should have it's own HBaseClient instance, doing away with the ClientCache mapping. This would keep each HBaseClient associated with a single cluster/configuration and fix the current breakage from reusing the same HBaseClient against different clusters.

      We need a refactoring of some of the interactions of HConnection(Implementation), HBaseRPC/RpcEngine, and HBaseClient. Off hand, we might want to expose a separate RpcEngine.getClient() method that returns a new RpcClient interface (implemented by HBaseClient) and move the RpcEngine.getProxy()/stopProxy() implementations into the client. So all proxy invocations can go through the same client, without requiring the static client cache. I haven't fully thought this through, so I could be missing other important aspects. But that approach at least seems like a step in the right direction for fixing the client abstractions.

      1. HBASE-7460_2.patch
        62 kB
        Gary Helmling

        Issue Links

          Activity

          Hide
          stack added a comment -

          I am in this area at the moment, at a level just above HBaseClient trying to make use of it. I'm playing with trying to use protobuf Service and hooking it up on either end to use our RPC. There are pros but a bunch of cons with the main one being mostly the amount of refactoring that would have to do in this area if we were to go this route.

          My first impression submerging below the level of HBaseClientRPC is that there is a bunch of cruft in here, stuff that has been accumulating over time and that we've probably been afraid to apply the compressed air can too.

          I want to make use of clients. Was going to copy what is going on in Invoker not knowing any better. I want to use something else than "protocol" as the key getting the client.

          In my investigations, the first thing to jettison would be the proxy stuff. In my case it is in the way (I'd use the protobuf Service.Stub instead). Getting a proxy has a bunch of overrides. A bunch look unused, as you say. Also, protocol 'versioning' and protocol 'fingerprinting' – VersionedProtocol and ProtocolSignature – are in the former case not hooked up, and in the latter, a facility that is incomplete and unused so all this code needs finishing or we need to just throw it out.

          It seems to me like each HConnection(Implementation) instance should have it's own HBaseClient instance, doing away with the ClientCache mapping

          Sounds imminently sensible.

          I'd be up for sketching something out if you had a few minutes to hang G.

          Still to do, though not directly related here but it is in this realm only at a lower level, is the back and forth over RPC, what we put on the wire. As is where we create a pb from an already made request pb – with the former making a copy of the latter – needs fixing and we should take the opportunity to address some of the criticisms' Benoît/Tsuna raised in Unofficial Hadoop / HBase RPC protocol documentation (http://www.google.com/url?q=https%3A%2F%2Fgithub.com%2FOpenTSDB%2Fasynchbase%2Fblob%2Fmaster%2Fsrc%2FHBaseRpc.java%23L164&sa=D&sntz=1&usg=AFQjCNEy00ZQVclIR7BaBJYBdRV-i7QGTg)

          Show
          stack added a comment - I am in this area at the moment, at a level just above HBaseClient trying to make use of it. I'm playing with trying to use protobuf Service and hooking it up on either end to use our RPC. There are pros but a bunch of cons with the main one being mostly the amount of refactoring that would have to do in this area if we were to go this route. My first impression submerging below the level of HBaseClientRPC is that there is a bunch of cruft in here, stuff that has been accumulating over time and that we've probably been afraid to apply the compressed air can too. I want to make use of clients. Was going to copy what is going on in Invoker not knowing any better. I want to use something else than "protocol" as the key getting the client. In my investigations, the first thing to jettison would be the proxy stuff. In my case it is in the way (I'd use the protobuf Service.Stub instead). Getting a proxy has a bunch of overrides. A bunch look unused, as you say. Also, protocol 'versioning' and protocol 'fingerprinting' – VersionedProtocol and ProtocolSignature – are in the former case not hooked up, and in the latter, a facility that is incomplete and unused so all this code needs finishing or we need to just throw it out. It seems to me like each HConnection(Implementation) instance should have it's own HBaseClient instance, doing away with the ClientCache mapping Sounds imminently sensible. I'd be up for sketching something out if you had a few minutes to hang G. Still to do, though not directly related here but it is in this realm only at a lower level, is the back and forth over RPC, what we put on the wire. As is where we create a pb from an already made request pb – with the former making a copy of the latter – needs fixing and we should take the opportunity to address some of the criticisms' Benoît/Tsuna raised in Unofficial Hadoop / HBase RPC protocol documentation ( http://www.google.com/url?q=https%3A%2F%2Fgithub.com%2FOpenTSDB%2Fasynchbase%2Fblob%2Fmaster%2Fsrc%2FHBaseRpc.java%23L164&sa=D&sntz=1&usg=AFQjCNEy00ZQVclIR7BaBJYBdRV-i7QGTg )
          Hide
          Gary Helmling added a comment -

          Stack Yes, it would be good to sync up in this area and align our plans. If going through with exposing the protobuf Service implementations proves out, dropping the dynamic proxying would definitely simplify some things, and I also got the impression that there was a lot of accumulated cruft to weed out, ClientCache being a prime example.

          Let's streamline the intermediate code first, then look at cutting out the wire transfer overhead. Benoit's docs make good reading. There are a lot of gains to be made there as well.

          Show
          Gary Helmling added a comment - Stack Yes, it would be good to sync up in this area and align our plans. If going through with exposing the protobuf Service implementations proves out, dropping the dynamic proxying would definitely simplify some things, and I also got the impression that there was a lot of accumulated cruft to weed out, ClientCache being a prime example. Let's streamline the intermediate code first, then look at cutting out the wire transfer overhead. Benoit's docs make good reading. There are a lot of gains to be made there as well.
          Hide
          Gary Helmling added a comment -

          Initial patch posted for review: https://reviews.apache.org/r/8979/

          Show
          Gary Helmling added a comment - Initial patch posted for review: https://reviews.apache.org/r/8979/
          Hide
          Gary Helmling added a comment -

          Lars Hofhansl Do you have any thoughts on this refactoring since I think it ties in to resource management you've looked at from the HConnection / HTable side?

          Show
          Gary Helmling added a comment - Lars Hofhansl Do you have any thoughts on this refactoring since I think it ties in to resource management you've looked at from the HConnection / HTable side?
          Hide
          Lars Hofhansl added a comment -

          Somehow I can't comment on RB. Looks great. I have two questions:

          1. Do we still want the RPC engine to be configurable?
          2. the stopProxy logic can go away, because we're calling close on the RPC engine?
          Show
          Lars Hofhansl added a comment - Somehow I can't comment on RB. Looks great. I have two questions: Do we still want the RPC engine to be configurable? the stopProxy logic can go away, because we're calling close on the RPC engine?
          Hide
          Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12565546/HBASE-7460_2.patch
          against trunk revision .

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

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

          +1 hadoop2.0. The patch compiles against the hadoop 2.0 profile.

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

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

          -1 findbugs. The patch appears to introduce 1 new Findbugs (version 1.3.9) warnings.

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

          -1 lineLengths. The patch introduces lines longer than 100

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

          Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/4092//testReport/
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4092//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4092//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4092//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4092//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4092//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4092//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4092//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
          Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/4092//console

          This message is automatically generated.

          Show
          Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12565546/HBASE-7460_2.patch against trunk revision . +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 42 new or modified tests. +1 hadoop2.0 . The patch compiles against the hadoop 2.0 profile. +1 javadoc . The javadoc tool did not generate any warning messages. +1 javac . The applied patch does not increase the total number of javac compiler warnings. -1 findbugs . The patch appears to introduce 1 new Findbugs (version 1.3.9) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. -1 lineLengths . The patch introduces lines longer than 100 +1 core tests . The patch passed unit tests in . Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/4092//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4092//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4092//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4092//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4092//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4092//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4092//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/4092//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/4092//console This message is automatically generated.
          Hide
          Elliott Clark added a comment -

          Removing the plug-ability of the engine would be really nice; we've pretty much given up on not having protobuf everywhere.

          Show
          Elliott Clark added a comment - Removing the plug-ability of the engine would be really nice; we've pretty much given up on not having protobuf everywhere.
          Hide
          Gary Helmling added a comment -

          Thanks for taking a look Lars.

          Do we still want the RPC engine to be configurable?

          I originally added the loadable RPC engines as a way of introducing security (via SecureRpcEngine) as a completely optional component, so that the existing WritableRpcEngine could be unchanged. Since we've moved back to a single RPC engine in trunk, I didn't see any value in keeping the additional complexity of having it configurable. That capability is only minimally used in tests, which I was easily able to replace. It's possible there are end user implementations of RpcEngine, though I kind of doubt it. If there are, maybe it's worth keeping a configuration based factory. I could do a poll on the user list to check.

          the stopProxy logic can go away, because we're calling close on the RPC engine?

          Yes, that was only doing reference counting on our HBaseClient singleton, so that we could control when HBaseClient.stop() was called. With an HBaseClient instance now directly tied to a HConnection instance, we can rely on HCM.HConnectionImplementation#close() -> ProtobufRpcClientEngine#close() -> HBaseClient#stop() instead.

          Show
          Gary Helmling added a comment - Thanks for taking a look Lars. Do we still want the RPC engine to be configurable? I originally added the loadable RPC engines as a way of introducing security (via SecureRpcEngine) as a completely optional component, so that the existing WritableRpcEngine could be unchanged. Since we've moved back to a single RPC engine in trunk, I didn't see any value in keeping the additional complexity of having it configurable. That capability is only minimally used in tests, which I was easily able to replace. It's possible there are end user implementations of RpcEngine, though I kind of doubt it. If there are, maybe it's worth keeping a configuration based factory. I could do a poll on the user list to check. the stopProxy logic can go away, because we're calling close on the RPC engine? Yes, that was only doing reference counting on our HBaseClient singleton, so that we could control when HBaseClient.stop() was called. With an HBaseClient instance now directly tied to a HConnection instance, we can rely on HCM.HConnectionImplementation#close() -> ProtobufRpcClientEngine#close() -> HBaseClient#stop() instead.
          Hide
          Lars Hofhansl added a comment -

          +1 on commit. Also curious, can I currently create two Connections and connect them to different clusters in a single JVM?

          Show
          Lars Hofhansl added a comment - +1 on commit. Also curious, can I currently create two Connections and connect them to different clusters in a single JVM?
          Hide
          Elliott Clark added a comment -

          +1 as well. Looks really nice.

          Show
          Elliott Clark added a comment - +1 as well. Looks really nice.
          Hide
          Gary Helmling added a comment -

          can I currently create two Connections and connect them to different clusters in a single JVM?

          Prior to this patch, you'll have problems with that, due to the issue detailed in HBASE-7442 – we essentially have an HBaseClient singleton, whose Configuration (including cluster ID) is fixed the first time it's used, so it can't properly account for different IDs per cluster. This is important for token based authentication at least, ie. security + map reduce. Outside of token auth, the current code may work for multiple cluster connections, though the client may pick up some wrong configs for things like retries, tcpnodelay, etc. HBASE-7442 works around this by caching a separate HBaseClient per cluster ID, which makes token auth work.

          With this change, since HBaseClient is fixed to a given HConnection, which is cached based on cluster-specific config, so it should be no problem connecting to multiple clusters within the same JVM. There is a change in behavior here – if you're manually creating multiple HConnections as the same user to the same cluster (using HCM#createConnection(Configuration)), you're now getting a separate HBaseClient per HConnection, each with it's own set of RPC connections. Previously, due to the separate HBaseClient caching, these would share the same HBaseClient with the same RPC connections. The new behavior seems simpler and more predictable to me. Are there any cases where we anticipate problems from this?

          Show
          Gary Helmling added a comment - can I currently create two Connections and connect them to different clusters in a single JVM? Prior to this patch, you'll have problems with that, due to the issue detailed in HBASE-7442 – we essentially have an HBaseClient singleton, whose Configuration (including cluster ID) is fixed the first time it's used, so it can't properly account for different IDs per cluster. This is important for token based authentication at least, ie. security + map reduce. Outside of token auth, the current code may work for multiple cluster connections, though the client may pick up some wrong configs for things like retries, tcpnodelay, etc. HBASE-7442 works around this by caching a separate HBaseClient per cluster ID, which makes token auth work. With this change, since HBaseClient is fixed to a given HConnection, which is cached based on cluster-specific config, so it should be no problem connecting to multiple clusters within the same JVM. There is a change in behavior here – if you're manually creating multiple HConnections as the same user to the same cluster (using HCM#createConnection(Configuration)), you're now getting a separate HBaseClient per HConnection, each with it's own set of RPC connections. Previously, due to the separate HBaseClient caching, these would share the same HBaseClient with the same RPC connections. The new behavior seems simpler and more predictable to me. Are there any cases where we anticipate problems from this?
          Hide
          Lars Hofhansl added a comment -

          That's what I thought. Cr*p. I did not think of that. We'll need that here at Salesforce.
          Any way to backport part of this to 0.94? I assume we'd still need the configurable RPC engine (secure/nonsecure).
          I suppose removing the client cache is simple enough in 0.94 (i.e. here too we'd have a single HBaseClient per RPC engine).

          Show
          Lars Hofhansl added a comment - That's what I thought. Cr*p. I did not think of that. We'll need that here at Salesforce. Any way to backport part of this to 0.94? I assume we'd still need the configurable RPC engine (secure/nonsecure). I suppose removing the client cache is simple enough in 0.94 (i.e. here too we'd have a single HBaseClient per RPC engine).
          Hide
          Ted Yu added a comment -

          @Gary:
          The new behavior would be documented in release notes, right ?

          Thanks

          Show
          Ted Yu added a comment - @Gary: The new behavior would be documented in release notes, right ? Thanks
          Hide
          stack added a comment -

          Hurry up and commit! It will make my current project in rpc easier with this in place. Nice work Gary.

          Show
          stack added a comment - Hurry up and commit! It will make my current project in rpc easier with this in place. Nice work Gary.
          Hide
          Gary Helmling added a comment -

          Lars Hofhansl With HBASE-7442 (in 0.94.4), token auth with multiple clusters in the same JVM should work, and regular client between multiple clusters should work as well, subject to maybe misconfiguration of config params used in HBaseClient:

          • hbase.ipc.client.connection.maxidletime
          • hbase.ipc.client.connect.max.retries
          • hbase.client.pause
          • hbase.ipc.client.tcpnodelay
          • hbase.ipc.client.tcpkeepalive

          So I think it would only be an issue if you use different values for these talking to the same cluster?

          We could potentially backport a version of this if you really wanted the new behavior (separate HBaseClient per HConnection, with separate set of RPC connections). But this seemed like a pretty invasive change to me so I hadn't planned on it.

          If you really want a backport, I can work one up.

          Show
          Gary Helmling added a comment - Lars Hofhansl With HBASE-7442 (in 0.94.4), token auth with multiple clusters in the same JVM should work, and regular client between multiple clusters should work as well, subject to maybe misconfiguration of config params used in HBaseClient: hbase.ipc.client.connection.maxidletime hbase.ipc.client.connect.max.retries hbase.client.pause hbase.ipc.client.tcpnodelay hbase.ipc.client.tcpkeepalive So I think it would only be an issue if you use different values for these talking to the same cluster? We could potentially backport a version of this if you really wanted the new behavior (separate HBaseClient per HConnection, with separate set of RPC connections). But this seemed like a pretty invasive change to me so I hadn't planned on it. If you really want a backport, I can work one up.
          Hide
          Gary Helmling added a comment -

          Ted Yu Yes, absolutely. I'll be adding a release note describing the behavior change, and the removal of configurable RPC engines (client at least).

          Show
          Gary Helmling added a comment - Ted Yu Yes, absolutely. I'll be adding a release note describing the behavior change, and the removal of configurable RPC engines (client at least).
          Hide
          Lars Hofhansl added a comment -

          "separate HBaseClient per HConnection, with separate set of RPC connections" just seems cleaner, easier to understand, and easier to debug.
          If only HTable is used with a single cluster (a single configuration) the behavior is unchanged, right? (there would be a single HConnection for the configuration, which happens to have a single HBaseClient in the client cache, unless I misunderstand).

          Show
          Lars Hofhansl added a comment - "separate HBaseClient per HConnection, with separate set of RPC connections" just seems cleaner, easier to understand, and easier to debug. If only HTable is used with a single cluster (a single configuration) the behavior is unchanged, right? (there would be a single HConnection for the configuration, which happens to have a single HBaseClient in the client cache, unless I misunderstand).
          Hide
          Gary Helmling added a comment -

          Committed to trunk. Thanks for review Stack, Lars, and Elliot!

          Show
          Gary Helmling added a comment - Committed to trunk. Thanks for review Stack, Lars, and Elliot!
          Hide
          stack added a comment -

          ... the behavior is unchanged, right?

          That is my understanding (flagging the man Gary Gary Helmling for confirmation).

          Show
          stack added a comment - ... the behavior is unchanged, right? That is my understanding (flagging the man Gary Gary Helmling for confirmation).
          Hide
          Gary Helmling added a comment -

          Yes, the default behavior, using HTable with a single cluster, single configuration, would be unchanged. All HTable instances would be using a single HConnection, holding a single HBaseClient.

          Show
          Gary Helmling added a comment - Yes, the default behavior, using HTable with a single cluster, single configuration, would be unchanged. All HTable instances would be using a single HConnection, holding a single HBaseClient.
          Hide
          Lars Hofhansl added a comment - - edited

          I'd say we backport that portion. If you're busy I can do that, Gary.

          Show
          Lars Hofhansl added a comment - - edited I'd say we backport that portion. If you're busy I can do that, Gary.
          Hide
          Gary Helmling added a comment -

          Resolving this issue. If we choose to do a 0.94 backport, that seems significantly different enough to merit it's own issue.

          Show
          Gary Helmling added a comment - Resolving this issue. If we choose to do a 0.94 backport, that seems significantly different enough to merit it's own issue.
          Hide
          Gary Helmling added a comment -

          "separate HBaseClient per HConnection, with separate set of RPC connections" just seems cleaner, easier to understand, and easier to debug.

          I definitely agree. I certainly like having a simpler model without the redundant layers of caching. And I think simplifying the resource management should make it easier to get right. That said, it is an invasive change with possible change to behavior for some users (maybe even a desirable change, but a change none the less).

          I'll work up a backported version. I think the main difference will just be preserving the configurable factory for RpcEngine so we can support both writable and secure versions.

          Show
          Gary Helmling added a comment - "separate HBaseClient per HConnection, with separate set of RPC connections" just seems cleaner, easier to understand, and easier to debug. I definitely agree. I certainly like having a simpler model without the redundant layers of caching. And I think simplifying the resource management should make it easier to get right. That said, it is an invasive change with possible change to behavior for some users (maybe even a desirable change, but a change none the less). I'll work up a backported version. I think the main difference will just be preserving the configurable factory for RpcEngine so we can support both writable and secure versions.
          Hide
          Hudson added a comment -

          Integrated in HBase-TRUNK-on-Hadoop-2.0.0 #360 (See https://builds.apache.org/job/HBase-TRUNK-on-Hadoop-2.0.0/360/)
          HBASE-7460 Cleanup RPC client connection layers (Revision 1435414)

          Result = FAILURE
          garyh :
          Files :

          • /hbase/trunk/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon
          • /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java
          • /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/ClientCache.java
          • /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/HBaseClient.java
          • /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/HBaseClientRPC.java
          • /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/ProtobufRpcClientEngine.java
          • /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcClientEngine.java
          • /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
          • /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.java
          • /hbase/trunk/hbase-server/src/main/resources/hbase-default.xml
          • /hbase/trunk/hbase-server/src/main/resources/hbase-webapps/master/table.jsp
          • /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/MiniHBaseCluster.java
          • /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/catalog/TestCatalogTracker.java
          • /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/catalog/TestMetaReaderEditorNoCluster.java
          • /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestClientTimeouts.java
          • /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
          • /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java
          • /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/RandomTimeoutRpcEngine.java
          • /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestDelayedRpc.java
          • /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestProtoBufRpc.java
          • /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java
          • /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestHMasterRPCException.java
          • /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/security/token/TestTokenAuthentication.java
          • /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/util/hbck/OfflineMetaRebuildTestCore.java
          • /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/util/hbck/TestOfflineMetaRebuildBase.java
          Show
          Hudson added a comment - Integrated in HBase-TRUNK-on-Hadoop-2.0.0 #360 (See https://builds.apache.org/job/HBase-TRUNK-on-Hadoop-2.0.0/360/ ) HBASE-7460 Cleanup RPC client connection layers (Revision 1435414) Result = FAILURE garyh : Files : /hbase/trunk/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/ClientCache.java /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/HBaseClient.java /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/HBaseClientRPC.java /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/ProtobufRpcClientEngine.java /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcClientEngine.java /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.java /hbase/trunk/hbase-server/src/main/resources/hbase-default.xml /hbase/trunk/hbase-server/src/main/resources/hbase-webapps/master/table.jsp /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/MiniHBaseCluster.java /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/catalog/TestCatalogTracker.java /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/catalog/TestMetaReaderEditorNoCluster.java /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestClientTimeouts.java /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/RandomTimeoutRpcEngine.java /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestDelayedRpc.java /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestProtoBufRpc.java /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestHMasterRPCException.java /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/security/token/TestTokenAuthentication.java /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/util/hbck/OfflineMetaRebuildTestCore.java /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/util/hbck/TestOfflineMetaRebuildBase.java
          Hide
          Hudson added a comment -

          Integrated in HBase-TRUNK #3768 (See https://builds.apache.org/job/HBase-TRUNK/3768/)
          HBASE-7460 Cleanup RPC client connection layers (Revision 1435414)

          Result = FAILURE
          garyh :
          Files :

          • /hbase/trunk/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon
          • /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java
          • /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/ClientCache.java
          • /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/HBaseClient.java
          • /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/HBaseClientRPC.java
          • /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/ProtobufRpcClientEngine.java
          • /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcClientEngine.java
          • /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
          • /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.java
          • /hbase/trunk/hbase-server/src/main/resources/hbase-default.xml
          • /hbase/trunk/hbase-server/src/main/resources/hbase-webapps/master/table.jsp
          • /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/MiniHBaseCluster.java
          • /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/catalog/TestCatalogTracker.java
          • /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/catalog/TestMetaReaderEditorNoCluster.java
          • /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestClientTimeouts.java
          • /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
          • /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java
          • /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/RandomTimeoutRpcEngine.java
          • /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestDelayedRpc.java
          • /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestProtoBufRpc.java
          • /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java
          • /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestHMasterRPCException.java
          • /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/security/token/TestTokenAuthentication.java
          • /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/util/hbck/OfflineMetaRebuildTestCore.java
          • /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/util/hbck/TestOfflineMetaRebuildBase.java
          Show
          Hudson added a comment - Integrated in HBase-TRUNK #3768 (See https://builds.apache.org/job/HBase-TRUNK/3768/ ) HBASE-7460 Cleanup RPC client connection layers (Revision 1435414) Result = FAILURE garyh : Files : /hbase/trunk/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/ClientCache.java /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/HBaseClient.java /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/HBaseClientRPC.java /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/ProtobufRpcClientEngine.java /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcClientEngine.java /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.java /hbase/trunk/hbase-server/src/main/resources/hbase-default.xml /hbase/trunk/hbase-server/src/main/resources/hbase-webapps/master/table.jsp /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/MiniHBaseCluster.java /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/catalog/TestCatalogTracker.java /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/catalog/TestMetaReaderEditorNoCluster.java /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestClientTimeouts.java /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/RandomTimeoutRpcEngine.java /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestDelayedRpc.java /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestProtoBufRpc.java /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestHMasterRPCException.java /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/security/token/TestTokenAuthentication.java /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/util/hbck/OfflineMetaRebuildTestCore.java /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/util/hbck/TestOfflineMetaRebuildBase.java
          Hide
          Lars Hofhansl added a comment -

          Hey Gary Helmling, are you still planning on making a 0.94 port?

          Show
          Lars Hofhansl added a comment - Hey Gary Helmling , are you still planning on making a 0.94 port?
          Hide
          Gary Helmling added a comment -

          Lars Hofhansl I'll take a stab at it today. If I can't work something up by tomorrow, you're welcome to grab it.

          Show
          Gary Helmling added a comment - Lars Hofhansl I'll take a stab at it today. If I can't work something up by tomorrow, you're welcome to grab it.
          Hide
          Lars Hofhansl added a comment -

          Thanks Gary.

          I started, and then realized it's a bit more time consuming than I thought (not knowing that part of the code that well, especially not the secure part).

          One thing I found I had to do was to have WritableRpcEngine and SecureRpcEngine implement Configurable and then initialize the HBaseClient in the setConf(...) method.

          The next problem I encountered was that HBaseRPC.waitForProxy(...) now needs to know the ticket, because it might be called with the secureRpcEngine, but not all callers have that.

          I can figure this all out, but it would probably be way more expedient if you'd make a patch.

          Show
          Lars Hofhansl added a comment - Thanks Gary. I started, and then realized it's a bit more time consuming than I thought (not knowing that part of the code that well, especially not the secure part). One thing I found I had to do was to have WritableRpcEngine and SecureRpcEngine implement Configurable and then initialize the HBaseClient in the setConf(...) method. The next problem I encountered was that HBaseRPC.waitForProxy(...) now needs to know the ticket, because it might be called with the secureRpcEngine, but not all callers have that. I can figure this all out, but it would probably be way more expedient if you'd make a patch.
          Hide
          Devaraj Das added a comment -

          I can also do this for 0.94. Gary Helmling, will wait to hear from you before I take it on though.

          Show
          Devaraj Das added a comment - I can also do this for 0.94. Gary Helmling , will wait to hear from you before I take it on though.
          Hide
          Gary Helmling added a comment -

          One thing I found I had to do was to have WritableRpcEngine and SecureRpcEngine implement Configurable and then initialize the HBaseClient in the setConf(...) method.

          Thanks for the reminder. I had started down a similar path in the trunk version, but abandoned that when I saw I could do direct instantiation instead. For 0.94 where we need to preserve the RpcEngine factory aspect, we'll definitely need this.

          One issue I'm running in to is to what extent do we want to do incompatible changes within RpcEngine. There we have:

            VersionedProtocol getProxy(Class<? extends VersionedProtocol> protocol,
                            long clientVersion, InetSocketAddress addr,
                            User ticket, Configuration conf,
                            SocketFactory factory, int rpcTimeout) throws IOException;
          

          The approach I'm planning would change this like trunk to eliminate some unused parameters. This would impact anyone who had implemented their own RpcEngine, but this seems like a semi-internal internal, so modifying it seemed reasonable to me.

          The trunk patch also has some changes to HConnectionManager method signatures (dropping the unneeded stopProxy param from deleteConnection*). Should the HConnectionManager interface changes be avoided in 0.94? We could keep the existing signatures, but just ignore the stopProxy parameter. Breaking this interface for clients seems like it would cause a lot more problems.

          Show
          Gary Helmling added a comment - One thing I found I had to do was to have WritableRpcEngine and SecureRpcEngine implement Configurable and then initialize the HBaseClient in the setConf(...) method. Thanks for the reminder. I had started down a similar path in the trunk version, but abandoned that when I saw I could do direct instantiation instead. For 0.94 where we need to preserve the RpcEngine factory aspect, we'll definitely need this. One issue I'm running in to is to what extent do we want to do incompatible changes within RpcEngine. There we have: VersionedProtocol getProxy( Class <? extends VersionedProtocol> protocol, long clientVersion, InetSocketAddress addr, User ticket, Configuration conf, SocketFactory factory, int rpcTimeout) throws IOException; The approach I'm planning would change this like trunk to eliminate some unused parameters. This would impact anyone who had implemented their own RpcEngine, but this seems like a semi-internal internal, so modifying it seemed reasonable to me. The trunk patch also has some changes to HConnectionManager method signatures (dropping the unneeded stopProxy param from deleteConnection*). Should the HConnectionManager interface changes be avoided in 0.94? We could keep the existing signatures, but just ignore the stopProxy parameter. Breaking this interface for clients seems like it would cause a lot more problems.
          Hide
          Lars Hofhansl added a comment -

          I do not think we have to keep compatibility in internal classes. We even change the coprocessor interfaces around. Nobody should call deleteConnection directly. (Changing the HConnection interface would be a different issue and should be avoided, but we're not doing that).

          On the other hand, maybe for the sake of simplicity and easier review we can leave the HConnectionManager interface unchanged.

          We can definitely change RpcEngine.
          (And Re: my comment above about the ticket not being available to waitForProxy, I now also realize that all the paths that lead to getProxy call User.getCurrent(), so it's not a problem, we'd just do the same).

          Show
          Lars Hofhansl added a comment - I do not think we have to keep compatibility in internal classes. We even change the coprocessor interfaces around. Nobody should call deleteConnection directly. (Changing the HConnection interface would be a different issue and should be avoided, but we're not doing that). On the other hand, maybe for the sake of simplicity and easier review we can leave the HConnectionManager interface unchanged. We can definitely change RpcEngine. (And Re: my comment above about the ticket not being available to waitForProxy, I now also realize that all the paths that lead to getProxy call User.getCurrent(), so it's not a problem, we'd just do the same).
          Hide
          Hudson added a comment -

          Integrated in HBase-0.94 #798 (See https://builds.apache.org/job/HBase-0.94/798/)
          HBASE-7626 Backport client connection cleanup from HBASE-7460 (Revision 1439723)

          Result = SUCCESS
          garyh :
          Files :

          • /hbase/branches/0.94/security/src/main/java/org/apache/hadoop/hbase/ipc/SecureRpcEngine.java
          • /hbase/branches/0.94/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon
          • /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java
          • /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/ipc/HBaseClient.java
          • /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/ipc/HBaseRPC.java
          • /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/ipc/RpcEngine.java
          • /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/ipc/WritableRpcEngine.java
          • /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
          • /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.java
          • /hbase/branches/0.94/src/main/resources/hbase-webapps/master/table.jsp
          • /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/MiniHBaseCluster.java
          • /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/catalog/TestCatalogTracker.java
          • /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/catalog/TestMetaReaderEditorNoCluster.java
          • /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java
          • /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/ipc/TestDelayedRpc.java
          • /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/ipc/TestPBOnWritableRpc.java
          • /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/ipc/TestProtocolExtension.java
          • /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java
          • /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/master/TestHMasterRPCException.java
          • /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/util/hbck/OfflineMetaRebuildTestCore.java
          • /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/util/hbck/TestOfflineMetaRebuildBase.java
          Show
          Hudson added a comment - Integrated in HBase-0.94 #798 (See https://builds.apache.org/job/HBase-0.94/798/ ) HBASE-7626 Backport client connection cleanup from HBASE-7460 (Revision 1439723) Result = SUCCESS garyh : Files : /hbase/branches/0.94/security/src/main/java/org/apache/hadoop/hbase/ipc/SecureRpcEngine.java /hbase/branches/0.94/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/ipc/HBaseClient.java /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/ipc/HBaseRPC.java /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/ipc/RpcEngine.java /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/ipc/WritableRpcEngine.java /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.java /hbase/branches/0.94/src/main/resources/hbase-webapps/master/table.jsp /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/MiniHBaseCluster.java /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/catalog/TestCatalogTracker.java /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/catalog/TestMetaReaderEditorNoCluster.java /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/ipc/TestDelayedRpc.java /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/ipc/TestPBOnWritableRpc.java /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/ipc/TestProtocolExtension.java /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/master/TestHMasterRPCException.java /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/util/hbck/OfflineMetaRebuildTestCore.java /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/util/hbck/TestOfflineMetaRebuildBase.java
          Hide
          Hudson added a comment -

          Integrated in HBase-0.94-security #102 (See https://builds.apache.org/job/HBase-0.94-security/102/)
          HBASE-7626 Backport client connection cleanup from HBASE-7460 (Revision 1439723)

          Result = SUCCESS
          garyh :
          Files :

          • /hbase/branches/0.94/security/src/main/java/org/apache/hadoop/hbase/ipc/SecureRpcEngine.java
          • /hbase/branches/0.94/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon
          • /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java
          • /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/ipc/HBaseClient.java
          • /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/ipc/HBaseRPC.java
          • /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/ipc/RpcEngine.java
          • /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/ipc/WritableRpcEngine.java
          • /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
          • /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.java
          • /hbase/branches/0.94/src/main/resources/hbase-webapps/master/table.jsp
          • /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/MiniHBaseCluster.java
          • /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/catalog/TestCatalogTracker.java
          • /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/catalog/TestMetaReaderEditorNoCluster.java
          • /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java
          • /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/ipc/TestDelayedRpc.java
          • /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/ipc/TestPBOnWritableRpc.java
          • /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/ipc/TestProtocolExtension.java
          • /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java
          • /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/master/TestHMasterRPCException.java
          • /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/util/hbck/OfflineMetaRebuildTestCore.java
          • /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/util/hbck/TestOfflineMetaRebuildBase.java
          Show
          Hudson added a comment - Integrated in HBase-0.94-security #102 (See https://builds.apache.org/job/HBase-0.94-security/102/ ) HBASE-7626 Backport client connection cleanup from HBASE-7460 (Revision 1439723) Result = SUCCESS garyh : Files : /hbase/branches/0.94/security/src/main/java/org/apache/hadoop/hbase/ipc/SecureRpcEngine.java /hbase/branches/0.94/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/ipc/HBaseClient.java /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/ipc/HBaseRPC.java /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/ipc/RpcEngine.java /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/ipc/WritableRpcEngine.java /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.java /hbase/branches/0.94/src/main/resources/hbase-webapps/master/table.jsp /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/MiniHBaseCluster.java /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/catalog/TestCatalogTracker.java /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/catalog/TestMetaReaderEditorNoCluster.java /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/ipc/TestDelayedRpc.java /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/ipc/TestPBOnWritableRpc.java /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/ipc/TestProtocolExtension.java /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/master/TestHMasterRPCException.java /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/util/hbck/OfflineMetaRebuildTestCore.java /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/util/hbck/TestOfflineMetaRebuildBase.java
          Hide
          Hudson added a comment -

          Integrated in HBase-0.94-security-on-Hadoop-23 #11 (See https://builds.apache.org/job/HBase-0.94-security-on-Hadoop-23/11/)
          HBASE-7626 Backport client connection cleanup from HBASE-7460 (Revision 1439723)

          Result = FAILURE
          garyh :
          Files :

          • /hbase/branches/0.94/security/src/main/java/org/apache/hadoop/hbase/ipc/SecureRpcEngine.java
          • /hbase/branches/0.94/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon
          • /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java
          • /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/ipc/HBaseClient.java
          • /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/ipc/HBaseRPC.java
          • /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/ipc/RpcEngine.java
          • /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/ipc/WritableRpcEngine.java
          • /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
          • /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.java
          • /hbase/branches/0.94/src/main/resources/hbase-webapps/master/table.jsp
          • /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/MiniHBaseCluster.java
          • /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/catalog/TestCatalogTracker.java
          • /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/catalog/TestMetaReaderEditorNoCluster.java
          • /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java
          • /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/ipc/TestDelayedRpc.java
          • /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/ipc/TestPBOnWritableRpc.java
          • /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/ipc/TestProtocolExtension.java
          • /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java
          • /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/master/TestHMasterRPCException.java
          • /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/util/hbck/OfflineMetaRebuildTestCore.java
          • /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/util/hbck/TestOfflineMetaRebuildBase.java
          Show
          Hudson added a comment - Integrated in HBase-0.94-security-on-Hadoop-23 #11 (See https://builds.apache.org/job/HBase-0.94-security-on-Hadoop-23/11/ ) HBASE-7626 Backport client connection cleanup from HBASE-7460 (Revision 1439723) Result = FAILURE garyh : Files : /hbase/branches/0.94/security/src/main/java/org/apache/hadoop/hbase/ipc/SecureRpcEngine.java /hbase/branches/0.94/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/ipc/HBaseClient.java /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/ipc/HBaseRPC.java /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/ipc/RpcEngine.java /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/ipc/WritableRpcEngine.java /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/replication/master/ReplicationLogCleaner.java /hbase/branches/0.94/src/main/resources/hbase-webapps/master/table.jsp /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/MiniHBaseCluster.java /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/catalog/TestCatalogTracker.java /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/catalog/TestMetaReaderEditorNoCluster.java /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/ipc/TestDelayedRpc.java /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/ipc/TestPBOnWritableRpc.java /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/ipc/TestProtocolExtension.java /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/master/TestHMasterRPCException.java /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/util/hbck/OfflineMetaRebuildTestCore.java /hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/util/hbck/TestOfflineMetaRebuildBase.java
          Hide
          stack added a comment -

          Marking closed.

          Show
          stack added a comment - Marking closed.

            People

            • Assignee:
              Gary Helmling
              Reporter:
              Gary Helmling
            • Votes:
              0 Vote for this issue
              Watchers:
              14 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development