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

Remove HTablePool and all HConnection pooling related APIs

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.0.0, 0.99.2
    • Component/s: None
    • Labels:
      None

      Description

      The recommended way is now:

      1. Create an HConnection: HConnectionManager.createConnection(...)
      2. Create a light HTable: HConnection.getTable(...)
      3. table.close()
      4. connection.close()

      All other API and pooling will be removed.

      1. HBASE-9117.00.patch
        137 kB
        Nick Dimiduk
      2. HBASE-9117.01.patch
        137 kB
        Nick Dimiduk
      3. HBASE-9117.02.patch
        165 kB
        Nick Dimiduk
      4. HBASE-9117.03.patch
        170 kB
        Nick Dimiduk
      5. HBASE-9117.04.patch
        170 kB
        Nick Dimiduk
      6. HBASE-9117.05.patch
        168 kB
        Nick Dimiduk
      7. HBASE-9117.06.patch
        307 kB
        Nick Dimiduk

        Issue Links

          Activity

          Hide
          lhofhansl Lars Hofhansl added a comment -

          More info in HBASE-6580

          Show
          lhofhansl Lars Hofhansl added a comment - More info in HBASE-6580
          Hide
          ndimiduk Nick Dimiduk added a comment -

          Taking a crack at deleting some code. Lars Hofhansl, please pick apart my decisions regarding what to delete.

          Show
          ndimiduk Nick Dimiduk added a comment - Taking a crack at deleting some code. Lars Hofhansl , please pick apart my decisions regarding what to delete.
          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/12612789/HBASE-9117.00.patch
          against trunk revision .

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

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

          +1 hadoop1.0. The patch compiles against the hadoop 1.0 profile.

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

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

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

          +1 findbugs. The patch does not introduce any 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 does not introduce lines longer than 100

          -1 site. The patch appears to cause mvn site goal to fail.

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

          -1 core zombie tests. There are 1 zombie test(s): at org.apache.hadoop.hbase.client.TestHBaseAdminNoCluster.testMasterMonitorCollableRetries(TestHBaseAdminNoCluster.java:80)

          Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/7793//testReport/
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7793//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7793//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7793//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7793//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7793//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7793//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7793//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7793//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7793//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
          Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/7793//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/12612789/HBASE-9117.00.patch against trunk revision . +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 90 new or modified tests. +1 hadoop1.0 . The patch compiles against the hadoop 1.0 profile. +1 hadoop2.0 . The patch compiles against the hadoop 2.0 profile. -1 javadoc . The javadoc tool appears to have generated 1 warning messages. +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 findbugs . The patch does not introduce any 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 does not introduce lines longer than 100 -1 site . The patch appears to cause mvn site goal to fail. -1 core tests . The patch failed these unit tests: -1 core zombie tests . There are 1 zombie test(s): at org.apache.hadoop.hbase.client.TestHBaseAdminNoCluster.testMasterMonitorCollableRetries(TestHBaseAdminNoCluster.java:80) Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/7793//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7793//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7793//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7793//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7793//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7793//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7793//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7793//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7793//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7793//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/7793//console This message is automatically generated.
          Hide
          stack stack added a comment -

          Nicolas Liochon Do the createConnections have a corresponding close?

          I suppose this a pretty radical change making it so every time we create a scanner, even if a short scanner, we make a new connection; that is more heavyweight?

          I love the cleanup.

          We going to break clients? I suppose we've deprecated for a long time now AND what we have is really messy to make sense of.

          Show
          stack stack added a comment - Nicolas Liochon Do the createConnections have a corresponding close? I suppose this a pretty radical change making it so every time we create a scanner, even if a short scanner, we make a new connection; that is more heavyweight? I love the cleanup. We going to break clients? I suppose we've deprecated for a long time now AND what we have is really messy to make sense of.
          Hide
          lhofhansl Lars Hofhansl added a comment -

          Thanks Nick Dimiduk, I'll take a look (probably tomorrow, busy with meeting all day today).

          Show
          lhofhansl Lars Hofhansl added a comment - Thanks Nick Dimiduk , I'll take a look (probably tomorrow, busy with meeting all day today).
          Hide
          nkeywal Nicolas Liochon added a comment -

          the createConnections have a corresponding close?

          Yes. Creating/Closing a connection is supposed to be expensive. It holds a connection to ZooKeeper, the region cache, this kind of stuff. I will need to look at the patch in details, but I'm not sure this part have been removed.

          Show
          nkeywal Nicolas Liochon added a comment - the createConnections have a corresponding close? Yes. Creating/Closing a connection is supposed to be expensive. It holds a connection to ZooKeeper, the region cache, this kind of stuff. I will need to look at the patch in details, but I'm not sure this part have been removed.
          Hide
          ndimiduk Nick Dimiduk added a comment -

          Rebased onto this week's activities. Conflicts were primarily around the nonces patch but nothing major. Going back through the tests.

          Show
          ndimiduk Nick Dimiduk added a comment - Rebased onto this week's activities. Conflicts were primarily around the nonces patch but nothing major. Going back through the tests.
          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/12614187/HBASE-9117.01.patch
          against trunk revision .

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

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

          +1 hadoop1.0. The patch compiles against the hadoop 1.0 profile.

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

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

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

          +1 findbugs. The patch does not introduce any 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 does not introduce lines longer than 100

          -1 site. The patch appears to cause mvn site goal to fail.

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

          -1 core zombie tests. There are 1 zombie test(s): at org.apache.hadoop.hbase.client.TestHBaseAdminNoCluster.testMasterMonitorCollableRetries(TestHBaseAdminNoCluster.java:80)

          Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/7895//testReport/
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7895//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7895//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7895//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7895//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7895//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7895//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7895//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7895//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7895//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
          Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/7895//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/12614187/HBASE-9117.01.patch against trunk revision . +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 90 new or modified tests. +1 hadoop1.0 . The patch compiles against the hadoop 1.0 profile. +1 hadoop2.0 . The patch compiles against the hadoop 2.0 profile. -1 javadoc . The javadoc tool appears to have generated 9 warning messages. +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 findbugs . The patch does not introduce any 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 does not introduce lines longer than 100 -1 site . The patch appears to cause mvn site goal to fail. -1 core tests . The patch failed these unit tests: -1 core zombie tests . There are 1 zombie test(s): at org.apache.hadoop.hbase.client.TestHBaseAdminNoCluster.testMasterMonitorCollableRetries(TestHBaseAdminNoCluster.java:80) Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/7895//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7895//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7895//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7895//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7895//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7895//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7895//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7895//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7895//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/7895//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/7895//console This message is automatically generated.
          Hide
          ndimiduk Nick Dimiduk added a comment -

          Backburnered but not forgotten. I've rebased onto trunk and fixed a handful of hanging tests. I think there's about four remaining to fix. Notable change here over the last patch are changes to HBaseTestingUtility and the introduction of HConnectionImplForTests. Let me know if you can think of a better way to handle this for the test harness. Once I have tests passing I'll have another look at some of the short scan performance implications the change addresses.

          Show
          ndimiduk Nick Dimiduk added a comment - Backburnered but not forgotten. I've rebased onto trunk and fixed a handful of hanging tests. I think there's about four remaining to fix. Notable change here over the last patch are changes to HBaseTestingUtility and the introduction of HConnectionImplForTests. Let me know if you can think of a better way to handle this for the test harness. Once I have tests passing I'll have another look at some of the short scan performance implications the change addresses.
          Hide
          ndimiduk Nick Dimiduk added a comment -

          Moved out of 0.98 for now. Once the patch stabilizes, we can work how what changes we want on which branches.

          Show
          ndimiduk Nick Dimiduk added a comment - Moved out of 0.98 for now. Once the patch stabilizes, we can work how what changes we want on which branches.
          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/12618457/HBASE-9117.02.patch
          against trunk revision .

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

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

          -1 hadoop1.0. The patch failed to compile against the hadoop 1.0 profile.
          Here is snippet of errors:

          [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile (default-compile) on project hbase-common: Compilation failure: Compilation failure:
          [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/util/Bytes.java:[51,15] sun.misc.Unsafe is Sun proprietary API and may be removed in a future release
          [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/util/ReflectionUtils.java:[23,20] package java.nio.file does not exist
          [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/util/Bytes.java:[1110,19] sun.misc.Unsafe is Sun proprietary API and may be removed in a future release
          [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/util/Bytes.java:[1116,21] sun.misc.Unsafe is Sun proprietary API and may be removed in a future release
          [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/util/Bytes.java:[1121,28] sun.misc.Unsafe is Sun proprietary API and may be removed in a future release
          --
          org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile (default-compile) on project hbase-common: Compilation failure
          	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:213)
          	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
          	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
          	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
          	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
          --
          Caused by: org.apache.maven.plugin.CompilationFailureException: Compilation failure
          	at org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:729)
          	at org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:128)
          	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
          	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
          	... 19 more

          Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/8143//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/12618457/HBASE-9117.02.patch against trunk revision . +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 104 new or modified tests. -1 hadoop1.0 . The patch failed to compile against the hadoop 1.0 profile. Here is snippet of errors: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile ( default -compile) on project hbase-common: Compilation failure: Compilation failure: [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/util/Bytes.java:[51,15] sun.misc.Unsafe is Sun proprietary API and may be removed in a future release [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/util/ReflectionUtils.java:[23,20] package java.nio.file does not exist [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/util/Bytes.java:[1110,19] sun.misc.Unsafe is Sun proprietary API and may be removed in a future release [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/util/Bytes.java:[1116,21] sun.misc.Unsafe is Sun proprietary API and may be removed in a future release [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/util/Bytes.java:[1121,28] sun.misc.Unsafe is Sun proprietary API and may be removed in a future release -- org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile ( default -compile) on project hbase-common: Compilation failure at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:213) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) -- Caused by: org.apache.maven.plugin.CompilationFailureException: Compilation failure at org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:729) at org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:128) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) ... 19 more Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/8143//console This message is automatically generated.
          Hide
          ndimiduk Nick Dimiduk added a comment -

          Rebased to trunk. Fixed a handful of hanging tests. Not sure what was up with the hadoop-1.0 profile build, works fine locally.

          I'd like to start a conversation about deprecating the HTable(Configuration) constructors in favor of the externally managed HConnection constructors. IMHO, in the absence of thorough documentation, the former provide too much rope.

          Show
          ndimiduk Nick Dimiduk added a comment - Rebased to trunk. Fixed a handful of hanging tests. Not sure what was up with the hadoop-1.0 profile build, works fine locally. I'd like to start a conversation about deprecating the HTable(Configuration) constructors in favor of the externally managed HConnection constructors. IMHO, in the absence of thorough documentation, the former provide too much rope.
          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/12621562/HBASE-9117.03.patch
          against trunk revision .
          ATTACHMENT ID: 12621562

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

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

          -1 hadoop1.0. The patch failed to compile against the hadoop 1.0 profile.
          Here is snippet of errors:

          [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile (default-compile) on project hbase-common: Compilation failure: Compilation failure:
          [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/util/Bytes.java:[51,15] sun.misc.Unsafe is Sun proprietary API and may be removed in a future release
          [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/util/ReflectionUtils.java:[23,20] package java.nio.file does not exist
          [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/util/Bytes.java:[1110,19] sun.misc.Unsafe is Sun proprietary API and may be removed in a future release
          [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/util/Bytes.java:[1116,21] sun.misc.Unsafe is Sun proprietary API and may be removed in a future release
          [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/util/Bytes.java:[1121,28] sun.misc.Unsafe is Sun proprietary API and may be removed in a future release
          --
          org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile (default-compile) on project hbase-common: Compilation failure
          	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:213)
          	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
          	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
          	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
          	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
          --
          Caused by: org.apache.maven.plugin.CompilationFailureException: Compilation failure
          	at org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:729)
          	at org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:128)
          	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
          	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
          	... 19 more

          Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/8345//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/12621562/HBASE-9117.03.patch against trunk revision . ATTACHMENT ID: 12621562 +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 120 new or modified tests. -1 hadoop1.0 . The patch failed to compile against the hadoop 1.0 profile. Here is snippet of errors: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile ( default -compile) on project hbase-common: Compilation failure: Compilation failure: [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/util/Bytes.java:[51,15] sun.misc.Unsafe is Sun proprietary API and may be removed in a future release [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/util/ReflectionUtils.java:[23,20] package java.nio.file does not exist [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/util/Bytes.java:[1110,19] sun.misc.Unsafe is Sun proprietary API and may be removed in a future release [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/util/Bytes.java:[1116,21] sun.misc.Unsafe is Sun proprietary API and may be removed in a future release [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/util/Bytes.java:[1121,28] sun.misc.Unsafe is Sun proprietary API and may be removed in a future release -- org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile ( default -compile) on project hbase-common: Compilation failure at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:213) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) -- Caused by: org.apache.maven.plugin.CompilationFailureException: Compilation failure at org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:729) at org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:128) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) ... 19 more Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/8345//console This message is automatically generated.
          Hide
          ndimiduk Nick Dimiduk added a comment -

          I haven't touched Bytes.java in this patch... I think it's not me, Jenkins; it's you. Would one of you fine karmic Jenkins fellows (stack, Andrew Purtell, Ted Yu) mind providing some insight into the state of this precommit build? This "java not found" business doesn't look healthy.

          [PreCommit-HBASE-Build] $ /bin/bash /tmp/hudson5672971179045787159.sh
          asf002.sp2.ygridcore.net
          Linux asf002.sp2.ygridcore.net 2.6.32-33-server #71-Ubuntu SMP Wed Jul 20 17:42:25 UTC 2011 x86_64 GNU/Linux
          /tmp/hudson5672971179045787159.sh: line 6: java: command not found
          /home/hudson/tools/java/latest1.7
          /tmp/hudson5672971179045787159.sh: line 8: /home/hudson/tools/java/latest1.7/bin/java: No such file or directory
          
          Show
          ndimiduk Nick Dimiduk added a comment - I haven't touched Bytes.java in this patch... I think it's not me, Jenkins; it's you. Would one of you fine karmic Jenkins fellows ( stack , Andrew Purtell , Ted Yu ) mind providing some insight into the state of this precommit build? This "java not found" business doesn't look healthy. [PreCommit-HBASE-Build] $ /bin/bash /tmp/hudson5672971179045787159.sh asf002.sp2.ygridcore.net Linux asf002.sp2.ygridcore.net 2.6.32-33-server #71-Ubuntu SMP Wed Jul 20 17:42:25 UTC 2011 x86_64 GNU/Linux /tmp/hudson5672971179045787159.sh: line 6: java: command not found /home/hudson/tools/java/latest1.7 /tmp/hudson5672971179045787159.sh: line 8: /home/hudson/tools/java/latest1.7/bin/java: No such file or directory
          Hide
          yuzhihong@gmail.com Ted Yu added a comment -

          @Nick:
          This was the real error compiling against hadoop 1.0 :

          [ERROR] /Users/tyu/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/util/ReflectionUtils.java:[23,20] package java.nio.file does not exist
          [INFO] 1 error
          
          Show
          yuzhihong@gmail.com Ted Yu added a comment - @Nick: This was the real error compiling against hadoop 1.0 : [ERROR] /Users/tyu/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/util/ReflectionUtils.java:[23,20] package java.nio.file does not exist [INFO] 1 error
          Hide
          ndimiduk Nick Dimiduk added a comment -

          Looks like a Java7 API. Let me correct the patch. Thanks for the pointer, Ted Yu.

          Show
          ndimiduk Nick Dimiduk added a comment - Looks like a Java7 API. Let me correct the patch. Thanks for the pointer, Ted Yu .
          Hide
          ndimiduk Nick Dimiduk added a comment -

          Here's an updated patch that compiles on Java6.

          Show
          ndimiduk Nick Dimiduk added a comment - Here's an updated patch that compiles on Java6.
          Hide
          apurtell Andrew Purtell added a comment -

          Why the hell are some precommit builds are apparently using Java 7 while others are using Java 6?

          Show
          apurtell Andrew Purtell added a comment - Why the hell are some precommit builds are apparently using Java 7 while others are using Java 6?
          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/12621655/HBASE-9117.04.patch
          against trunk revision .
          ATTACHMENT ID: 12621655

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

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

          +1 hadoop1.0. The patch compiles against the hadoop 1.0 profile.

          +1 hadoop1.1. The patch compiles against the hadoop 1.1 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 does not introduce any new Findbugs (version 1.3.9) warnings.

          -1 release audit. The applied patch generated 4 release audit warnings (more than the trunk's current 0 warnings).

          -1 lineLengths. The patch introduces the following lines longer than 100:
          + // HBaseAdmin only waits for regions to appear in hbase:meta we should wait until they are assigned
          + LOG.warn("close() called on HConnection instance returned from HBaseTestingUtility.getConnection()");
          + public static THBaseService.Iface newInstance(Configuration conf, ThriftMetrics metrics) throws IOException {

          -1 site. The patch appears to cause mvn site goal to fail.

          -1 core tests. The patch failed these unit tests:
          org.apache.hadoop.hbase.security.visibility.TestVisibilityLabelsWithACL
          org.apache.hadoop.hbase.security.access.TestTablePermissions
          org.apache.hadoop.hbase.TestZooKeeper
          org.apache.hadoop.hbase.client.TestMultiParallel
          org.apache.hadoop.hbase.security.access.TestAccessControlFilter
          org.apache.hadoop.hbase.client.TestHCM
          org.apache.hadoop.hbase.client.TestFromClientSide
          org.apache.hadoop.hbase.client.TestFromClientSideWithCoprocessor
          org.apache.hadoop.hbase.regionserver.TestEndToEndSplitTransaction
          org.apache.hadoop.hbase.master.TestAssignmentManager

          -1 core zombie tests. There are 7 zombie test(s): at org.apache.hadoop.hbase.master.TestMasterNoCluster.testNotPullingDeadRegionServerFromZK(TestMasterNoCluster.java:408)
          at org.apache.hadoop.hbase.mapreduce.TestLoadIncrementalHFiles.testNonexistentColumnFamilyLoad(TestLoadIncrementalHFiles.java:200)
          at org.apache.hadoop.hbase.client.TestMetaScanner.testConcurrentMetaScannerAndCatalogJanitor(TestMetaScanner.java:239)
          at org.apache.hadoop.hbase.util.TestHBaseFsck.testHBaseFsck(TestHBaseFsck.java:151)
          at org.apache.hadoop.hbase.io.encoding.TestChangingEncoding.testCrazyRandomChanges(TestChangingEncoding.java:252)

          Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/8349//testReport/
          Release audit warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8349//artifact/trunk/patchprocess/patchReleaseAuditProblems.txt
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8349//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8349//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8349//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8349//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8349//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8349//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8349//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8349//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8349//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
          Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/8349//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/12621655/HBASE-9117.04.patch against trunk revision . ATTACHMENT ID: 12621655 +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 120 new or modified tests. +1 hadoop1.0 . The patch compiles against the hadoop 1.0 profile. +1 hadoop1.1 . The patch compiles against the hadoop 1.1 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 does not introduce any new Findbugs (version 1.3.9) warnings. -1 release audit . The applied patch generated 4 release audit warnings (more than the trunk's current 0 warnings). -1 lineLengths . The patch introduces the following lines longer than 100: + // HBaseAdmin only waits for regions to appear in hbase:meta we should wait until they are assigned + LOG.warn("close() called on HConnection instance returned from HBaseTestingUtility.getConnection()"); + public static THBaseService.Iface newInstance(Configuration conf, ThriftMetrics metrics) throws IOException { -1 site . The patch appears to cause mvn site goal to fail. -1 core tests . The patch failed these unit tests: org.apache.hadoop.hbase.security.visibility.TestVisibilityLabelsWithACL org.apache.hadoop.hbase.security.access.TestTablePermissions org.apache.hadoop.hbase.TestZooKeeper org.apache.hadoop.hbase.client.TestMultiParallel org.apache.hadoop.hbase.security.access.TestAccessControlFilter org.apache.hadoop.hbase.client.TestHCM org.apache.hadoop.hbase.client.TestFromClientSide org.apache.hadoop.hbase.client.TestFromClientSideWithCoprocessor org.apache.hadoop.hbase.regionserver.TestEndToEndSplitTransaction org.apache.hadoop.hbase.master.TestAssignmentManager -1 core zombie tests . There are 7 zombie test(s): at org.apache.hadoop.hbase.master.TestMasterNoCluster.testNotPullingDeadRegionServerFromZK(TestMasterNoCluster.java:408) at org.apache.hadoop.hbase.mapreduce.TestLoadIncrementalHFiles.testNonexistentColumnFamilyLoad(TestLoadIncrementalHFiles.java:200) at org.apache.hadoop.hbase.client.TestMetaScanner.testConcurrentMetaScannerAndCatalogJanitor(TestMetaScanner.java:239) at org.apache.hadoop.hbase.util.TestHBaseFsck.testHBaseFsck(TestHBaseFsck.java:151) at org.apache.hadoop.hbase.io.encoding.TestChangingEncoding.testCrazyRandomChanges(TestChangingEncoding.java:252) Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/8349//testReport/ Release audit warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8349//artifact/trunk/patchprocess/patchReleaseAuditProblems.txt Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8349//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8349//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8349//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8349//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8349//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8349//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8349//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8349//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8349//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/8349//console This message is automatically generated.
          Hide
          ndimiduk Nick Dimiduk added a comment -

          Rebasing onto HBASE-10479. Ouch.

          Show
          ndimiduk Nick Dimiduk added a comment - Rebasing onto HBASE-10479 . Ouch.
          Hide
          enis Enis Soztutar added a comment -

          Thanks Nick for rekindling this jira. This looks pretty important for 1.0. Let me mark this as critical.
          HBASE-10479 did some cleanup around this, but more might be needed. I think we should still deprecate stuff rather than removing those for 1.0

          Show
          enis Enis Soztutar added a comment - Thanks Nick for rekindling this jira. This looks pretty important for 1.0. Let me mark this as critical. HBASE-10479 did some cleanup around this, but more might be needed. I think we should still deprecate stuff rather than removing those for 1.0
          Hide
          ndimiduk Nick Dimiduk added a comment -

          Rebased to HEAD of trunk. Compiles at least, probably lots of broken behavior and even more broken tests.

          As for deprecating vs removing, the biggest change that will be painful to deprecate is the Configuration-instance-based automagical connection management.

          Show
          ndimiduk Nick Dimiduk added a comment - Rebased to HEAD of trunk. Compiles at least, probably lots of broken behavior and even more broken tests. As for deprecating vs removing, the biggest change that will be painful to deprecate is the Configuration-instance-based automagical connection management.
          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/12630431/HBASE-9117.05.patch
          against trunk revision .
          ATTACHMENT ID: 12630431

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

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

          +1 hadoop1.0. The patch compiles against the hadoop 1.0 profile.

          +1 hadoop1.1. The patch compiles against the hadoop 1.1 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 does not introduce any 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 the following lines longer than 100:
          + // HBaseAdmin only waits for regions to appear in hbase:meta we should wait until they are assigned
          + LOG.warn("close() called on HConnection instance returned from HBaseTestingUtility.getConnection()");
          + public static THBaseService.Iface newInstance(Configuration conf, ThriftMetrics metrics) throws IOException {

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

          -1 core tests. The patch failed these unit tests:
          org.apache.hadoop.hbase.client.TestClientNoCluster

          Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/8773//testReport/
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8773//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8773//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8773//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8773//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8773//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8773//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8773//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8773//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8773//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
          Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/8773//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/12630431/HBASE-9117.05.patch against trunk revision . ATTACHMENT ID: 12630431 +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 116 new or modified tests. +1 hadoop1.0 . The patch compiles against the hadoop 1.0 profile. +1 hadoop1.1 . The patch compiles against the hadoop 1.1 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 does not introduce any 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 the following lines longer than 100: + // HBaseAdmin only waits for regions to appear in hbase:meta we should wait until they are assigned + LOG.warn("close() called on HConnection instance returned from HBaseTestingUtility.getConnection()"); + public static THBaseService.Iface newInstance(Configuration conf, ThriftMetrics metrics) throws IOException { +1 site . The mvn site goal succeeds with this patch. -1 core tests . The patch failed these unit tests: org.apache.hadoop.hbase.client.TestClientNoCluster Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/8773//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8773//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8773//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8773//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8773//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8773//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8773//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8773//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8773//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8773//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/8773//console This message is automatically generated.
          Hide
          ndimiduk Nick Dimiduk added a comment -

          Another WIP patch, I'm still working through failing/hanging tests in the small and med categories.

          Show
          ndimiduk Nick Dimiduk added a comment - Another WIP patch, I'm still working through failing/hanging tests in the small and med categories.
          Hide
          ndimiduk Nick Dimiduk added a comment -

          Now up on review board https://reviews.apache.org/r/18479/

          This is becoming quite a beast. Because it changes the semantics of passing around a Configuration object, it's hard to break down into pieces. I could probably do a series of structural changes, but the tests would fail/hang until all of them are applied.

          Show
          ndimiduk Nick Dimiduk added a comment - Now up on review board https://reviews.apache.org/r/18479/ This is becoming quite a beast. Because it changes the semantics of passing around a Configuration object, it's hard to break down into pieces. I could probably do a series of structural changes, but the tests would fail/hang until all of them are applied.
          Hide
          ndimiduk Nick Dimiduk added a comment -

          RB isn't behaving at all. I'm not sure if it's actually posted.

          Show
          ndimiduk Nick Dimiduk added a comment - RB isn't behaving at all. I'm not sure if it's actually posted.
          Hide
          stack stack added a comment -

          Nick Dimiduk

          I'm not sure if it's actually posted.

          It is up. I've been reviewing.

          Show
          stack stack added a comment - Nick Dimiduk I'm not sure if it's actually posted. It is up. I've been reviewing.
          Hide
          stack stack added a comment -

          I like what is up on rb. It is really great cleanup. Only question is what do we break when this goes in and when should it go in? For 1.0? Or post 1.0? We are removing deprecated public methods and we are rationalizing our 'awkward' API so all should be good right?

          Show
          stack stack added a comment - I like what is up on rb. It is really great cleanup. Only question is what do we break when this goes in and when should it go in? For 1.0? Or post 1.0? We are removing deprecated public methods and we are rationalizing our 'awkward' API so all should be good right?
          Hide
          enis Enis Soztutar added a comment -

          Only question is what do we break when this goes in and when should it go in? For 1.0? Or post 1.0? We are removing deprecated public methods and we are rationalizing our 'awkward' API so all should be good right?

          Some of them have only been deprecated in 0.99, not in 0.98 though.
          I am a +1 for doing this, but if there is a way to keep BC by implementing connection as a different layer so that we don't break clients relying on this that would be good.

          Show
          enis Enis Soztutar added a comment - Only question is what do we break when this goes in and when should it go in? For 1.0? Or post 1.0? We are removing deprecated public methods and we are rationalizing our 'awkward' API so all should be good right? Some of them have only been deprecated in 0.99, not in 0.98 though. I am a +1 for doing this, but if there is a way to keep BC by implementing connection as a different layer so that we don't break clients relying on this that would be good.
          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/12630995/HBASE-9117.06.patch
          against trunk revision .
          ATTACHMENT ID: 12630995

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

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

          +1 hadoop1.0. The patch compiles against the hadoop 1.0 profile.

          +1 hadoop1.1. The patch compiles against the hadoop 1.1 profile.

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

          -1 javac. The applied patch generated 5 javac compiler warnings (more than the trunk's current 4 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 the following lines longer than 100:
          + // HBaseAdmin only waits for regions to appear in hbase:meta we should wait until they are assigned
          + LOG.warn("close() called on HConnection instance returned from HBaseTestingUtility.getConnection()");
          + public static THBaseService.Iface newInstance(Configuration conf, ThriftMetrics metrics) throws IOException {

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

          -1 core tests. The patch failed these unit tests:
          org.apache.hadoop.hbase.util.TestMergeTable
          org.apache.hadoop.hbase.master.TestMasterRestartAfterDisablingTable
          org.apache.hadoop.hbase.io.encoding.TestLoadAndSwitchEncodeOnDisk
          org.apache.hadoop.hbase.util.TestMiniClusterLoadSequential
          org.apache.hadoop.hbase.client.TestMultiParallel
          org.apache.hadoop.hbase.replication.TestReplicationKillMasterRSCompressed
          org.apache.hadoop.hbase.io.encoding.TestChangingEncoding
          org.apache.hadoop.hbase.master.TestRegionPlacement
          org.apache.hadoop.hbase.mapreduce.TestHFileOutputFormat2
          org.apache.hadoop.hbase.replication.TestReplicationKillMasterRS
          org.apache.hadoop.hbase.replication.TestPerTableCFReplication
          org.apache.hadoop.hbase.replication.TestReplicationKillSlaveRS
          org.apache.hadoop.hbase.TestMultiVersions
          org.apache.hadoop.hbase.coprocessor.TestCoprocessorEndpoint
          org.apache.hadoop.hbase.security.visibility.TestVisibilityLabels
          org.apache.hadoop.hbase.regionserver.TestCompactionState
          org.apache.hadoop.hbase.mapreduce.TestTimeRangeMapRed
          org.apache.hadoop.hbase.rest.TestScannersWithLabels
          org.apache.hadoop.hbase.mapreduce.TestHFileOutputFormat
          org.apache.hadoop.hbase.mapreduce.TestImportTSVWithVisibilityLabels
          org.apache.hadoop.hbase.client.TestAdmin
          org.apache.hadoop.hbase.coprocessor.TestRegionServerObserver
          org.apache.hadoop.hbase.replication.TestReplicationSmallTests
          org.apache.hadoop.hbase.regionserver.TestSplitTransactionOnCluster
          org.apache.hadoop.hbase.TestZooKeeper
          org.apache.hadoop.hbase.replication.TestMultiSlaveReplication
          org.apache.hadoop.hbase.filter.TestFilterWrapper
          org.apache.hadoop.hbase.util.TestMiniClusterLoadParallel
          org.apache.hadoop.hbase.client.TestHCM
          org.apache.hadoop.hbase.replication.TestReplicationDisableInactivePeer
          org.apache.hadoop.hbase.client.TestFromClientSide3
          org.apache.hadoop.hbase.replication.TestReplicationChangingPeerRegionservers
          org.apache.hadoop.hbase.security.access.TestAccessControlFilter
          org.apache.hadoop.hbase.replication.TestMasterReplication
          org.apache.hadoop.hbase.util.TestMiniClusterLoadEncoded
          org.apache.hadoop.hbase.security.visibility.TestVisibilityLabelsOpWithDifferentUsersNoACL
          org.apache.hadoop.hbase.TestAcidGuarantees
          org.apache.hadoop.hbase.client.TestClientOperationInterrupt
          org.apache.hadoop.hbase.security.access.TestTablePermissions
          org.apache.hadoop.hbase.filter.TestFilterWithScanLimits
          org.apache.hadoop.hbase.regionserver.TestFSErrorsExposed
          org.apache.hadoop.hbase.util.TestRegionSplitter
          org.apache.hadoop.hbase.replication.TestReplicationSyncUpTool
          org.apache.hadoop.hbase.security.visibility.TestVisibilityLabelsWithDistributedLogReplay
          org.apache.hadoop.hbase.replication.TestReplicationWithTags

          -1 core zombie tests. There are 6 zombie test(s): at org.apache.hadoop.hbase.mapreduce.TestLoadIncrementalHFiles.testLoadTooMayHFiles(TestLoadIncrementalHFiles.java:380)
          at org.apache.hadoop.hbase.util.TestHBaseFsck.testMissingRegionInfoQualifier(TestHBaseFsck.java:1943)
          at org.apache.hadoop.hbase.master.TestMasterNoCluster.testNotPullingDeadRegionServerFromZK(TestMasterNoCluster.java:408)
          at org.apache.hadoop.hbase.rest.TestSchemaResource.testTableCreateAndDeletePB(TestSchemaResource.java:151)

          Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/8803//testReport/
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8803//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8803//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8803//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8803//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8803//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8803//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8803//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8803//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
          Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8803//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
          Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/8803//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/12630995/HBASE-9117.06.patch against trunk revision . ATTACHMENT ID: 12630995 +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 150 new or modified tests. +1 hadoop1.0 . The patch compiles against the hadoop 1.0 profile. +1 hadoop1.1 . The patch compiles against the hadoop 1.1 profile. -1 javadoc . The javadoc tool appears to have generated 1 warning messages. -1 javac . The applied patch generated 5 javac compiler warnings (more than the trunk's current 4 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 the following lines longer than 100: + // HBaseAdmin only waits for regions to appear in hbase:meta we should wait until they are assigned + LOG.warn("close() called on HConnection instance returned from HBaseTestingUtility.getConnection()"); + public static THBaseService.Iface newInstance(Configuration conf, ThriftMetrics metrics) throws IOException { +1 site . The mvn site goal succeeds with this patch. -1 core tests . The patch failed these unit tests: org.apache.hadoop.hbase.util.TestMergeTable org.apache.hadoop.hbase.master.TestMasterRestartAfterDisablingTable org.apache.hadoop.hbase.io.encoding.TestLoadAndSwitchEncodeOnDisk org.apache.hadoop.hbase.util.TestMiniClusterLoadSequential org.apache.hadoop.hbase.client.TestMultiParallel org.apache.hadoop.hbase.replication.TestReplicationKillMasterRSCompressed org.apache.hadoop.hbase.io.encoding.TestChangingEncoding org.apache.hadoop.hbase.master.TestRegionPlacement org.apache.hadoop.hbase.mapreduce.TestHFileOutputFormat2 org.apache.hadoop.hbase.replication.TestReplicationKillMasterRS org.apache.hadoop.hbase.replication.TestPerTableCFReplication org.apache.hadoop.hbase.replication.TestReplicationKillSlaveRS org.apache.hadoop.hbase.TestMultiVersions org.apache.hadoop.hbase.coprocessor.TestCoprocessorEndpoint org.apache.hadoop.hbase.security.visibility.TestVisibilityLabels org.apache.hadoop.hbase.regionserver.TestCompactionState org.apache.hadoop.hbase.mapreduce.TestTimeRangeMapRed org.apache.hadoop.hbase.rest.TestScannersWithLabels org.apache.hadoop.hbase.mapreduce.TestHFileOutputFormat org.apache.hadoop.hbase.mapreduce.TestImportTSVWithVisibilityLabels org.apache.hadoop.hbase.client.TestAdmin org.apache.hadoop.hbase.coprocessor.TestRegionServerObserver org.apache.hadoop.hbase.replication.TestReplicationSmallTests org.apache.hadoop.hbase.regionserver.TestSplitTransactionOnCluster org.apache.hadoop.hbase.TestZooKeeper org.apache.hadoop.hbase.replication.TestMultiSlaveReplication org.apache.hadoop.hbase.filter.TestFilterWrapper org.apache.hadoop.hbase.util.TestMiniClusterLoadParallel org.apache.hadoop.hbase.client.TestHCM org.apache.hadoop.hbase.replication.TestReplicationDisableInactivePeer org.apache.hadoop.hbase.client.TestFromClientSide3 org.apache.hadoop.hbase.replication.TestReplicationChangingPeerRegionservers org.apache.hadoop.hbase.security.access.TestAccessControlFilter org.apache.hadoop.hbase.replication.TestMasterReplication org.apache.hadoop.hbase.util.TestMiniClusterLoadEncoded org.apache.hadoop.hbase.security.visibility.TestVisibilityLabelsOpWithDifferentUsersNoACL org.apache.hadoop.hbase.TestAcidGuarantees org.apache.hadoop.hbase.client.TestClientOperationInterrupt org.apache.hadoop.hbase.security.access.TestTablePermissions org.apache.hadoop.hbase.filter.TestFilterWithScanLimits org.apache.hadoop.hbase.regionserver.TestFSErrorsExposed org.apache.hadoop.hbase.util.TestRegionSplitter org.apache.hadoop.hbase.replication.TestReplicationSyncUpTool org.apache.hadoop.hbase.security.visibility.TestVisibilityLabelsWithDistributedLogReplay org.apache.hadoop.hbase.replication.TestReplicationWithTags -1 core zombie tests . There are 6 zombie test(s): at org.apache.hadoop.hbase.mapreduce.TestLoadIncrementalHFiles.testLoadTooMayHFiles(TestLoadIncrementalHFiles.java:380) at org.apache.hadoop.hbase.util.TestHBaseFsck.testMissingRegionInfoQualifier(TestHBaseFsck.java:1943) at org.apache.hadoop.hbase.master.TestMasterNoCluster.testNotPullingDeadRegionServerFromZK(TestMasterNoCluster.java:408) at org.apache.hadoop.hbase.rest.TestSchemaResource.testTableCreateAndDeletePB(TestSchemaResource.java:151) Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/8803//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8803//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8803//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8803//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8803//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8803//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8803//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8803//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8803//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8803//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/8803//console This message is automatically generated.
          Hide
          apurtell Andrew Purtell added a comment -

          Only question is what do we break when this goes in and when should it go in? For 1.0? Or post 1.0? We are removing deprecated public methods and we are rationalizing our 'awkward' API so all should be good right?

          Some of them have only been deprecated in 0.99, not in 0.98 though.

          If you don't want to deprecate in 0.99 and remove in 1.0 (maybe you do), 0.98 is accepting deprecations for things to be removed in 0.99.

          Show
          apurtell Andrew Purtell added a comment - Only question is what do we break when this goes in and when should it go in? For 1.0? Or post 1.0? We are removing deprecated public methods and we are rationalizing our 'awkward' API so all should be good right? Some of them have only been deprecated in 0.99, not in 0.98 though. If you don't want to deprecate in 0.99 and remove in 1.0 (maybe you do), 0.98 is accepting deprecations for things to be removed in 0.99.
          Hide
          ndimiduk Nick Dimiduk added a comment -

          This patch is becoming unwieldy. Canceling patch and moving to independent subtasks.

          Show
          ndimiduk Nick Dimiduk added a comment - This patch is becoming unwieldy. Canceling patch and moving to independent subtasks.
          Hide
          ndimiduk Nick Dimiduk added a comment - - edited

          Here's what I have in mind in terms of breakdown of work.

           1. warn on connection cache hit (configurable, off by default. 0.98)
           2. deprecate all public HTable constructors (0.98)
           3. deprecate ConnectionManager#{delete,get}Connection (0.98)
           4. replace internal ConnectionManager#{delete,get}Connection use with #close, #createConnection (0.98, 0.99)
           5. replace internal HTable constructor use with HConnection#getTable (0.98, 0.99)
           6. delete all public HTable constructors (0.99)
           7. delete ConnectionManager#{delete,get}Connection (0.99)
          

          There's some other tasks mixed in there as well that will be required to replace internal usage patterns. Thinks like MetaReader#getRegionCount accepting an HConnection instance instead of a Configuration. Will tease those out as I go.

          Does this plan make sense? I don't want to create a bunch of JIRA noise without reasonable consensus. I'll push a pile of patches to a github branch so you can see what things are looking like.

          Formatting edited for legibility.

          Show
          ndimiduk Nick Dimiduk added a comment - - edited Here's what I have in mind in terms of breakdown of work. 1. warn on connection cache hit (configurable, off by default. 0.98) 2. deprecate all public HTable constructors (0.98) 3. deprecate ConnectionManager#{delete,get}Connection (0.98) 4. replace internal ConnectionManager#{delete,get}Connection use with #close, #createConnection (0.98, 0.99) 5. replace internal HTable constructor use with HConnection#getTable (0.98, 0.99) 6. delete all public HTable constructors (0.99) 7. delete ConnectionManager#{delete,get}Connection (0.99) There's some other tasks mixed in there as well that will be required to replace internal usage patterns. Thinks like MetaReader#getRegionCount accepting an HConnection instance instead of a Configuration. Will tease those out as I go. Does this plan make sense? I don't want to create a bunch of JIRA noise without reasonable consensus. I'll push a pile of patches to a github branch so you can see what things are looking like. Formatting edited for legibility.
          Hide
          ndimiduk Nick Dimiduk added a comment -

          Actually, #3 above has already been done.

          Show
          ndimiduk Nick Dimiduk added a comment - Actually, #3 above has already been done.
          Hide
          ndimiduk Nick Dimiduk added a comment -

          Given that connections will no longer be cached, HConnectionManager is really only a factory. We should evaluate whether this is necessary in a 1.0 API.

          Show
          ndimiduk Nick Dimiduk added a comment - Given that connections will no longer be cached, HConnectionManager is really only a factory. We should evaluate whether this is necessary in a 1.0 API.
          Hide
          ndimiduk Nick Dimiduk added a comment -

          I take that back, there are some get/deleteConnection components that need deprecating.

          Should also remove HTablePool as it's own item.

          Show
          ndimiduk Nick Dimiduk added a comment - I take that back, there are some get/deleteConnection components that need deprecating. Should also remove HTablePool as it's own item.
          Hide
          ndimiduk Nick Dimiduk added a comment -

          MetaScanner methods are all static and accept some variation of configuration and/or connection instance as parameters. We need to convert these all over to require an externally managed HConnection.

          Show
          ndimiduk Nick Dimiduk added a comment - MetaScanner methods are all static and accept some variation of configuration and/or connection instance as parameters. We need to convert these all over to require an externally managed HConnection.
          Hide
          enis Enis Soztutar added a comment -

          Here's what I have in mind in terms of breakdown of work.

          I think it makes a lot of sense to break it down.
          From your plan, it seems that you are suggesting we get rid of "managed" connections from HTable completely. I don't think we can do 4 and 5 in 0.98 that would be a big change.

          I am less in favor of 6 and 7, because it would imply that we break most of the clients, and the transition period is not enough.

          Given that connections will no longer be cached, HConnectionManager is really only a factory. We should evaluate whether this is necessary in a 1.0 API.

          I think it is good to keep it. We can just replace this with HConnection constructors, but since we already have it, we can keep it as the main factory. We can also do a clean ConnectionFactory class as well to replace it as a fresh start.

          Should also remove HTablePool as it's own item.

          I say deprecate instead of remove in 1.0

          Show
          enis Enis Soztutar added a comment - Here's what I have in mind in terms of breakdown of work. I think it makes a lot of sense to break it down. From your plan, it seems that you are suggesting we get rid of "managed" connections from HTable completely. I don't think we can do 4 and 5 in 0.98 that would be a big change. I am less in favor of 6 and 7, because it would imply that we break most of the clients, and the transition period is not enough. Given that connections will no longer be cached, HConnectionManager is really only a factory. We should evaluate whether this is necessary in a 1.0 API. I think it is good to keep it. We can just replace this with HConnection constructors, but since we already have it, we can keep it as the main factory. We can also do a clean ConnectionFactory class as well to replace it as a fresh start. Should also remove HTablePool as it's own item. I say deprecate instead of remove in 1.0
          Hide
          ndimiduk Nick Dimiduk added a comment -

          Same with VisibilityClient, AccessControlClient, AggregationClient, MetaReader#getRegionCount.

          Show
          ndimiduk Nick Dimiduk added a comment - Same with VisibilityClient, AccessControlClient, AggregationClient, MetaReader#getRegionCount.
          Hide
          ndimiduk Nick Dimiduk added a comment -

          I think it is good to keep it. We can just replace this with HConnection constructors, but since we already have it, we can keep it as the main factory.

          Actually, we have to keep it. HConnection is an interface.

          Show
          ndimiduk Nick Dimiduk added a comment - I think it is good to keep it. We can just replace this with HConnection constructors, but since we already have it, we can keep it as the main factory. Actually, we have to keep it. HConnection is an interface.
          Hide
          ndimiduk Nick Dimiduk added a comment -

          From your plan, it seems that you are suggesting we get rid of "managed" connections from HTable completely.

          That's correct. I believe this is inline with this ticket's scope.

          I don't think we can do 4 and 5 in 0.98 that would be a big change.

          It's internal only. Is it too large a change to consider for 0.98? The risk of destabilization too high?

          I am less in favor of 6 and 7, because it would imply that we break most of the clients, and the transition period is not enough.

          That's true, but then we're left with an API that isn't exercised internally and thus confidence in test coverage decreases.

          I wonder if it's better to implement the new APIs and replace this effort with a ticket to cut over to those APIs internally?

          Show
          ndimiduk Nick Dimiduk added a comment - From your plan, it seems that you are suggesting we get rid of "managed" connections from HTable completely. That's correct. I believe this is inline with this ticket's scope. I don't think we can do 4 and 5 in 0.98 that would be a big change. It's internal only. Is it too large a change to consider for 0.98? The risk of destabilization too high? I am less in favor of 6 and 7, because it would imply that we break most of the clients, and the transition period is not enough. That's true, but then we're left with an API that isn't exercised internally and thus confidence in test coverage decreases. I wonder if it's better to implement the new APIs and replace this effort with a ticket to cut over to those APIs internally?
          Hide
          enis Enis Soztutar added a comment -

          It's internal only. Is it too large a change to consider for 0.98? The risk of destabilization too high?

          I think it is.

          I wonder if it's better to implement the new APIs and replace this effort with a ticket to cut over to those APIs internally?

          It makes sense to first agree on the final version of the API's that we would like to keep and support, then deprecate the ones that are not recommended anymore, then move the internals to use the new APIs.

          Show
          enis Enis Soztutar added a comment - It's internal only. Is it too large a change to consider for 0.98? The risk of destabilization too high? I think it is. I wonder if it's better to implement the new APIs and replace this effort with a ticket to cut over to those APIs internally? It makes sense to first agree on the final version of the API's that we would like to keep and support, then deprecate the ones that are not recommended anymore, then move the internals to use the new APIs.
          Hide
          ndimiduk Nick Dimiduk added a comment -

          Here's a pile of commits, unwound from the above patches: https://github.com/ndimiduk/hbase/commits/HBASE-9117 It's not perfect, there's still more tests to clean up, but it's a start.

          Show
          ndimiduk Nick Dimiduk added a comment - Here's a pile of commits, unwound from the above patches: https://github.com/ndimiduk/hbase/commits/HBASE-9117 It's not perfect, there's still more tests to clean up, but it's a start.
          Hide
          stack stack added a comment -

          1. warn on connection cache hit (configurable, off by default. 0.98)

          What is the above Nick Dimiduk? Because we are going to undo caching connections?

          2. deprecate all public HTable constructors (0.98)

          +1

          3. deprecate ConnectionManager#{delete,get}Connection (0.98)

          These should not be public, right, so +1

          bq. 4. replace internal ConnectionManager#{delete,get}Connection use with #close, #createConnection (0.98, 0.99)

          Might be a bit radical for 0.98 since it is out but since internal, might be ok.

          5. replace internal HTable constructor use with HConnection#getTable (0.98, 0.99)

          ditto.

          6. delete all public HTable constructors (0.99)

          Ugh. Going by the rule book, there is not be enough deprecation time – given 0.98.0 has shipped. Putting on vendor hat, if 1.0 APIs stray from what is in 0.96, we'll not be able to ship hbase 1.0 any time soon.

          Ditto on #7.

          So, I'd be good w/ deprecations on APIs and doing internal moves....

          MetaReader stuff, the classes in catalog package are all bogus and should be private inside client. Just FYI if you get urge to rip them apart.

          I think HTablePool has to stay for 1.0 even though broke.

          On managed connections going away, where is the decision or is just the logical endpoint we've been coming to over years (the start was sometime after Lars Hofhansl showed up first and started going on about HTablePool being rubbish?) The Connection setup is heavy, right? To ZK, and then to RS. If a Connection per, is there sharing?

          Good on you Nick. Can we get some of the work in at least? The first few items in your list?

          Show
          stack stack added a comment - 1. warn on connection cache hit (configurable, off by default. 0.98) What is the above Nick Dimiduk ? Because we are going to undo caching connections? 2. deprecate all public HTable constructors (0.98) +1 3. deprecate ConnectionManager#{delete,get}Connection (0.98) These should not be public, right, so +1 bq. 4. replace internal ConnectionManager#{delete,get}Connection use with #close, #createConnection (0.98, 0.99) Might be a bit radical for 0.98 since it is out but since internal, might be ok. 5. replace internal HTable constructor use with HConnection#getTable (0.98, 0.99) ditto. 6. delete all public HTable constructors (0.99) Ugh. Going by the rule book, there is not be enough deprecation time – given 0.98.0 has shipped. Putting on vendor hat, if 1.0 APIs stray from what is in 0.96, we'll not be able to ship hbase 1.0 any time soon. Ditto on #7. So, I'd be good w/ deprecations on APIs and doing internal moves.... MetaReader stuff, the classes in catalog package are all bogus and should be private inside client. Just FYI if you get urge to rip them apart. I think HTablePool has to stay for 1.0 even though broke. On managed connections going away, where is the decision or is just the logical endpoint we've been coming to over years (the start was sometime after Lars Hofhansl showed up first and started going on about HTablePool being rubbish?) The Connection setup is heavy, right? To ZK, and then to RS. If a Connection per, is there sharing? Good on you Nick. Can we get some of the work in at least? The first few items in your list?
          Hide
          ndimiduk Nick Dimiduk added a comment -

          What is the above Nick Dimiduk? Because we are going to undo caching connections?

          Unless I'm mistaken, that's the meaning of "HConnection pooling related APIs". With no way to have a "managed" connection, the user must explicitly create and destroy their own. This warning will notify when this deprecated behavior is invoked.

          Might be a bit radical for 0.98 since it is out but since internal, might be ok.
          ditto.

          These are invasive yes. See WIP patches WIP.04, WIP.05, WIP.06 in the github branch.

          Going by the rule book, there is not be enough deprecation time – given 0.98.0 has shipped.

          Yes, that's true.

          I think HTablePool has to stay for 1.0 even though broke.

          I wish very much to at least get rid of this for 1.0 (even if the connection cache remains). It's difficult to use correctly and HConnection has been around long enough that people are using it mostly, I think. Further, if we introduce the new API as we've discussed with Enis Soztutar, 1.0 will ship with no fewer than 5 ways to acquire a handle on a cluster table (HTablePool#getTable, HTableFactory#createHTableInterface, "managed" HTables via constructor, HConnection#getTable, and whatever our new 1.0 API looks like). Surely we can drop something. The pool and the factory are my preference.

          The Connection setup is heavy, right? To ZK, and then to RS. If a Connection per, is there sharing?

          As I understand it, yes, it is heavy weight. That why the patch is large, I unwind placed were an implicitly cached connection is (hopefully) retrieved via Configuration and instead explicitly hold an HConnection and thread it through where a Configuration once went. That way, the connection is explicitly shared instead of implicitly via the cache. Easier to reason about, simpler to trace.

          Can we get some of the work in at least? The first few items in your list?

          I hope we can take it as far as removing use of the connection cache in our internal implementation for 1.0 (through WIP.06). Leave it around for users if we must, though by our rules, we won't be able to drop it until 2.0 at the earliest.

          Show
          ndimiduk Nick Dimiduk added a comment - What is the above Nick Dimiduk? Because we are going to undo caching connections? Unless I'm mistaken, that's the meaning of "HConnection pooling related APIs". With no way to have a "managed" connection, the user must explicitly create and destroy their own. This warning will notify when this deprecated behavior is invoked. Might be a bit radical for 0.98 since it is out but since internal, might be ok. ditto. These are invasive yes. See WIP patches WIP.04, WIP.05, WIP.06 in the github branch. Going by the rule book, there is not be enough deprecation time – given 0.98.0 has shipped. Yes, that's true. I think HTablePool has to stay for 1.0 even though broke. I wish very much to at least get rid of this for 1.0 (even if the connection cache remains). It's difficult to use correctly and HConnection has been around long enough that people are using it mostly, I think. Further, if we introduce the new API as we've discussed with Enis Soztutar , 1.0 will ship with no fewer than 5 ways to acquire a handle on a cluster table (HTablePool#getTable, HTableFactory#createHTableInterface, "managed" HTables via constructor, HConnection#getTable, and whatever our new 1.0 API looks like). Surely we can drop something . The pool and the factory are my preference. The Connection setup is heavy, right? To ZK, and then to RS. If a Connection per, is there sharing? As I understand it, yes, it is heavy weight. That why the patch is large, I unwind placed were an implicitly cached connection is (hopefully) retrieved via Configuration and instead explicitly hold an HConnection and thread it through where a Configuration once went. That way, the connection is explicitly shared instead of implicitly via the cache. Easier to reason about, simpler to trace. Can we get some of the work in at least? The first few items in your list? I hope we can take it as far as removing use of the connection cache in our internal implementation for 1.0 (through WIP.06). Leave it around for users if we must, though by our rules, we won't be able to drop it until 2.0 at the earliest.
          Hide
          stack stack added a comment -

          Further, if we introduce the new API as we've discussed with Enis Soztutar, 1.0 will ship with no fewer than 5 ways to acquire a handle on a cluster table ... Surely we can drop something. The pool and the factory are my preference.

          You have a point (smile). HTablePool has been deprecated with a while now, https://github.com/apache/hbase/commit/e4c01dac6bb9cb06a4319a5b2328163911f3aef4, since 0.96 by my reading so it should be safe to drop.

          Show
          stack stack added a comment - Further, if we introduce the new API as we've discussed with Enis Soztutar, 1.0 will ship with no fewer than 5 ways to acquire a handle on a cluster table ... Surely we can drop something. The pool and the factory are my preference. You have a point (smile). HTablePool has been deprecated with a while now, https://github.com/apache/hbase/commit/e4c01dac6bb9cb06a4319a5b2328163911f3aef4 , since 0.96 by my reading so it should be safe to drop.
          Hide
          ndimiduk Nick Dimiduk added a comment -

          The rub is, HTableFactory uses HTablePool, which is used by thrift2 (https://github.com/ndimiduk/hbase/commit/985dbad5119348245d6d5ebff4d8a68a2d4b2263). I could probably change it to use HConnection instead (and depend on connection cache).

          Show
          ndimiduk Nick Dimiduk added a comment - The rub is, HTableFactory uses HTablePool, which is used by thrift2 ( https://github.com/ndimiduk/hbase/commit/985dbad5119348245d6d5ebff4d8a68a2d4b2263 ). I could probably change it to use HConnection instead (and depend on connection cache).
          Hide
          stack stack added a comment -

          Sounds reasonable.

          Show
          stack stack added a comment - Sounds reasonable.
          Hide
          stack stack added a comment -

          How to proceed with this issue Nick Dimiduk given the lay of the land has changed under us w/ all the Table/Connection/Admin changes? Should I go through the patch as is and see what can be salvaged?

          Show
          stack stack added a comment - How to proceed with this issue Nick Dimiduk given the lay of the land has changed under us w/ all the Table/Connection/Admin changes? Should I go through the patch as is and see what can be salvaged?
          Hide
          enis Enis Soztutar added a comment -

          The patch here was a bit more aggressive in replacing most of the "managed" connection usage which I guess turned out very hard to proceed the review process.

          Shall we break this into more bitable pieces? Some stuff has already went in around these. Should we close this and open smaller jiras? Nick Dimiduk wdyt?

          Show
          enis Enis Soztutar added a comment - The patch here was a bit more aggressive in replacing most of the "managed" connection usage which I guess turned out very hard to proceed the review process. Shall we break this into more bitable pieces? Some stuff has already went in around these. Should we close this and open smaller jiras? Nick Dimiduk wdyt?
          Hide
          ndimiduk Nick Dimiduk added a comment -

          Probably the patch attached is not salvageable. Agreed, I bit off more than was reasonable for a single patch.

          Moving off the managed connection (whichever API) is still an important part of this refactor. Maybe it can be done module by module? It'll probably mean HBaseTestingUtility has loads of extra method signatures for a while.

          Show
          ndimiduk Nick Dimiduk added a comment - Probably the patch attached is not salvageable. Agreed, I bit off more than was reasonable for a single patch. Moving off the managed connection (whichever API) is still an important part of this refactor. Maybe it can be done module by module? It'll probably mean HBaseTestingUtility has loads of extra method signatures for a while.
          Hide
          stack stack added a comment -

          Nick Dimiduk Can you write out prescription of what you think needs doing? We can make this umbrella issue and then I can help do pieces.

          Show
          stack stack added a comment - Nick Dimiduk Can you write out prescription of what you think needs doing? We can make this umbrella issue and then I can help do pieces.
          Hide
          stack stack added a comment -

          Going through the patch, there is no CatalogTracker nor MetaReader any more. The 'managed' connections are still possible if you go by deprecated HTable constructors but we want to keep those for 1.0 (don't want to break folks rolling upgrade).

          [Dropping t]he pool and the factory are my preference.

          Pool was smartly moved out and over to thrfit2, the only package that needed it. HTableFactory is deprecated. Doesn't use pool anymore anyways.

          #2 and #3 in your list are done (for 0.99). We won't do #6 and #7 for 0.99. #1 is a nice-to-have. Should I do it?

          Will I start in on #4 and #5?

          Show
          stack stack added a comment - Going through the patch, there is no CatalogTracker nor MetaReader any more. The 'managed' connections are still possible if you go by deprecated HTable constructors but we want to keep those for 1.0 (don't want to break folks rolling upgrade). [Dropping t] he pool and the factory are my preference. Pool was smartly moved out and over to thrfit2, the only package that needed it. HTableFactory is deprecated. Doesn't use pool anymore anyways. #2 and #3 in your list are done (for 0.99). We won't do #6 and #7 for 0.99. #1 is a nice-to-have. Should I do it? Will I start in on #4 and #5?
          Hide
          stack stack added a comment -

          I started #5 in a subtask purging 'new HTable' and 'new HBaseAdmin' from internals. Its a massive job. Doing it for Tests too will be total pain. May skip some.

          Show
          stack stack added a comment - I started #5 in a subtask purging 'new HTable' and 'new HBaseAdmin' from internals. Its a massive job. Doing it for Tests too will be total pain. May skip some.
          Hide
          stack stack added a comment -

          Work described herein that is not needed for 1.0 has been punted out to post 1.0 in this linked issue.

          Show
          stack stack added a comment - Work described herein that is not needed for 1.0 has been punted out to post 1.0 in this linked issue.
          Hide
          stack stack added a comment -

          I am resolving this issue as done Nick Dimiduk. Hopefully you are good with that. Reopen if I have missed a detail but going over your patch and the above comments, I think we got the bulk covered.

          On your task list in particular:

          There is HBASE-12585, the doc, that has to be done still in a thorough manner but that should not get in the way of our resovling this (some doc has been applied to match then new mode – see linked doc JIRA HBASE-12400).

          Task 1 'warn on connection cache hit (configurable, off by default. 0.98)' in your list https://issues.apache.org/jira/browse/HBASE-9117?focusedCommentId=13919716&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13919716 would be easy, see patch below, but I think we are just going to piss folks off if we add a log every time a managed connection is made use of so I don't think we should do it; let the doc and deprecated API be sufficient.

          Task 2. 'deprecate all public HTable constructors (0.98)', from your list is done in 0.99. All but a constructor used internally marked InterfaceAudience Private have been deprecated. Ditto for HBaseAdmin.

          On Task 3. 'deprecate ConnectionManager#

          {delete,get}

          Connection (0.98)', has been done. There is no use of deleteConnection internally at least; all usage has been purged but for tests that verify 'managed' connections continue to work.

          Task 4 and 5 were done as subtasks of this one.

          Task 6, 'delete all public HTable constructors (0.99)', and task 7, '', are for post 1.0. They are a load of work converting all tests to use new API. I filed HBASE-12586 for these. They are not needed for 1.0 so have not made this new issue a subtask.

          More on task 1., I added below patch and then ran TestFromClientSide... there are many, many instances of the message in the logs:

          diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionManager.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionManager.java
          index 9d38549..b06f1e6 100644
          --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionManager.java
          +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionManager.java
          @@ -284,6 +284,11 @@ class ConnectionManager {
                   ConnectionManager.deleteConnection(connectionKey, true);
                   connection = (HConnectionImplementation)createConnection(conf, true);
                   CONNECTION_INSTANCES.put(connectionKey, connection);
          +      } else {
          +        LOG.warn("\"Managed\" connections are deprecated. Create and manage your own " +
          +          "Connection instance explicitly. See " +
          +          "http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/package-summary.html#client_example " +
          +          "for guidance");
                 }
                 connection.incCount();
                 return connection;
          
          257 2014-11-26 10:15:42,357 WARN  [main] client.ConnectionManager(288): "Managed" connections are deprecated. Create and manage your own Connection instance explicitly. See http://hbase.apache.org/apidocs    /org/apache/hadoop/hbase/client/package-summary.html#client_example for guidance
          
          Show
          stack stack added a comment - I am resolving this issue as done Nick Dimiduk . Hopefully you are good with that. Reopen if I have missed a detail but going over your patch and the above comments, I think we got the bulk covered. On your task list in particular: There is HBASE-12585 , the doc, that has to be done still in a thorough manner but that should not get in the way of our resovling this (some doc has been applied to match then new mode – see linked doc JIRA HBASE-12400 ). Task 1 'warn on connection cache hit (configurable, off by default. 0.98)' in your list https://issues.apache.org/jira/browse/HBASE-9117?focusedCommentId=13919716&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13919716 would be easy, see patch below, but I think we are just going to piss folks off if we add a log every time a managed connection is made use of so I don't think we should do it; let the doc and deprecated API be sufficient. Task 2. 'deprecate all public HTable constructors (0.98)', from your list is done in 0.99. All but a constructor used internally marked InterfaceAudience Private have been deprecated. Ditto for HBaseAdmin. On Task 3. 'deprecate ConnectionManager# {delete,get} Connection (0.98)', has been done. There is no use of deleteConnection internally at least; all usage has been purged but for tests that verify 'managed' connections continue to work. Task 4 and 5 were done as subtasks of this one. Task 6, 'delete all public HTable constructors (0.99)', and task 7, '', are for post 1.0. They are a load of work converting all tests to use new API. I filed HBASE-12586 for these. They are not needed for 1.0 so have not made this new issue a subtask. More on task 1., I added below patch and then ran TestFromClientSide... there are many, many instances of the message in the logs: diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionManager.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionManager.java index 9d38549..b06f1e6 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionManager.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionManager.java @@ -284,6 +284,11 @@ class ConnectionManager { ConnectionManager.deleteConnection(connectionKey, true ); connection = (HConnectionImplementation)createConnection(conf, true ); CONNECTION_INSTANCES.put(connectionKey, connection); + } else { + LOG.warn( "\" Managed\ " connections are deprecated. Create and manage your own " + + "Connection instance explicitly. See " + + "http: //hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/ package -summary.html#client_example " + + " for guidance" ); } connection.incCount(); return connection; 257 2014-11-26 10:15:42,357 WARN [main] client.ConnectionManager(288): "Managed" connections are deprecated. Create and manage your own Connection instance explicitly. See http: //hbase.apache.org/apidocs /org/apache/hadoop/hbase/client/ package -summary.html#client_example for guidance
          Hide
          mantonov Mikhail Antonov added a comment -

          So this issue says "remove HTablePool", but this class hasn't been actually removed from the codebase (and technically not annotated as Deprecated). Is it supposed to be removed now?

          Show
          mantonov Mikhail Antonov added a comment - So this issue says "remove HTablePool", but this class hasn't been actually removed from the codebase (and technically not annotated as Deprecated). Is it supposed to be removed now?
          Hide
          ndimiduk Nick Dimiduk added a comment -

          This ticket was more about "managed" vs "unmanaged" connections. HTablePool is indeed intended for removal, I guess that piece slipped through the cracks on this JIRA. There's more conversation over on HBASE-12728.

          Show
          ndimiduk Nick Dimiduk added a comment - This ticket was more about "managed" vs "unmanaged" connections. HTablePool is indeed intended for removal, I guess that piece slipped through the cracks on this JIRA. There's more conversation over on HBASE-12728 .
          Hide
          enis Enis Soztutar added a comment -

          Closing this issue after 0.99.2 release.

          Show
          enis Enis Soztutar added a comment - Closing this issue after 0.99.2 release.
          Hide
          hudson Hudson added a comment -

          FAILURE: Integrated in HBase-TRUNK #6265 (See https://builds.apache.org/job/HBase-TRUNK/6265/)
          HBASE-12586 Task 6 & 7 from HBASE-9117, delete all public HTable constructors and delete ConnectionManager#

          {delete,get}

          Connection (Mikhail Antonov) (stack: rev c5aca1919d774d2145005b748b3430a4b569922c)

          • hbase-server/src/main/java/org/apache/hadoop/hbase/mapred/TableInputFormatBase.java
          • hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTableFactory.java
          • hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestMasterReplication.java
          • hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTableInterfaceFactory.java
          • hbase-client/src/main/java/org/apache/hadoop/hbase/CoprocessorEnvironment.java
          • hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTable.java
          • hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestHTableWrapper.java
          • hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java
          • hbase-server/src/main/java/org/apache/hadoop/hbase/client/HTableWrapper.java
          • hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestTableInputFormat.java
          • hbase-server/src/test/java/org/apache/hadoop/hbase/security/visibility/ExpAsStringVisibilityLabelServiceImpl.java
          • hbase-server/src/test/java/org/apache/hadoop/hbase/client/HConnectionTestingUtility.java
          • hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestTableInputFormat.java
          • hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestHBaseFsck.java
          • hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionManager.java
          • hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.java
          • hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java
          • hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java
          • hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java
          • hbase-server/src/main/java/org/apache/hadoop/hbase/util/ConnectionCache.java
          Show
          hudson Hudson added a comment - FAILURE: Integrated in HBase-TRUNK #6265 (See https://builds.apache.org/job/HBase-TRUNK/6265/ ) HBASE-12586 Task 6 & 7 from HBASE-9117 , delete all public HTable constructors and delete ConnectionManager# {delete,get} Connection (Mikhail Antonov) (stack: rev c5aca1919d774d2145005b748b3430a4b569922c) hbase-server/src/main/java/org/apache/hadoop/hbase/mapred/TableInputFormatBase.java hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTableFactory.java hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestMasterReplication.java hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTableInterfaceFactory.java hbase-client/src/main/java/org/apache/hadoop/hbase/CoprocessorEnvironment.java hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTable.java hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestHTableWrapper.java hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java hbase-server/src/main/java/org/apache/hadoop/hbase/client/HTableWrapper.java hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestTableInputFormat.java hbase-server/src/test/java/org/apache/hadoop/hbase/security/visibility/ExpAsStringVisibilityLabelServiceImpl.java hbase-server/src/test/java/org/apache/hadoop/hbase/client/HConnectionTestingUtility.java hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestTableInputFormat.java hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestHBaseFsck.java hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionManager.java hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.java hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java hbase-server/src/main/java/org/apache/hadoop/hbase/util/ConnectionCache.java

            People

            • Assignee:
              ndimiduk Nick Dimiduk
              Reporter:
              lhofhansl Lars Hofhansl
            • Votes:
              0 Vote for this issue
              Watchers:
              15 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development