[jira] [Commented] (HBASE-11679) Replace HTable with HTableInterface where backwards-compatible

2014-09-09 Thread Hudson (JIRA)

[ 
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

2014-09-09 Thread Carter (JIRA)

[ 
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

2014-09-09 Thread Hudson (JIRA)

[ 
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

2014-09-08 Thread Hadoop QA (JIRA)

[ 
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

2014-09-05 Thread Carter (JIRA)

[ 
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

2014-09-05 Thread Hadoop QA (JIRA)

[ 
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

2014-09-05 Thread Carter (JIRA)

[ 
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

2014-09-05 Thread Hadoop QA (JIRA)

[ 
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

2014-09-04 Thread Carter (JIRA)

[ 
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

2014-09-02 Thread Enis Soztutar (JIRA)

[ 
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

2014-08-21 Thread Carter (JIRA)

[ 
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

2014-08-21 Thread Enis Soztutar (JIRA)

[ 
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

2014-08-21 Thread Carter (JIRA)

[ 
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

2014-08-11 Thread Hadoop QA (JIRA)

[ 
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

2014-08-11 Thread Enis Soztutar (JIRA)

[ 
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

2014-08-11 Thread Carter (JIRA)

[ 
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

2014-08-07 Thread Hadoop QA (JIRA)

[ 
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

2014-08-07 Thread stack (JIRA)

[ 
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

2014-08-07 Thread Carter (JIRA)

[ 
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

2014-08-05 Thread Carter (JIRA)

[ 
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

2014-08-05 Thread Hadoop QA (JIRA)

[ 
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