[jira] [Commented] (HBASE-10934) Provide HBaseAdminInterface to abstract HBaseAdmin
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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)