[jira] [Commented] (HBASE-11679) Replace HTable with HTableInterface where backwards-compatible
[ https://issues.apache.org/jira/browse/HBASE-11679?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14126762#comment-14126762 ] Hudson commented on HBASE-11679: FAILURE: Integrated in HBase-TRUNK #5481 (See [https://builds.apache.org/job/HBase-TRUNK/5481/]) HBASE-11679 Replace HTable with HTableInterface where backwards-compatible (Carter) (enis: rev 4995ed8a029feb8ccac8054f56f23261a6918add) * hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestTableInputFormat.java * hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSink.java * hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.java * hbase-server/src/test/java/org/apache/hadoop/hbase/TestZooKeeper.java * hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestCellACLs.java * hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/SnapshotTestingUtils.java * hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestHBaseAdminNoCluster.java * hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestLogRolling.java * hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestSnapshotMetadata.java * hbase-thrift/src/test/java/org/apache/hadoop/hbase/thrift2/TestThriftHBaseServiceHandlerWithLabels.java * hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestRpcControllerFactory.java * hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestTags.java * hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestMiniClusterLoadSequential.java * hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestHBaseFsck.java * hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestMultiSlaveReplication.java * hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestHBaseFsckEncryption.java * hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestRegionReplicaReplicationEndpoint.java * hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestScannerTimeout.java * hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java * hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestReplicasClient.java * hbase-server/src/main/java/org/apache/hadoop/hbase/util/RegionSizeCalculator.java * hbase-server/src/test/java/org/apache/hadoop/hbase/util/MultiThreadedUpdaterWithACL.java * hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentListener.java * hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat.java * hbase-server/src/test/java/org/apache/hadoop/hbase/TestMetaTableAccessor.java * hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterTransitions.java * hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMasterCommandLine.java * hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestMultithreadedTableMapper.java * hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestOpenTableInCoprocessor.java * hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestDistributedLogSplitting.java * hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java * hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestCellACLWithMultipleVersions.java * hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestNamespaceCommands.java * hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestImportExport.java * hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestLogRollPeriod.java * hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestTablePermissions.java * hbase-client/src/main/java/org/apache/hadoop/hbase/client/coprocessor/SecureBulkLoadClient.java * hbase-server/src/test/java/org/apache/hadoop/hbase/fs/TestBlockReorder.java * hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerMetrics.java * hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat.java * hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentManagerOnCluster.java * hbase-server/src/main/java/org/apache/hadoop/hbase/security/token/TokenUtil.java * hbase-thrift/src/test/java/org/apache/hadoop/hbase/thrift2/TestThriftHBaseServiceHandler.java * hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMultipleTimestamps.java * hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionReplicas.java * hbase-server/src/main/java/org/apache/hadoop/hbase/mapred/HRegionPartitioner.java * hbase-server/src/test/java/org/apache/hadoop/hbase/io/encoding/TestChangingEncoding.java * hbase-server/src/test/java/org/apache/hadoop/hbase/util/MultiThreadedWriter.java * hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAdmin.java * hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/IncrementCoalescer.java *
[jira] [Commented] (HBASE-11679) Replace HTable with HTableInterface where backwards-compatible
[ https://issues.apache.org/jira/browse/HBASE-11679?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14127419#comment-14127419 ] Carter commented on HBASE-11679: I should thank you for reviewing it. It was huge! Replace HTable with HTableInterface where backwards-compatible -- Key: HBASE-11679 URL: https://issues.apache.org/jira/browse/HBASE-11679 Project: HBase Issue Type: Improvement Reporter: Carter Assignee: Carter Fix For: 0.99.0, 2.0.0 Attachments: HBASE_11679.patch, HBASE_11679.patch, HBASE_11679_v3.patch, HBASE_11679_v4.patch, HBASE_11679_v5.patch, hbase-11679_v6-branch-1.patch, hbase-11679_v6.patch This is a refactor to move more of the code towards using interfaces for proper encapsulation of logic. The amount of code touched is large, but it should be fairly easy to review. It changes variable declarations from HTable to HTableInterface where the following holds: # The declaration being updated won't break assignment # The declaration change does not break the compile (eg trying to access non-interface methods) The two main situations are to change something like this: {code} HTable h = new HTable(c, tn); {code} to {code} HTableInterface h = new HTable(c, tn); {code} and this: {code} public void doSomething(HTable h) { ... } {code} to this: {code} public void doSomething(HTableInterface h) { ... } {code} This gets most of the obvious cases out of the way and prepares for more complicated interface refactors in the future. In method signatures, I changed parameters, but did _not_ change any public or protected method return values, since that would violate criteria #1 above and break compatibility. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-11679) Replace HTable with HTableInterface where backwards-compatible
[ https://issues.apache.org/jira/browse/HBASE-11679?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14127572#comment-14127572 ] Hudson commented on HBASE-11679: FAILURE: Integrated in HBase-1.0 #167 (See [https://builds.apache.org/job/HBase-1.0/167/]) HBASE-11679 Replace HTable with HTableInterface where backwards-compatible (Carter) (enis: rev b175042917f88aebcffa2b554da73273620af5b1) * hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestLogRollAbort.java * hbase-it/src/test/java/org/apache/hadoop/hbase/IntegrationTestLazyCfLoading.java * hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestEncryptionKeyRotation.java * hbase-server/src/main/java/org/apache/hadoop/hbase/mapred/HRegionPartitioner.java * hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestSnapshotCloneIndependence.java * hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java * hbase-it/src/test/java/org/apache/hadoop/hbase/mapreduce/IntegrationTestImportTsv.java * hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestImportTSVWithVisibilityLabels.java * hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionObserverBypass.java * hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/TableRecordReader.java * hbase-client/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlClient.java * hbase-thrift/src/test/java/org/apache/hadoop/hbase/thrift2/TestThriftHBaseServiceHandler.java * hbase-server/src/main/java/org/apache/hadoop/hbase/security/token/TokenUtil.java * hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestScannerWithBulkload.java * hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/DefaultVisibilityExpressionResolver.java * hbase-server/src/test/java/org/apache/hadoop/hbase/constraint/TestConstraint.java * hbase-server/src/test/java/org/apache/hadoop/hbase/util/MultiThreadedReader.java * hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestImportExport.java * hbase-server/src/main/java/org/apache/hadoop/hbase/tool/Canary.java * hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestTimeRangeMapRed.java * hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorEndpoint.java * hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestEncryptionRandomKeying.java * hbase-server/src/main/java/org/apache/hadoop/hbase/rest/SchemaResource.java * hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestExportSnapshot.java * hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestReplicaWithCluster.java * hbase-server/src/test/java/org/apache/hadoop/hbase/TestZooKeeper.java * hbase-server/src/test/java/org/apache/hadoop/hbase/security/visibility/TestVisibilityWithCheckAuths.java * hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController2.java * hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestScannersFromClientSide.java * hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestTimestampsFilter.java * hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat.java * hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java * hbase-it/src/test/java/org/apache/hadoop/hbase/DistributedHBaseCluster.java * hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/SnapshotTestingUtils.java * hbase-server/src/test/java/org/apache/hadoop/hbase/TestMultiVersions.java * hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterFailover.java * hbase-server/src/test/java/org/apache/hadoop/hbase/TestHBaseTestingUtility.java * hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestDistributedLogSplitting.java * hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/MultiTableInputFormatBase.java * hbase-server/src/test/java/org/apache/hadoop/hbase/util/MultiThreadedReaderWithACL.java * hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestHTableWrapper.java * hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestHBaseAdminNoCluster.java * hbase-server/src/test/java/org/apache/hadoop/hbase/rest/client/TestRemoteTable.java * hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestMasterReplication.java * hbase-server/src/test/java/org/apache/hadoop/hbase/ScanPerformanceEvaluation.java * hbase-server/src/test/java/org/apache/hadoop/hbase/fs/TestBlockReorder.java * hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestPutWithDelete.java * hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestReplicasClient.java * hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSink.java * hbase-server/src/test/java/org/apache/hadoop/hbase/util/hbck/OfflineMetaRebuildTestCore.java *
[jira] [Commented] (HBASE-11679) Replace HTable with HTableInterface where backwards-compatible
[ https://issues.apache.org/jira/browse/HBASE-11679?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14126529#comment-14126529 ] Hadoop QA commented on HBASE-11679: --- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12667330/hbase-11679_v6.patch against trunk revision . ATTACHMENT ID: 12667330 {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 483 new or modified tests. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 javadoc{color}. The javadoc tool did not generate any warning messages. {color:green}+1 findbugs{color}. The patch does not introduce any new Findbugs (version 2.0.3) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:red}-1 lineLengths{color}. The patch introduces the following lines longer than 100: + private static MapString,ListPut createRsPutMap(RegionLocator htable, ListPut puts) throws IOException { + private static MapString,ListRow createRsRowMap(RegionLocator htable, ListRow rows) throws IOException { + * Test for {@link HFileOutputFormat#configureDataBlockEncoding(org.apache.hadoop.hbase.client.Table, + * Test for {@link HFileOutputFormat2#configureDataBlockEncoding(org.apache.hadoop.hbase.client.Table, {color:green}+1 site{color}. The mvn site goal succeeds with this patch. {color:red}-1 core tests{color}. The patch failed these unit tests: org.apache.hadoop.hbase.master.TestRollingRestart Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/10753//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10753//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10753//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10753//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10753//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10753//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10753//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10753//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10753//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10753//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/10753//console This message is automatically generated. Replace HTable with HTableInterface where backwards-compatible -- Key: HBASE-11679 URL: https://issues.apache.org/jira/browse/HBASE-11679 Project: HBase Issue Type: Improvement Reporter: Carter Assignee: Carter Fix For: 2.0.0, 0.99.1 Attachments: HBASE_11679.patch, HBASE_11679.patch, HBASE_11679_v3.patch, HBASE_11679_v4.patch, HBASE_11679_v5.patch, hbase-11679_v6.patch This is a refactor to move more of the code towards using interfaces for proper encapsulation of logic. The amount of code touched is large, but it should be fairly easy to review. It changes variable declarations from HTable to HTableInterface where the following holds: # The declaration being updated won't break assignment # The declaration change does not break the compile (eg trying to access non-interface methods) The two main situations are to change something like this: {code} HTable h = new HTable(c, tn); {code} to {code} HTableInterface h = new HTable(c, tn); {code} and this: {code} public void doSomething(HTable h) { ... } {code} to this: {code} public void doSomething(HTableInterface h) { ... } {code} This gets most of the obvious cases out of the way and prepares for more complicated interface refactors in the future. In method signatures, I changed parameters, but did _not_ change
[jira] [Commented] (HBASE-11679) Replace HTable with HTableInterface where backwards-compatible
[ https://issues.apache.org/jira/browse/HBASE-11679?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14123042#comment-14123042 ] Carter commented on HBASE-11679: Patch added. There are many other things that can be cleaned up, but I wanted to grab all the uncontroversial, low-hanging fruit in one pass. Should be fairly easy to review, despite it being long. Replace HTable with HTableInterface where backwards-compatible -- Key: HBASE-11679 URL: https://issues.apache.org/jira/browse/HBASE-11679 Project: HBase Issue Type: Improvement Reporter: Carter Assignee: Carter Attachments: HBASE_11679.patch, HBASE_11679.patch, HBASE_11679_v3.patch, HBASE_11679_v4.patch This is a refactor to move more of the code towards using interfaces for proper encapsulation of logic. The amount of code touched is large, but it should be fairly easy to review. It changes variable declarations from HTable to HTableInterface where the following holds: # The declaration being updated won't break assignment # The declaration change does not break the compile (eg trying to access non-interface methods) The two main situations are to change something like this: {code} HTable h = new HTable(c, tn); {code} to {code} HTableInterface h = new HTable(c, tn); {code} and this: {code} public void doSomething(HTable h) { ... } {code} to this: {code} public void doSomething(HTableInterface h) { ... } {code} This gets most of the obvious cases out of the way and prepares for more complicated interface refactors in the future. In method signatures, I changed parameters, but did _not_ change any public or protected method return values, since that would violate criteria #1 above and break compatibility. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-11679) Replace HTable with HTableInterface where backwards-compatible
[ https://issues.apache.org/jira/browse/HBASE-11679?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14123049#comment-14123049 ] Hadoop QA commented on HBASE-11679: --- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12666804/HBASE_11679_v4.patch against trunk revision . ATTACHMENT ID: 12666804 {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 495 new or modified tests. {color:red}-1 javac{color}. The patch appears to cause mvn compile goal to fail. Compilation errors resume: [ERROR] COMPILATION ERROR : [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterStatusServlet.java:[84,8] error: method render in class MasterStatusTmpl cannot be applied to given types; [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile (default-compile) on project hbase-server: Compilation failure [ERROR] /home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterStatusServlet.java:[84,8] error: method render in class MasterStatusTmpl cannot be applied to given types; [ERROR] - [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException [ERROR] [ERROR] After correcting the problems, you can resume the build with the command [ERROR] mvn goals -rf :hbase-server Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/10725//console This message is automatically generated. Replace HTable with HTableInterface where backwards-compatible -- Key: HBASE-11679 URL: https://issues.apache.org/jira/browse/HBASE-11679 Project: HBase Issue Type: Improvement Reporter: Carter Assignee: Carter Attachments: HBASE_11679.patch, HBASE_11679.patch, HBASE_11679_v3.patch, HBASE_11679_v4.patch This is a refactor to move more of the code towards using interfaces for proper encapsulation of logic. The amount of code touched is large, but it should be fairly easy to review. It changes variable declarations from HTable to HTableInterface where the following holds: # The declaration being updated won't break assignment # The declaration change does not break the compile (eg trying to access non-interface methods) The two main situations are to change something like this: {code} HTable h = new HTable(c, tn); {code} to {code} HTableInterface h = new HTable(c, tn); {code} and this: {code} public void doSomething(HTable h) { ... } {code} to this: {code} public void doSomething(HTableInterface h) { ... } {code} This gets most of the obvious cases out of the way and prepares for more complicated interface refactors in the future. In method signatures, I changed parameters, but did _not_ change any public or protected method return values, since that would violate criteria #1 above and break compatibility. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-11679) Replace HTable with HTableInterface where backwards-compatible
[ https://issues.apache.org/jira/browse/HBASE-11679?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14123112#comment-14123112 ] Carter commented on HBASE-11679: Odd. Perhaps patch diff is against a slightly out-of-date master. Will fix and resubmit. Replace HTable with HTableInterface where backwards-compatible -- Key: HBASE-11679 URL: https://issues.apache.org/jira/browse/HBASE-11679 Project: HBase Issue Type: Improvement Reporter: Carter Assignee: Carter Attachments: HBASE_11679.patch, HBASE_11679.patch, HBASE_11679_v3.patch, HBASE_11679_v4.patch This is a refactor to move more of the code towards using interfaces for proper encapsulation of logic. The amount of code touched is large, but it should be fairly easy to review. It changes variable declarations from HTable to HTableInterface where the following holds: # The declaration being updated won't break assignment # The declaration change does not break the compile (eg trying to access non-interface methods) The two main situations are to change something like this: {code} HTable h = new HTable(c, tn); {code} to {code} HTableInterface h = new HTable(c, tn); {code} and this: {code} public void doSomething(HTable h) { ... } {code} to this: {code} public void doSomething(HTableInterface h) { ... } {code} This gets most of the obvious cases out of the way and prepares for more complicated interface refactors in the future. In method signatures, I changed parameters, but did _not_ change any public or protected method return values, since that would violate criteria #1 above and break compatibility. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-11679) Replace HTable with HTableInterface where backwards-compatible
[ https://issues.apache.org/jira/browse/HBASE-11679?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14123322#comment-14123322 ] Hadoop QA commented on HBASE-11679: --- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12666822/HBASE_11679_v5.patch against trunk revision . ATTACHMENT ID: 12666822 {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 492 new or modified tests. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 javadoc{color}. The javadoc tool did not generate any warning messages. {color:green}+1 findbugs{color}. The patch does not introduce any new Findbugs (version 2.0.3) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:red}-1 lineLengths{color}. The patch introduces the following lines longer than 100: + private static MapString,ListPut createRsPutMap(RegionLocator htable, ListPut puts) throws IOException { + private static MapString,ListRow createRsRowMap(RegionLocator htable, ListRow rows) throws IOException { + * Test for {@link HFileOutputFormat#configureDataBlockEncoding(org.apache.hadoop.hbase.client.Table, + * Test for {@link HFileOutputFormat2#configureDataBlockEncoding(org.apache.hadoop.hbase.client.Table, {color:green}+1 site{color}. The mvn site goal succeeds with this patch. {color:red}-1 core tests{color}. The patch failed these unit tests: org.apache.hadoop.hbase.replication.regionserver.TestReplicationThrottler Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/10728//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10728//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10728//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10728//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10728//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10728//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10728//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10728//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10728//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10728//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/10728//console This message is automatically generated. Replace HTable with HTableInterface where backwards-compatible -- Key: HBASE-11679 URL: https://issues.apache.org/jira/browse/HBASE-11679 Project: HBase Issue Type: Improvement Reporter: Carter Assignee: Carter Attachments: HBASE_11679.patch, HBASE_11679.patch, HBASE_11679_v3.patch, HBASE_11679_v4.patch, HBASE_11679_v5.patch This is a refactor to move more of the code towards using interfaces for proper encapsulation of logic. The amount of code touched is large, but it should be fairly easy to review. It changes variable declarations from HTable to HTableInterface where the following holds: # The declaration being updated won't break assignment # The declaration change does not break the compile (eg trying to access non-interface methods) The two main situations are to change something like this: {code} HTable h = new HTable(c, tn); {code} to {code} HTableInterface h = new HTable(c, tn); {code} and this: {code} public void doSomething(HTable h) { ... } {code} to this: {code} public void doSomething(HTableInterface h) { ... } {code} This gets most of the obvious cases out of the way and prepares for more complicated interface refactors in the future. In method signatures, I changed parameters, but did _not_ change any public or protected method
[jira] [Commented] (HBASE-11679) Replace HTable with HTableInterface where backwards-compatible
[ https://issues.apache.org/jira/browse/HBASE-11679?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14122060#comment-14122060 ] Carter commented on HBASE-11679: Okey doke. It's going to be easier to just redo the patch. IntelliJ makes this refactor a breeze, so I'm also refactoring for {{RegionLocator}} and the {{Admin}} interface. After running the tests and a manual review of the diff, I'll upload the new patch. Replace HTable with HTableInterface where backwards-compatible -- Key: HBASE-11679 URL: https://issues.apache.org/jira/browse/HBASE-11679 Project: HBase Issue Type: Improvement Reporter: Carter Assignee: Carter Attachments: HBASE_11679.patch, HBASE_11679.patch, HBASE_11679_v3.patch This is a refactor to move more of the code towards using interfaces for proper encapsulation of logic. The amount of code touched is large, but it should be fairly easy to review. It changes variable declarations from HTable to HTableInterface where the following holds: # The declaration being updated won't break assignment # The declaration change does not break the compile (eg trying to access non-interface methods) The two main situations are to change something like this: {code} HTable h = new HTable(c, tn); {code} to {code} HTableInterface h = new HTable(c, tn); {code} and this: {code} public void doSomething(HTable h) { ... } {code} to this: {code} public void doSomething(HTableInterface h) { ... } {code} This gets most of the obvious cases out of the way and prepares for more complicated interface refactors in the future. In method signatures, I changed parameters, but did _not_ change any public or protected method return values, since that would violate criteria #1 above and break compatibility. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-11679) Replace HTable with HTableInterface where backwards-compatible
[ https://issues.apache.org/jira/browse/HBASE-11679?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14118662#comment-14118662 ] Enis Soztutar commented on HBASE-11679: --- Great, we've got HBASE-11797 in. I think we can update this patch with Table instead of HTI and we should be ready to go! Replace HTable with HTableInterface where backwards-compatible -- Key: HBASE-11679 URL: https://issues.apache.org/jira/browse/HBASE-11679 Project: HBase Issue Type: Improvement Reporter: Carter Assignee: Carter Attachments: HBASE_11679.patch, HBASE_11679.patch, HBASE_11679_v3.patch This is a refactor to move more of the code towards using interfaces for proper encapsulation of logic. The amount of code touched is large, but it should be fairly easy to review. It changes variable declarations from HTable to HTableInterface where the following holds: # The declaration being updated won't break assignment # The declaration change does not break the compile (eg trying to access non-interface methods) The two main situations are to change something like this: {code} HTable h = new HTable(c, tn); {code} to {code} HTableInterface h = new HTable(c, tn); {code} and this: {code} public void doSomething(HTable h) { ... } {code} to this: {code} public void doSomething(HTableInterface h) { ... } {code} This gets most of the obvious cases out of the way and prepares for more complicated interface refactors in the future. In method signatures, I changed parameters, but did _not_ change any public or protected method return values, since that would violate criteria #1 above and break compatibility. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-11679) Replace HTable with HTableInterface where backwards-compatible
[ https://issues.apache.org/jira/browse/HBASE-11679?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14105407#comment-14105407 ] Carter commented on HBASE-11679: Enis, if you want, I'm happy to start work onTable interface as you've described it in HBASE-10602. Replace HTable with HTableInterface where backwards-compatible -- Key: HBASE-11679 URL: https://issues.apache.org/jira/browse/HBASE-11679 Project: HBase Issue Type: Improvement Reporter: Carter Assignee: Carter Attachments: HBASE_11679.patch, HBASE_11679.patch, HBASE_11679_v3.patch This is a refactor to move more of the code towards using interfaces for proper encapsulation of logic. The amount of code touched is large, but it should be fairly easy to review. It changes variable declarations from HTable to HTableInterface where the following holds: # The declaration being updated won't break assignment # The declaration change does not break the compile (eg trying to access non-interface methods) The two main situations are to change something like this: {code} HTable h = new HTable(c, tn); {code} to {code} HTableInterface h = new HTable(c, tn); {code} and this: {code} public void doSomething(HTable h) { ... } {code} to this: {code} public void doSomething(HTableInterface h) { ... } {code} This gets most of the obvious cases out of the way and prepares for more complicated interface refactors in the future. In method signatures, I changed parameters, but did _not_ change any public or protected method return values, since that would violate criteria #1 above and break compatibility. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (HBASE-11679) Replace HTable with HTableInterface where backwards-compatible
[ https://issues.apache.org/jira/browse/HBASE-11679?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14105696#comment-14105696 ] Enis Soztutar commented on HBASE-11679: --- That would be awesome, I have my hands full on other stuff right now. Replace HTable with HTableInterface where backwards-compatible -- Key: HBASE-11679 URL: https://issues.apache.org/jira/browse/HBASE-11679 Project: HBase Issue Type: Improvement Reporter: Carter Assignee: Carter Attachments: HBASE_11679.patch, HBASE_11679.patch, HBASE_11679_v3.patch This is a refactor to move more of the code towards using interfaces for proper encapsulation of logic. The amount of code touched is large, but it should be fairly easy to review. It changes variable declarations from HTable to HTableInterface where the following holds: # The declaration being updated won't break assignment # The declaration change does not break the compile (eg trying to access non-interface methods) The two main situations are to change something like this: {code} HTable h = new HTable(c, tn); {code} to {code} HTableInterface h = new HTable(c, tn); {code} and this: {code} public void doSomething(HTable h) { ... } {code} to this: {code} public void doSomething(HTableInterface h) { ... } {code} This gets most of the obvious cases out of the way and prepares for more complicated interface refactors in the future. In method signatures, I changed parameters, but did _not_ change any public or protected method return values, since that would violate criteria #1 above and break compatibility. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (HBASE-11679) Replace HTable with HTableInterface where backwards-compatible
[ https://issues.apache.org/jira/browse/HBASE-11679?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14105714#comment-14105714 ] Carter commented on HBASE-11679: Created HBASE-11797 and starting discussion over there. Replace HTable with HTableInterface where backwards-compatible -- Key: HBASE-11679 URL: https://issues.apache.org/jira/browse/HBASE-11679 Project: HBase Issue Type: Improvement Reporter: Carter Assignee: Carter Attachments: HBASE_11679.patch, HBASE_11679.patch, HBASE_11679_v3.patch This is a refactor to move more of the code towards using interfaces for proper encapsulation of logic. The amount of code touched is large, but it should be fairly easy to review. It changes variable declarations from HTable to HTableInterface where the following holds: # The declaration being updated won't break assignment # The declaration change does not break the compile (eg trying to access non-interface methods) The two main situations are to change something like this: {code} HTable h = new HTable(c, tn); {code} to {code} HTableInterface h = new HTable(c, tn); {code} and this: {code} public void doSomething(HTable h) { ... } {code} to this: {code} public void doSomething(HTableInterface h) { ... } {code} This gets most of the obvious cases out of the way and prepares for more complicated interface refactors in the future. In method signatures, I changed parameters, but did _not_ change any public or protected method return values, since that would violate criteria #1 above and break compatibility. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (HBASE-11679) Replace HTable with HTableInterface where backwards-compatible
[ https://issues.apache.org/jira/browse/HBASE-11679?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14092963#comment-14092963 ] Hadoop QA commented on HBASE-11679: --- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12660995/HBASE_11679_v3.patch against trunk revision . ATTACHMENT ID: 12660995 {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 435 new or modified tests. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 javadoc{color}. The javadoc tool did not generate any warning messages. {color:green}+1 findbugs{color}. The patch does not introduce any new Findbugs (version 2.0.3) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:red}-1 lineLengths{color}. The patch introduces the following lines longer than 100: + public static void addRegionToMeta(HTableInterface meta, HRegionInfo regionInfo) throws IOException { + final HTableInterface table, final ColumnInterpreterR, S, P, Q, T ci, Scan scan) throws Throwable { + final HTableInterface table, ColumnInterpreterR, S, P, Q, T ci, Scan scan) throws Throwable { + public int loadTable(final HTableInterface t, final byte[] f, boolean writeToWAL) throws IOException { +HTableInterface table = TEST_UTIL.createTable(Bytes.toBytes(testRowsPutBufferedManyManyFlushes), + private Mapbyte [], String hello(final HTableInterface table, final String send, final String response) +HTableInterface acl = new HTable(util.getConfiguration(), AccessControlLists.ACL_TABLE_NAME); +HTableInterface acl = new HTable(util.getConfiguration(), AccessControlLists.ACL_TABLE_NAME); +HTableInterface acl = new HTable(util.getConfiguration(), AccessControlLists.ACL_TABLE_NAME); +HTableInterface acl = new HTable(util.getConfiguration(), AccessControlLists.ACL_TABLE_NAME); {color:green}+1 site{color}. The mvn site goal succeeds with this patch. {color:red}-1 core tests{color}. The patch failed these unit tests: org.apache.hadoop.hbase.mapreduce.TestLoadIncrementalHFilesSplitRecovery org.apache.hadoop.hbase.TestRegionRebalancing org.apache.hadoop.hbase.mapreduce.TestSecureLoadIncrementalHFilesSplitRecovery Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/10384//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10384//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10384//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10384//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10384//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10384//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10384//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10384//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10384//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10384//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/10384//console This message is automatically generated. Replace HTable with HTableInterface where backwards-compatible -- Key: HBASE-11679 URL: https://issues.apache.org/jira/browse/HBASE-11679 Project: HBase Issue Type: Improvement Reporter: Carter Assignee: Carter Attachments: HBASE_11679.patch, HBASE_11679.patch, HBASE_11679_v3.patch This is a refactor to move more of the code towards using interfaces for proper encapsulation of logic. The amount of code touched is large, but it should be fairly easy to review. It changes variable declarations from HTable to
[jira] [Commented] (HBASE-11679) Replace HTable with HTableInterface where backwards-compatible
[ https://issues.apache.org/jira/browse/HBASE-11679?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14093293#comment-14093293 ] Enis Soztutar commented on HBASE-11679: --- Sorry, back from vacation. I'll take a look. Personally, I would prefer we do HBASE-10602 first then do this patch, but use the new Table interface (which is a much better name than HTableInterface) {code} interface Table { // get, put related stuff } @Deprecated interface HTableInterface extends Table { // users are encouraged to use the new Table interface } class HTable extends Table { // all HTable constructors are deprecated // Users are not encouraged to see this class } {code} HBASE-10602 is a bit more involved than just HTable changes (because HBaseAdmin, and HCM changes as well). I can break those out and do a quick patch as a subtask if you are ok. Replace HTable with HTableInterface where backwards-compatible -- Key: HBASE-11679 URL: https://issues.apache.org/jira/browse/HBASE-11679 Project: HBase Issue Type: Improvement Reporter: Carter Assignee: Carter Attachments: HBASE_11679.patch, HBASE_11679.patch, HBASE_11679_v3.patch This is a refactor to move more of the code towards using interfaces for proper encapsulation of logic. The amount of code touched is large, but it should be fairly easy to review. It changes variable declarations from HTable to HTableInterface where the following holds: # The declaration being updated won't break assignment # The declaration change does not break the compile (eg trying to access non-interface methods) The two main situations are to change something like this: {code} HTable h = new HTable(c, tn); {code} to {code} HTableInterface h = new HTable(c, tn); {code} and this: {code} public void doSomething(HTable h) { ... } {code} to this: {code} public void doSomething(HTableInterface h) { ... } {code} This gets most of the obvious cases out of the way and prepares for more complicated interface refactors in the future. In method signatures, I changed parameters, but did _not_ change any public or protected method return values, since that would violate criteria #1 above and break compatibility. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (HBASE-11679) Replace HTable with HTableInterface where backwards-compatible
[ https://issues.apache.org/jira/browse/HBASE-11679?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14093342#comment-14093342 ] Carter commented on HBASE-11679: Works for me. I didn't know how far away the Table interface was from being added. Once that's in, I can merge down again, and the replace the _HTableInterface_ deltas in my patch with _Table_ and make that my patch instead. Replace HTable with HTableInterface where backwards-compatible -- Key: HBASE-11679 URL: https://issues.apache.org/jira/browse/HBASE-11679 Project: HBase Issue Type: Improvement Reporter: Carter Assignee: Carter Attachments: HBASE_11679.patch, HBASE_11679.patch, HBASE_11679_v3.patch This is a refactor to move more of the code towards using interfaces for proper encapsulation of logic. The amount of code touched is large, but it should be fairly easy to review. It changes variable declarations from HTable to HTableInterface where the following holds: # The declaration being updated won't break assignment # The declaration change does not break the compile (eg trying to access non-interface methods) The two main situations are to change something like this: {code} HTable h = new HTable(c, tn); {code} to {code} HTableInterface h = new HTable(c, tn); {code} and this: {code} public void doSomething(HTable h) { ... } {code} to this: {code} public void doSomething(HTableInterface h) { ... } {code} This gets most of the obvious cases out of the way and prepares for more complicated interface refactors in the future. In method signatures, I changed parameters, but did _not_ change any public or protected method return values, since that would violate criteria #1 above and break compatibility. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (HBASE-11679) Replace HTable with HTableInterface where backwards-compatible
[ https://issues.apache.org/jira/browse/HBASE-11679?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14088892#comment-14088892 ] Hadoop QA commented on HBASE-11679: --- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12660322/HBASE_11679.patch against trunk revision . ATTACHMENT ID: 12660322 {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 444 new or modified tests. {color:red}-1 patch{color}. The patch command could not apply the patch. Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/10334//console This message is automatically generated. Replace HTable with HTableInterface where backwards-compatible -- Key: HBASE-11679 URL: https://issues.apache.org/jira/browse/HBASE-11679 Project: HBase Issue Type: Improvement Reporter: Carter Assignee: Carter Attachments: HBASE_11679.patch, HBASE_11679.patch This is a refactor to move more of the code towards using interfaces for proper encapsulation of logic. The amount of code touched is large, but it should be fairly easy to review. It changes variable declarations from HTable to HTableInterface where the following holds: # The declaration being updated won't break assignment # The declaration change does not break the compile (eg trying to access non-interface methods) The two main situations are to change something like this: {code} HTable h = new HTable(c, tn); {code} to {code} HTableInterface h = new HTable(c, tn); {code} and this: {code} public void doSomething(HTable h) { ... } {code} to this: {code} public void doSomething(HTableInterface h) { ... } {code} This gets most of the obvious cases out of the way and prepares for more complicated interface refactors in the future. In method signatures, I changed parameters, but did _not_ change any public or protected method return values, since that would violate criteria #1 above and break compatibility. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (HBASE-11679) Replace HTable with HTableInterface where backwards-compatible
[ https://issues.apache.org/jira/browse/HBASE-11679?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14089386#comment-14089386 ] stack commented on HBASE-11679: --- Fails to apply since yesterday's big commit (files removed and two little rejects). I tried to bring it over but TestEndToEndSplitTransaction proves a little awkward. See what you think [~carterpage] Went through the patch looking for API breakage to see if ...did not change any public or protected method return values, since that would violate criteria #1 above and break compatibility holds. LGTM. Bulk of changes are in test otherwise, internal changes; no API change. +1 on commit to master. +1 on commit to branch-1 but such a big change probably needs [~enis] blessing. Replace HTable with HTableInterface where backwards-compatible -- Key: HBASE-11679 URL: https://issues.apache.org/jira/browse/HBASE-11679 Project: HBase Issue Type: Improvement Reporter: Carter Assignee: Carter Attachments: HBASE_11679.patch, HBASE_11679.patch This is a refactor to move more of the code towards using interfaces for proper encapsulation of logic. The amount of code touched is large, but it should be fairly easy to review. It changes variable declarations from HTable to HTableInterface where the following holds: # The declaration being updated won't break assignment # The declaration change does not break the compile (eg trying to access non-interface methods) The two main situations are to change something like this: {code} HTable h = new HTable(c, tn); {code} to {code} HTableInterface h = new HTable(c, tn); {code} and this: {code} public void doSomething(HTable h) { ... } {code} to this: {code} public void doSomething(HTableInterface h) { ... } {code} This gets most of the obvious cases out of the way and prepares for more complicated interface refactors in the future. In method signatures, I changed parameters, but did _not_ change any public or protected method return values, since that would violate criteria #1 above and break compatibility. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (HBASE-11679) Replace HTable with HTableInterface where backwards-compatible
[ https://issues.apache.org/jira/browse/HBASE-11679?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14089434#comment-14089434 ] Carter commented on HBASE-11679: I'll merge down and confirm there are no deltas in the test results between it and master. That shouldnt hold up Enis from try taking a look. Replace HTable with HTableInterface where backwards-compatible -- Key: HBASE-11679 URL: https://issues.apache.org/jira/browse/HBASE-11679 Project: HBase Issue Type: Improvement Reporter: Carter Assignee: Carter Attachments: HBASE_11679.patch, HBASE_11679.patch This is a refactor to move more of the code towards using interfaces for proper encapsulation of logic. The amount of code touched is large, but it should be fairly easy to review. It changes variable declarations from HTable to HTableInterface where the following holds: # The declaration being updated won't break assignment # The declaration change does not break the compile (eg trying to access non-interface methods) The two main situations are to change something like this: {code} HTable h = new HTable(c, tn); {code} to {code} HTableInterface h = new HTable(c, tn); {code} and this: {code} public void doSomething(HTable h) { ... } {code} to this: {code} public void doSomething(HTableInterface h) { ... } {code} This gets most of the obvious cases out of the way and prepares for more complicated interface refactors in the future. In method signatures, I changed parameters, but did _not_ change any public or protected method return values, since that would violate criteria #1 above and break compatibility. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (HBASE-11679) Replace HTable with HTableInterface where backwards-compatible
[ https://issues.apache.org/jira/browse/HBASE-11679?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14086800#comment-14086800 ] Carter commented on HBASE-11679: If it takes a while to review and gets out of sync with master, please bounce it back to me. I'll merge down and resubmit as needed. Replace HTable with HTableInterface where backwards-compatible -- Key: HBASE-11679 URL: https://issues.apache.org/jira/browse/HBASE-11679 Project: HBase Issue Type: Improvement Reporter: Carter Assignee: Carter Attachments: HBASE_11679.patch This is a refactor to move more of the code towards using interfaces for proper encapsulation of logic. The amount of code touched is large, but it should be fairly easy to review. It changes variable declarations from HTable to HTableInterface where the following holds: # The declaration being updated won't break assignment # The declaration change does not break the compile (eg trying to access non-interface methods) The two main situations are to change something like this: {code} HTable h = new HTable(c, tn); {code} to {code} HTableInterface h = new HTable(c, tn); {code} and this: {code} public void doSomething(HTable h) { ... } {code} to this: {code} public void doSomething(HTableInterface h) { ... } {code} This gets most of the obvious cases out of the way and prepares for more complicated interface refactors in the future. In method signatures, I changed parameters, but did _not_ change any public or protected method return values, since that would violate criteria #1 above and break compatibility. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (HBASE-11679) Replace HTable with HTableInterface where backwards-compatible
[ https://issues.apache.org/jira/browse/HBASE-11679?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14086924#comment-14086924 ] Hadoop QA commented on HBASE-11679: --- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12659951/HBASE_11679.patch against trunk revision . ATTACHMENT ID: 12659951 {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 444 new or modified tests. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 javadoc{color}. The javadoc tool did not generate any warning messages. {color:green}+1 findbugs{color}. The patch does not introduce any new Findbugs (version 2.0.3) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:red}-1 lineLengths{color}. The patch introduces the following lines longer than 100: + public static void addRegionToMeta(HTableInterface meta, HRegionInfo regionInfo) throws IOException { + final HTableInterface table, final ColumnInterpreterR, S, P, Q, T ci, Scan scan) throws Throwable { + final HTableInterface table, ColumnInterpreterR, S, P, Q, T ci, Scan scan) throws Throwable { + public int loadTable(final HTableInterface t, final byte[] f, boolean writeToWAL) throws IOException { +HTableInterface table = TEST_UTIL.createTable(Bytes.toBytes(testRowsPutBufferedManyManyFlushes), + private Mapbyte [], String hello(final HTableInterface table, final String send, final String response) +HTableInterface acl = new HTable(util.getConfiguration(), AccessControlLists.ACL_TABLE_NAME); +HTableInterface acl = new HTable(util.getConfiguration(), AccessControlLists.ACL_TABLE_NAME); +HTableInterface acl = new HTable(util.getConfiguration(), AccessControlLists.ACL_TABLE_NAME); +HTableInterface acl = new HTable(util.getConfiguration(), AccessControlLists.ACL_TABLE_NAME); {color:green}+1 site{color}. The mvn site goal succeeds with this patch. {color:red}-1 core tests{color}. The patch failed these unit tests: org.apache.hadoop.hbase.TestIOFencing org.apache.hadoop.hbase.mapreduce.TestLoadIncrementalHFilesSplitRecovery org.apache.hadoop.hbase.client.TestSnapshotCloneIndependence org.apache.hadoop.hbase.regionserver.TestRegionReplicas org.apache.hadoop.hbase.client.TestReplicasClient org.apache.hadoop.hbase.master.TestRestartCluster org.apache.hadoop.hbase.mapreduce.TestSecureLoadIncrementalHFilesSplitRecovery Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/10304//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10304//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10304//artifact/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10304//artifact/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10304//artifact/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10304//artifact/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10304//artifact/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10304//artifact/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10304//artifact/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/10304//artifact/patchprocess/newPatchFindbugsWarningshbase-protocol.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/10304//console This message is automatically generated. Replace HTable with HTableInterface where backwards-compatible -- Key: HBASE-11679 URL: https://issues.apache.org/jira/browse/HBASE-11679 Project: HBase Issue Type: Improvement Reporter: Carter Assignee: Carter Attachments: HBASE_11679.patch This is