You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Andrew Purtell (JIRA)" <ji...@apache.org> on 2015/01/13 02:37:35 UTC

[jira] [Reopened] (HBASE-12835) HBASE-12422 changed new HTable(Configuration) to not use managed Connections anymore

     [ https://issues.apache.org/jira/browse/HBASE-12835?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrew Purtell reopened HBASE-12835:
------------------------------------

TestFromClientSideWithCoprocessor fails reliably for me on branch-1 after this change went in.

{noformat}
Running org.apache.hadoop.hbase.client.TestFromClientSideWithCoprocessor
Tests run: 80, Failures: 0, Errors: 2, Skipped: 4, Time elapsed: 120.993 sec <<< FAILURE! - in org.apache.hadoop.hbase.client.TestFromClientSideWithCoprocessor
testScanMetrics(org.apache.hadoop.hbase.client.TestFromClientSideWithCoprocessor)  Time elapsed: 0.525 sec  <<< ERROR!
java.io.IOException: The connection has to be unmanaged.
	at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.getAdmin(ConnectionManager.java:715)
	at org.apache.hadoop.hbase.HBaseTestingUtility.createMultiRegions(HBaseTestingUtility.java:2171)
	at org.apache.hadoop.hbase.HBaseTestingUtility.createMultiRegions(HBaseTestingUtility.java:2102)
	at org.apache.hadoop.hbase.HBaseTestingUtility.createMultiRegions(HBaseTestingUtility.java:2048)
	at org.apache.hadoop.hbase.client.TestFromClientSide.testScanMetrics(TestFromClientSide.java:4994)
[...]

testGetRegionsInRange(org.apache.hadoop.hbase.client.TestFromClientSideWithCoprocessor)  Time elapsed: 0.325 sec  <<< ERROR!
java.io.IOException: The connection has to be unmanaged.
	at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.getAdmin(ConnectionManager.java:715)
	at org.apache.hadoop.hbase.HBaseTestingUtility.createMultiRegions(HBaseTestingUtility.java:2171)
	at org.apache.hadoop.hbase.HBaseTestingUtility.createMultiRegions(HBaseTestingUtility.java:2102)
	at org.apache.hadoop.hbase.HBaseTestingUtility.createMultiRegions(HBaseTestingUtility.java:2048)
	at org.apache.hadoop.hbase.client.TestFromClientSide.testGetRegionsInRange(TestFromClientSide.java:5252)
[...]
{noformat}


> HBASE-12422 changed new HTable(Configuration) to not use managed Connections anymore
> ------------------------------------------------------------------------------------
>
>                 Key: HBASE-12835
>                 URL: https://issues.apache.org/jira/browse/HBASE-12835
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Enis Soztutar
>            Assignee: Enis Soztutar
>             Fix For: 1.0.0, 1.1.0
>
>         Attachments: hbase-12835_v1.patch, hbase-12835_v2.patch, hbase-12835_v2.patch
>
>
> While debugging something else, I've noticed that HBASE-12422 changed it so that new HTable(Configuration, TableName) is not using managed connections anymore. 
> I thought the plan was to keep new HTable(Conf, TableName) to still use managed connections, but allow the new APIs to have un-managed connections. With HBASE-12422, there is a big compatibility change for used of the HTable interface that suddenly they will be launching connections per HTable instance which is a behavioral change and expensive (with all the meta cache, zk threads, thread pool, etc). I fear that this will catch unsuspecting users by surprise, that is why I think we should revert back to the deprecated behavior for 1.0. For master we do not need to make the change, but document it. 
> [~sduskis], [~saint.ack@gmail.com], [~ndimiduk] what do you guys think?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)