[jira] [Commented] (HBASE-10934) Provide HBaseAdminInterface to abstract HBaseAdmin

2014-04-18 Thread Enis Soztutar (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10934?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13974275#comment-13974275
 ] 

Enis Soztutar commented on HBASE-10934:
---

Great! I'll commit v5. 

> Provide HBaseAdminInterface to abstract HBaseAdmin
> --
>
> Key: HBASE-10934
> URL: https://issues.apache.org/jira/browse/HBASE-10934
> Project: HBase
>  Issue Type: Improvement
>  Components: Client
>Reporter: Carter
>Priority: Blocker
>  Labels: patch
> Fix For: 0.99.0
>
> Attachments: HBASE_10934.patch, HBASE_10934_2.patch, 
> HBASE_10934_3.patch, HBASE_10934_4.patch, HBASE_10934_5.patch
>
>
> As HBaseAdmin is essentially the administrative API, it would seem to follow 
> Java best practices to provide an interface to access it instead of requiring 
> applications to use the raw object.
> I am proposing (and would be happy to develop):
>  * A new interface, HBaseAdminInterface, that captures the signatures of the 
> API (HBaseAdmin will implement this interface)
>  * A new method, HConnection.getHBaseAdmin(), that returns an instance of the 
> interface



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (HBASE-10934) Provide HBaseAdminInterface to abstract HBaseAdmin

2014-04-18 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10934?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13974181#comment-13974181
 ] 

Hadoop QA commented on HBASE-10934:
---

{color:green}+1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12640821/HBASE_10934_5.patch
  against trunk revision .
  ATTACHMENT ID: 12640821

{color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

{color:green}+1 tests included{color}.  The patch appears to include 3 new 
or modified tests.

{color:green}+1 javadoc{color}.  The javadoc tool did not generate any 
warning messages.

{color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

{color:green}+1 findbugs{color}.  The patch does not introduce any new 
Findbugs (version 1.3.9) warnings.

{color:green}+1 release audit{color}.  The applied patch does not increase 
the total number of release audit warnings.

{color:green}+1 lineLengths{color}.  The patch does not introduce lines 
longer than 100

  {color:green}+1 site{color}.  The mvn site goal succeeds with this patch.

{color:green}+1 core tests{color}.  The patch passed unit tests in .

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

This message is automatically generated.

> Provide HBaseAdminInterface to abstract HBaseAdmin
> --
>
> Key: HBASE-10934
> URL: https://issues.apache.org/jira/browse/HBASE-10934
> Project: HBase
>  Issue Type: Improvement
>  Components: Client
>Reporter: Carter
>Priority: Blocker
>  Labels: patch
> Fix For: 0.99.0
>
> Attachments: HBASE_10934.patch, HBASE_10934_2.patch, 
> HBASE_10934_3.patch, HBASE_10934_4.patch, HBASE_10934_5.patch
>
>
> As HBaseAdmin is essentially the administrative API, it would seem to follow 
> Java best practices to provide an interface to access it instead of requiring 
> applications to use the raw object.
> I am proposing (and would be happy to develop):
>  * A new interface, HBaseAdminInterface, that captures the signatures of the 
> API (HBaseAdmin will implement this interface)
>  * A new method, HConnection.getHBaseAdmin(), that returns an instance of the 
> interface



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (HBASE-10934) Provide HBaseAdminInterface to abstract HBaseAdmin

2014-04-18 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10934?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13974094#comment-13974094
 ] 

Hadoop QA commented on HBASE-10934:
---

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12640818/HBASE_10934_4.patch
  against trunk revision .
  ATTACHMENT ID: 12640818

{color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

{color:green}+1 tests included{color}.  The patch appears to include 6 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/9332//console

This message is automatically generated.

> Provide HBaseAdminInterface to abstract HBaseAdmin
> --
>
> Key: HBASE-10934
> URL: https://issues.apache.org/jira/browse/HBASE-10934
> Project: HBase
>  Issue Type: Improvement
>  Components: Client
>Reporter: Carter
>Priority: Blocker
>  Labels: patch
> Fix For: 0.99.0
>
> Attachments: HBASE_10934.patch, HBASE_10934_2.patch, 
> HBASE_10934_3.patch, HBASE_10934_4.patch
>
>
> As HBaseAdmin is essentially the administrative API, it would seem to follow 
> Java best practices to provide an interface to access it instead of requiring 
> applications to use the raw object.
> I am proposing (and would be happy to develop):
>  * A new interface, HBaseAdminInterface, that captures the signatures of the 
> API (HBaseAdmin will implement this interface)
>  * A new method, HConnection.getHBaseAdmin(), that returns an instance of the 
> interface



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (HBASE-10934) Provide HBaseAdminInterface to abstract HBaseAdmin

2014-04-17 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10934?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13973465#comment-13973465
 ] 

Hadoop QA commented on HBASE-10934:
---

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12640693/HBASE_10934_3.patch
  against trunk revision .
  ATTACHMENT ID: 12640693

{color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

{color:green}+1 tests included{color}.  The patch appears to include 3 new 
or modified tests.

{color:red}-1 javadoc{color}.  The javadoc tool appears to have generated 2 
warning messages.

{color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

{color:green}+1 findbugs{color}.  The patch does not introduce any new 
Findbugs (version 1.3.9) warnings.

{color:green}+1 release audit{color}.  The applied patch does not increase 
the total number of release audit warnings.

{color:green}+1 lineLengths{color}.  The patch does not introduce lines 
longer than 100

  {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:
 

 {color:red}-1 core zombie tests{color}.  There are 1 zombie test(s):   
at 
org.apache.hadoop.hbase.mapreduce.TestTableMapReduceBase.testMultiRegionTable(TestTableMapReduceBase.java:96)

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

This message is automatically generated.

> Provide HBaseAdminInterface to abstract HBaseAdmin
> --
>
> Key: HBASE-10934
> URL: https://issues.apache.org/jira/browse/HBASE-10934
> Project: HBase
>  Issue Type: Improvement
>  Components: Client
>Reporter: Carter
>Priority: Blocker
>  Labels: patch
> Fix For: 0.99.0
>
> Attachments: HBASE_10934.patch, HBASE_10934_2.patch, 
> HBASE_10934_3.patch
>
>
> As HBaseAdmin is essentially the administrative API, it would seem to follow 
> Java best practices to provide an interface to access it instead of requiring 
> applications to use the raw object.
> I am proposing (and would be happy to develop):
>  * A new interface, HBaseAdminInterface, that captures the signatures of the 
> API (HBaseAdmin will implement this interface)
>  * A new method, HConnection.getHBaseAdmin(), that returns an instance of the 
> interface



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (HBASE-10934) Provide HBaseAdminInterface to abstract HBaseAdmin

2014-04-17 Thread Enis Soztutar (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10934?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13973211#comment-13973211
 ] 

Enis Soztutar commented on HBASE-10934:
---

Ok, no probs. We can still make changes to the interface before a release comes 
out. Thanks Carter for picking this up. 

> Provide HBaseAdminInterface to abstract HBaseAdmin
> --
>
> Key: HBASE-10934
> URL: https://issues.apache.org/jira/browse/HBASE-10934
> Project: HBase
>  Issue Type: Improvement
>  Components: Client
>Reporter: Carter
>Priority: Blocker
>  Labels: patch
> Fix For: 0.99.0
>
> Attachments: HBASE_10934.patch, HBASE_10934_2.patch
>
>
> As HBaseAdmin is essentially the administrative API, it would seem to follow 
> Java best practices to provide an interface to access it instead of requiring 
> applications to use the raw object.
> I am proposing (and would be happy to develop):
>  * A new interface, HBaseAdminInterface, that captures the signatures of the 
> API (HBaseAdmin will implement this interface)
>  * A new method, HConnection.getHBaseAdmin(), that returns an instance of the 
> interface



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (HBASE-10934) Provide HBaseAdminInterface to abstract HBaseAdmin

2014-04-17 Thread Carter (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10934?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13973204#comment-13973204
 ] 

Carter commented on HBASE-10934:


I can certainly remove the byte[] and string methods with this patch.  (I much 
prefer to add methods to an interface later than remove.)

Let me take one more pass before you submit.


> Provide HBaseAdminInterface to abstract HBaseAdmin
> --
>
> Key: HBASE-10934
> URL: https://issues.apache.org/jira/browse/HBASE-10934
> Project: HBase
>  Issue Type: Improvement
>  Components: Client
>Reporter: Carter
>Priority: Blocker
>  Labels: patch
> Fix For: 0.99.0
>
> Attachments: HBASE_10934.patch, HBASE_10934_2.patch
>
>
> As HBaseAdmin is essentially the administrative API, it would seem to follow 
> Java best practices to provide an interface to access it instead of requiring 
> applications to use the raw object.
> I am proposing (and would be happy to develop):
>  * A new interface, HBaseAdminInterface, that captures the signatures of the 
> API (HBaseAdmin will implement this interface)
>  * A new method, HConnection.getHBaseAdmin(), that returns an instance of the 
> interface



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (HBASE-10934) Provide HBaseAdminInterface to abstract HBaseAdmin

2014-04-17 Thread Enis Soztutar (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10934?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13973172#comment-13973172
 ] 

Enis Soztutar commented on HBASE-10934:
---

This patch looks good. There are a couple of changes that I want to make in the 
Admin interface before 1.0: 
 - Remove all methods that accept table name as byte[] and string. We should 
only have the TableName arguments. No need to bloat the interfaces. 
 - remove the methods that accept tableNameOrRegionName. This is unacceptable. 
We should have xxxRegion(), xxxTable() methods instead. 
 - rethink some of the methods whether they should be exposed (like 
getMasterCoprocessors() as above) 

However, I think we can commit this patch, and make the changes above in a 
follow up patch, or as a part of HBASE-10602. I'll commit this shortly. 


> Provide HBaseAdminInterface to abstract HBaseAdmin
> --
>
> Key: HBASE-10934
> URL: https://issues.apache.org/jira/browse/HBASE-10934
> Project: HBase
>  Issue Type: Improvement
>  Components: Client
>Reporter: Carter
>Priority: Blocker
>  Labels: patch
> Fix For: 0.99.0
>
> Attachments: HBASE_10934.patch, HBASE_10934_2.patch
>
>
> As HBaseAdmin is essentially the administrative API, it would seem to follow 
> Java best practices to provide an interface to access it instead of requiring 
> applications to use the raw object.
> I am proposing (and would be happy to develop):
>  * A new interface, HBaseAdminInterface, that captures the signatures of the 
> API (HBaseAdmin will implement this interface)
>  * A new method, HConnection.getHBaseAdmin(), that returns an instance of the 
> interface



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (HBASE-10934) Provide HBaseAdminInterface to abstract HBaseAdmin

2014-04-16 Thread Nick Dimiduk (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10934?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13971632#comment-13971632
 ] 

Nick Dimiduk commented on HBASE-10934:
--

bq. Do you think we should keep getMasterCoprocessors() in the interface?

I have no opinion about this.

[~apurtell], [~enis], [~stack], thoughts?

> Provide HBaseAdminInterface to abstract HBaseAdmin
> --
>
> Key: HBASE-10934
> URL: https://issues.apache.org/jira/browse/HBASE-10934
> Project: HBase
>  Issue Type: Improvement
>  Components: Client
>Reporter: Carter
>Priority: Blocker
>  Labels: patch
> Fix For: 0.99.0
>
> Attachments: HBASE_10934.patch, HBASE_10934_2.patch
>
>
> As HBaseAdmin is essentially the administrative API, it would seem to follow 
> Java best practices to provide an interface to access it instead of requiring 
> applications to use the raw object.
> I am proposing (and would be happy to develop):
>  * A new interface, HBaseAdminInterface, that captures the signatures of the 
> API (HBaseAdmin will implement this interface)
>  * A new method, HConnection.getHBaseAdmin(), that returns an instance of the 
> interface



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (HBASE-10934) Provide HBaseAdminInterface to abstract HBaseAdmin

2014-04-14 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10934?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13968607#comment-13968607
 ] 

Hadoop QA commented on HBASE-10934:
---

{color:green}+1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12640093/HBASE_10934_2.patch
  against trunk revision .
  ATTACHMENT ID: 12640093

{color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

{color:green}+1 tests included{color}.  The patch appears to include 3 new 
or modified tests.

{color:green}+1 javadoc{color}.  The javadoc tool did not generate any 
warning messages.

{color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

{color:green}+1 findbugs{color}.  The patch does not introduce any new 
Findbugs (version 1.3.9) warnings.

{color:green}+1 release audit{color}.  The applied patch does not increase 
the total number of release audit warnings.

{color:green}+1 lineLengths{color}.  The patch does not introduce lines 
longer than 100

  {color:green}+1 site{color}.  The mvn site goal succeeds with this patch.

{color:green}+1 core tests{color}.  The patch passed unit tests in .

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

This message is automatically generated.

> Provide HBaseAdminInterface to abstract HBaseAdmin
> --
>
> Key: HBASE-10934
> URL: https://issues.apache.org/jira/browse/HBASE-10934
> Project: HBase
>  Issue Type: Improvement
>  Components: Client
>Reporter: Carter
>Priority: Blocker
>  Labels: patch
> Fix For: 0.99.0
>
> Attachments: HBASE_10934.patch, HBASE_10934_2.patch
>
>
> As HBaseAdmin is essentially the administrative API, it would seem to follow 
> Java best practices to provide an interface to access it instead of requiring 
> applications to use the raw object.
> I am proposing (and would be happy to develop):
>  * A new interface, HBaseAdminInterface, that captures the signatures of the 
> API (HBaseAdmin will implement this interface)
>  * A new method, HConnection.getHBaseAdmin(), that returns an instance of the 
> interface



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (HBASE-10934) Provide HBaseAdminInterface to abstract HBaseAdmin

2014-04-14 Thread Carter (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10934?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13968429#comment-13968429
 ] 

Carter commented on HBASE-10934:


[~ndimiduk] I've incorporated all of your suggestions.  Thanks!

Do you think we should keep getMasterCoprocessors() in the interface?  It's 
just a straight delegate to getClusterStatus().getMasterCoprocessors() and 
doesn't seem to add much value here.


> Provide HBaseAdminInterface to abstract HBaseAdmin
> --
>
> Key: HBASE-10934
> URL: https://issues.apache.org/jira/browse/HBASE-10934
> Project: HBase
>  Issue Type: Improvement
>  Components: Client
>Reporter: Carter
>Priority: Blocker
>  Labels: patch
> Fix For: 0.99.0
>
> Attachments: HBASE_10934.patch
>
>
> As HBaseAdmin is essentially the administrative API, it would seem to follow 
> Java best practices to provide an interface to access it instead of requiring 
> applications to use the raw object.
> I am proposing (and would be happy to develop):
>  * A new interface, HBaseAdminInterface, that captures the signatures of the 
> API (HBaseAdmin will implement this interface)
>  * A new method, HConnection.getHBaseAdmin(), that returns an instance of the 
> interface



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (HBASE-10934) Provide HBaseAdminInterface to abstract HBaseAdmin

2014-04-11 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10934?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13966821#comment-13966821
 ] 

Hadoop QA commented on HBASE-10934:
---

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12639815/HBASE_10934.patch
  against trunk revision .
  ATTACHMENT ID: 12639815

{color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

{color:green}+1 tests included{color}.  The patch appears to include 3 new 
or modified tests.

{color:green}+1 javadoc{color}.  The javadoc tool did not generate any 
warning messages.

{color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

{color:green}+1 findbugs{color}.  The patch does not introduce any new 
Findbugs (version 1.3.9) 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:
+   *  threads, the 
table may have been created between test-for-existence
+   *  threads, the table 
may have been created between test-for-existence
+   * @throws IllegalArgumentException if the table name is 
reserved, if the split keys
+   *  are repeated and if 
the split key has empty byte array.
+   *  threads, the table 
may have been created between test-for-existence
+   *  are repeated and if 
the split key has empty byte array.
+   *  threads, the table 
may have been created between test-for-existence
+   *  
TestTable,0094429456,1289497600452.527db22f95c8a9e0116f0cc13c680396.
+   *  
TestTable,0094429456,1289497600452.527db22f95c8a9e0116f0cc13c680396.,
+   *  then the encoded region name is: 
527db22f95c8a9e0116f0cc13c680396.

  {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.snapshot.TestSecureExportSnapshot

 {color:red}-1 core zombie tests{color}.  There are 1 zombie test(s):   
at 
org.apache.hadoop.hbase.mapreduce.TestTableMapReduceBase.testMultiRegionTable(TestTableMapReduceBase.java:96)

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

This message is automatically generated.

> Provide HBaseAdminInterface to abstract HBaseAdmin
> --
>
> Key: HBASE-10934
> URL: https://issues.apache.org/jira/browse/HBASE-10934
> Project: HBase
>  Issue Type: Improvement
>  Components: Client
>Reporter: Carter
>Priority: Blocker
>  Labels: patch
> Fix For: 0.99.0
>
> Attachments: HBASE_10934.patch
>
>
> As HBaseAdmin is essentially the administrative API, it would seem to follow 
> Java best practices to provide an interface to access it instead of requiring 
> appl

[jira] [Commented] (HBASE-10934) Provide HBaseAdminInterface to abstract HBaseAdmin

2014-04-11 Thread Nick Dimiduk (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10934?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13966794#comment-13966794
 ] 

Nick Dimiduk commented on HBASE-10934:
--

Looks like you're on the right track. Let me ask of the wider audience: do we 
want to cary forward the {{@Deprecated}} methods into this interface? I think 
not. I also wonder about all these exceptions; are there places where we can 
fold them together? Basically, how to we minimize the surface area of this 
interface?

A nit: for convenience methods like {{tableExists(String)}}, 
{{tableExists(byte[])}}, please include a javadoc {{@see}} reference back to 
the method that does the work, {{tableExists(TableName)}}.

> Provide HBaseAdminInterface to abstract HBaseAdmin
> --
>
> Key: HBASE-10934
> URL: https://issues.apache.org/jira/browse/HBASE-10934
> Project: HBase
>  Issue Type: Improvement
>  Components: Client
>Reporter: Carter
>Priority: Blocker
>  Labels: patch
> Fix For: 0.99.0
>
> Attachments: HBASE_10934.patch
>
>
> As HBaseAdmin is essentially the administrative API, it would seem to follow 
> Java best practices to provide an interface to access it instead of requiring 
> applications to use the raw object.
> I am proposing (and would be happy to develop):
>  * A new interface, HBaseAdminInterface, that captures the signatures of the 
> API (HBaseAdmin will implement this interface)
>  * A new method, HConnection.getHBaseAdmin(), that returns an instance of the 
> interface



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (HBASE-10934) Provide HBaseAdminInterface to abstract HBaseAdmin

2014-04-10 Thread Carter (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10934?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13965387#comment-13965387
 ] 

Carter commented on HBASE-10934:


As a developer, I would expect new methods to appear as versions progress and 
the interface is extended -- as long as nothing breaks backwards compatibility 
between "major" releases.  I would also be a little puzzled if I found an API 
defined with an abstract class but not an interface.

> Provide HBaseAdminInterface to abstract HBaseAdmin
> --
>
> Key: HBASE-10934
> URL: https://issues.apache.org/jira/browse/HBASE-10934
> Project: HBase
>  Issue Type: Improvement
>  Components: Client
>Reporter: Carter
>Priority: Blocker
> Fix For: 0.99.0
>
>
> As HBaseAdmin is essentially the administrative API, it would seem to follow 
> Java best practices to provide an interface to access it instead of requiring 
> applications to use the raw object.
> I am proposing (and would be happy to develop):
>  * A new interface, HBaseAdminInterface, that captures the signatures of the 
> API (HBaseAdmin will implement this interface)
>  * A new method, HConnection.getHBaseAdmin(), that returns an instance of the 
> interface



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (HBASE-10934) Provide HBaseAdminInterface to abstract HBaseAdmin

2014-04-10 Thread Nicolas Liochon (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10934?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13965309#comment-13965309
 ] 

Nicolas Liochon commented on HBASE-10934:
-

bq. If we go the interface way, I think we should document that although the 
API would be public, we might add methods freely. 
+1 to use interface, and +1 to document that we can add methods at any time.
Interfaces are useful because they are easily proxied. 

> Provide HBaseAdminInterface to abstract HBaseAdmin
> --
>
> Key: HBASE-10934
> URL: https://issues.apache.org/jira/browse/HBASE-10934
> Project: HBase
>  Issue Type: Improvement
>  Components: Client
>Reporter: Carter
>Priority: Blocker
> Fix For: 0.99.0
>
>
> As HBaseAdmin is essentially the administrative API, it would seem to follow 
> Java best practices to provide an interface to access it instead of requiring 
> applications to use the raw object.
> I am proposing (and would be happy to develop):
>  * A new interface, HBaseAdminInterface, that captures the signatures of the 
> API (HBaseAdmin will implement this interface)
>  * A new method, HConnection.getHBaseAdmin(), that returns an instance of the 
> interface



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (HBASE-10934) Provide HBaseAdminInterface to abstract HBaseAdmin

2014-04-10 Thread Enis Soztutar (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10934?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13965148#comment-13965148
 ] 

Enis Soztutar commented on HBASE-10934:
---

I was thinking about this, and I think we should consider whether we want the 
Admin / Table interfaces to be interfaces or abstract classes. Interfaces are 
natural choice, but if we will support users to have their own implementations 
of these interfaces, then adding new methods would break the compilation. 
Abstract classes are more flexible in that sense. 

If we go the interface way, I think we should document that although the API 
would be public, we might add methods freely. 

> Provide HBaseAdminInterface to abstract HBaseAdmin
> --
>
> Key: HBASE-10934
> URL: https://issues.apache.org/jira/browse/HBASE-10934
> Project: HBase
>  Issue Type: Improvement
>  Components: Client
>Reporter: Carter
>Priority: Blocker
> Fix For: 0.99.0
>
>
> As HBaseAdmin is essentially the administrative API, it would seem to follow 
> Java best practices to provide an interface to access it instead of requiring 
> applications to use the raw object.
> I am proposing (and would be happy to develop):
>  * A new interface, HBaseAdminInterface, that captures the signatures of the 
> API (HBaseAdmin will implement this interface)
>  * A new method, HConnection.getHBaseAdmin(), that returns an instance of the 
> interface



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (HBASE-10934) Provide HBaseAdminInterface to abstract HBaseAdmin

2014-04-09 Thread Nick Dimiduk (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10934?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13964749#comment-13964749
 ] 

Nick Dimiduk commented on HBASE-10934:
--

Please omit that method for the time being. It should instead be an instance 
method on HConnection, and it shouldn't throw an exception for non-exceptional 
behavior.

> Provide HBaseAdminInterface to abstract HBaseAdmin
> --
>
> Key: HBASE-10934
> URL: https://issues.apache.org/jira/browse/HBASE-10934
> Project: HBase
>  Issue Type: Improvement
>  Components: Client
>Reporter: Carter
>Priority: Blocker
> Fix For: 0.99.0
>
>
> As HBaseAdmin is essentially the administrative API, it would seem to follow 
> Java best practices to provide an interface to access it instead of requiring 
> applications to use the raw object.
> I am proposing (and would be happy to develop):
>  * A new interface, HBaseAdminInterface, that captures the signatures of the 
> API (HBaseAdmin will implement this interface)
>  * A new method, HConnection.getHBaseAdmin(), that returns an instance of the 
> interface



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (HBASE-10934) Provide HBaseAdminInterface to abstract HBaseAdmin

2014-04-09 Thread Carter (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10934?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13964740#comment-13964740
 ] 

Carter commented on HBASE-10934:


Work is going fairly smoothly.  I'm wondering about the one static method:

public static void checkHBaseAvailable(Configuration conf)

Let me know if you have any suggestions.  I'm going to leave it as is until I 
have a more creative idea.


> Provide HBaseAdminInterface to abstract HBaseAdmin
> --
>
> Key: HBASE-10934
> URL: https://issues.apache.org/jira/browse/HBASE-10934
> Project: HBase
>  Issue Type: Improvement
>  Components: Client
>Reporter: Carter
>Priority: Blocker
> Fix For: 0.99.0
>
>
> As HBaseAdmin is essentially the administrative API, it would seem to follow 
> Java best practices to provide an interface to access it instead of requiring 
> applications to use the raw object.
> I am proposing (and would be happy to develop):
>  * A new interface, HBaseAdminInterface, that captures the signatures of the 
> API (HBaseAdmin will implement this interface)
>  * A new method, HConnection.getHBaseAdmin(), that returns an instance of the 
> interface



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (HBASE-10934) Provide HBaseAdminInterface to abstract HBaseAdmin

2014-04-09 Thread Lars Hofhansl (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10934?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13964398#comment-13964398
 ] 

Lars Hofhansl commented on HBASE-10934:
---

+1 on HConnection.getAdmin().


> Provide HBaseAdminInterface to abstract HBaseAdmin
> --
>
> Key: HBASE-10934
> URL: https://issues.apache.org/jira/browse/HBASE-10934
> Project: HBase
>  Issue Type: Improvement
>  Components: Client
>Reporter: Carter
>Priority: Blocker
> Fix For: 0.99.0
>
>
> As HBaseAdmin is essentially the administrative API, it would seem to follow 
> Java best practices to provide an interface to access it instead of requiring 
> applications to use the raw object.
> I am proposing (and would be happy to develop):
>  * A new interface, HBaseAdminInterface, that captures the signatures of the 
> API (HBaseAdmin will implement this interface)
>  * A new method, HConnection.getHBaseAdmin(), that returns an instance of the 
> interface



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (HBASE-10934) Provide HBaseAdminInterface to abstract HBaseAdmin

2014-04-09 Thread Enis Soztutar (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10934?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13964249#comment-13964249
 ] 

Enis Soztutar commented on HBASE-10934:
---

I think getAdmin() should be fine. The other method is a completely different 
beast. 

> Provide HBaseAdminInterface to abstract HBaseAdmin
> --
>
> Key: HBASE-10934
> URL: https://issues.apache.org/jira/browse/HBASE-10934
> Project: HBase
>  Issue Type: Improvement
>  Components: Client
>Reporter: Carter
>Priority: Blocker
> Fix For: 0.99.0
>
>
> As HBaseAdmin is essentially the administrative API, it would seem to follow 
> Java best practices to provide an interface to access it instead of requiring 
> applications to use the raw object.
> I am proposing (and would be happy to develop):
>  * A new interface, HBaseAdminInterface, that captures the signatures of the 
> API (HBaseAdmin will implement this interface)
>  * A new method, HConnection.getHBaseAdmin(), that returns an instance of the 
> interface



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (HBASE-10934) Provide HBaseAdminInterface to abstract HBaseAdmin

2014-04-09 Thread Carter (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10934?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13964197#comment-13964197
 ] 

Carter commented on HBASE-10934:


I'll do the work.

Should we call the factory method be HConnection.getAdmin()?  There is another 
deprecated getAdmin method, but it takes arguments so this zero-argument method 
wouldn't be a conflict.  However, if we think it'll be confusing I can call it 
the more laborious getHBaseAdmin().


> Provide HBaseAdminInterface to abstract HBaseAdmin
> --
>
> Key: HBASE-10934
> URL: https://issues.apache.org/jira/browse/HBASE-10934
> Project: HBase
>  Issue Type: Improvement
>  Components: Client
>Reporter: Carter
>Priority: Blocker
> Fix For: 0.99.0
>
>
> As HBaseAdmin is essentially the administrative API, it would seem to follow 
> Java best practices to provide an interface to access it instead of requiring 
> applications to use the raw object.
> I am proposing (and would be happy to develop):
>  * A new interface, HBaseAdminInterface, that captures the signatures of the 
> API (HBaseAdmin will implement this interface)
>  * A new method, HConnection.getHBaseAdmin(), that returns an instance of the 
> interface



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (HBASE-10934) Provide HBaseAdminInterface to abstract HBaseAdmin

2014-04-09 Thread Enis Soztutar (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10934?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13964189#comment-13964189
 ] 

Enis Soztutar commented on HBASE-10934:
---

Carter are you going to work on this? 

> Provide HBaseAdminInterface to abstract HBaseAdmin
> --
>
> Key: HBASE-10934
> URL: https://issues.apache.org/jira/browse/HBASE-10934
> Project: HBase
>  Issue Type: Improvement
>  Components: Client
>Reporter: Carter
>Priority: Blocker
> Fix For: 0.99.0
>
>
> As HBaseAdmin is essentially the administrative API, it would seem to follow 
> Java best practices to provide an interface to access it instead of requiring 
> applications to use the raw object.
> I am proposing (and would be happy to develop):
>  * A new interface, HBaseAdminInterface, that captures the signatures of the 
> API (HBaseAdmin will implement this interface)
>  * A new method, HConnection.getHBaseAdmin(), that returns an instance of the 
> interface



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (HBASE-10934) Provide HBaseAdminInterface to abstract HBaseAdmin

2014-04-09 Thread Enis Soztutar (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10934?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13964116#comment-13964116
 ] 

Enis Soztutar commented on HBASE-10934:
---

Yes please. See my comments at 
https://issues.apache.org/jira/browse/HBASE-10602?focusedCommentId=13911079&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13911079
 

We need to name this Admin, not HBaseAdminInterface. 

> Provide HBaseAdminInterface to abstract HBaseAdmin
> --
>
> Key: HBASE-10934
> URL: https://issues.apache.org/jira/browse/HBASE-10934
> Project: HBase
>  Issue Type: Improvement
>  Components: Client
>Reporter: Carter
>Priority: Minor
>
> As HBaseAdmin is essentially the administrative API, it would seem to follow 
> Java best practices to provide an interface to access it instead of requiring 
> applications to use the raw object.
> I am proposing (and would be happy to develop):
>  * A new interface, HBaseAdminInterface, that captures the signatures of the 
> API (HBaseAdmin will implement this interface)
>  * A new method, HConnection.getHBaseAdmin(), that returns an instance of the 
> interface



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (HBASE-10934) Provide HBaseAdminInterface to abstract HBaseAdmin

2014-04-09 Thread Nicolas Liochon (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10934?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13963953#comment-13963953
 ] 

Nicolas Liochon commented on HBASE-10934:
-

Yeah, that's a step in the right direction for sure.

> Provide HBaseAdminInterface to abstract HBaseAdmin
> --
>
> Key: HBASE-10934
> URL: https://issues.apache.org/jira/browse/HBASE-10934
> Project: HBase
>  Issue Type: Improvement
>  Components: Client
>Reporter: Carter
>Priority: Minor
>
> As HBaseAdmin is essentially the administrative API, it would seem to follow 
> Java best practices to provide an interface to access it instead of requiring 
> applications to use the raw object.
> I am proposing (and would be happy to develop):
>  * A new interface, HBaseAdminInterface, that captures the signatures of the 
> API (HBaseAdmin will implement this interface)
>  * A new method, HConnection.getHBaseAdmin(), that returns an instance of the 
> interface



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (HBASE-10934) Provide HBaseAdminInterface to abstract HBaseAdmin

2014-04-08 Thread Nick Dimiduk (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10934?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13963380#comment-13963380
 ] 

Nick Dimiduk commented on HBASE-10934:
--

bq. A new method, HConnection.getHBaseAdmin(), that returns an instance of the 
interface

+100, and deprecate other means of retrieving instances of HBaseAdmin, same as 
HTable instances.

> Provide HBaseAdminInterface to abstract HBaseAdmin
> --
>
> Key: HBASE-10934
> URL: https://issues.apache.org/jira/browse/HBASE-10934
> Project: HBase
>  Issue Type: Improvement
>  Components: Client
>Reporter: Carter
>Priority: Minor
>
> As HBaseAdmin is essentially the administrative API, it would seem to follow 
> Java best practices to provide an interface to access it instead of requiring 
> applications to use the raw object.
> I am proposing (and would be happy to develop):
>  * A new interface, HBaseAdminInterface, that captures the signatures of the 
> API (HBaseAdmin will implement this interface)
>  * A new method, HConnection.getHBaseAdmin(), that returns an instance of the 
> interface



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (HBASE-10934) Provide HBaseAdminInterface to abstract HBaseAdmin

2014-04-08 Thread stack (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10934?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13963339#comment-13963339
 ] 

stack commented on HBASE-10934:
---

Sounds good to me Carter.

[~lhofhansl]/[~liochon] You fellas good w/ the HConnection#getHBaseAdmin?  This 
seems to continue the go-to-the-cluster-connection-for-everything pattern we've 
been busy trying to enforce.


> Provide HBaseAdminInterface to abstract HBaseAdmin
> --
>
> Key: HBASE-10934
> URL: https://issues.apache.org/jira/browse/HBASE-10934
> Project: HBase
>  Issue Type: Improvement
>  Components: Client
>Reporter: Carter
>Priority: Minor
>
> As HBaseAdmin is essentially the administrative API, it would seem to follow 
> Java best practices to provide an interface to access it instead of requiring 
> applications to use the raw object.
> I am proposing (and would be happy to develop):
>  * A new interface, HBaseAdminInterface, that captures the signatures of the 
> API (HBaseAdmin will implement this interface)
>  * A new method, HConnection.getHBaseAdmin(), that returns an instance of the 
> interface



--
This message was sent by Atlassian JIRA
(v6.2#6252)