You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hbase.apache.org by Patrick Marchwiak <pm...@gmail.com> on 2011/08/30 02:48:48 UTC

Connection closed after running TableMapper job in LocalJobRunner

I'm trying to upgrade my cluster from CDH3b2 (based on hbase
0.89.20100621) to CDH3u1 (based on hbase 0.90.3) and running into
trouble in one of my integration tests. This test runs against a local
hbase instance running in pseudo-distributed mode – it puts a value,
runs a (local in-process) Hadoop job which increments that value, gets
the value, and lastly, verifies that the value was updated. The
problem is that the Get does not succeed and the following exception
gets thrown:
java.io.IOException:
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation@d3576a2
closed
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:570)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:558)
at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:172)
at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:146)
at BasicHBaseTest.testConnectionClosing(BasicHBaseTest.java:92)

JUnit test here: http://pastebin.com/Mn17a1jW

This same test works fine when I run it against the "minicluster" set
up by HBaseTestingUtility. It also worked in the previous version of
HBase. This seems to be a problem with how connections are cleaned up
in TableMapper or TableReducer in the LocalJobRunner case.

Should I file a bug?

Re: Connection closed after running TableMapper job in LocalJobRunner

Posted by Stack <st...@duboce.net>.
Thanks for updating the list Patrick.
St.Ack

On Tue, Sep 6, 2011 at 12:05 PM, Patrick Marchwiak <pm...@gmail.com> wrote:
> In case anyone is wondering, I made this go away by changing
> TableOutputFormat.close() to simply call table.close(). That same
> change was already made in trunk as part of HBASE-3777.
>
> On Mon, Aug 29, 2011 at 5:48 PM, Patrick Marchwiak <pm...@gmail.com> wrote:
>> I'm trying to upgrade my cluster from CDH3b2 (based on hbase
>> 0.89.20100621) to CDH3u1 (based on hbase 0.90.3) and running into
>> trouble in one of my integration tests. This test runs against a local
>> hbase instance running in pseudo-distributed mode – it puts a value,
>> runs a (local in-process) Hadoop job which increments that value, gets
>> the value, and lastly, verifies that the value was updated. The
>> problem is that the Get does not succeed and the following exception
>> gets thrown:
>> java.io.IOException:
>> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation@d3576a2
>> closed
>> at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:570)
>> at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:558)
>> at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:172)
>> at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:146)
>> at BasicHBaseTest.testConnectionClosing(BasicHBaseTest.java:92)
>>
>> JUnit test here: http://pastebin.com/Mn17a1jW
>>
>> This same test works fine when I run it against the "minicluster" set
>> up by HBaseTestingUtility. It also worked in the previous version of
>> HBase. This seems to be a problem with how connections are cleaned up
>> in TableMapper or TableReducer in the LocalJobRunner case.
>>
>> Should I file a bug?
>>
>

Re: Connection closed after running TableMapper job in LocalJobRunner

Posted by Patrick Marchwiak <pm...@gmail.com>.
In case anyone is wondering, I made this go away by changing
TableOutputFormat.close() to simply call table.close(). That same
change was already made in trunk as part of HBASE-3777.

On Mon, Aug 29, 2011 at 5:48 PM, Patrick Marchwiak <pm...@gmail.com> wrote:
> I'm trying to upgrade my cluster from CDH3b2 (based on hbase
> 0.89.20100621) to CDH3u1 (based on hbase 0.90.3) and running into
> trouble in one of my integration tests. This test runs against a local
> hbase instance running in pseudo-distributed mode – it puts a value,
> runs a (local in-process) Hadoop job which increments that value, gets
> the value, and lastly, verifies that the value was updated. The
> problem is that the Get does not succeed and the following exception
> gets thrown:
> java.io.IOException:
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation@d3576a2
> closed
> at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:570)
> at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:558)
> at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:172)
> at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:146)
> at BasicHBaseTest.testConnectionClosing(BasicHBaseTest.java:92)
>
> JUnit test here: http://pastebin.com/Mn17a1jW
>
> This same test works fine when I run it against the "minicluster" set
> up by HBaseTestingUtility. It also worked in the previous version of
> HBase. This seems to be a problem with how connections are cleaned up
> in TableMapper or TableReducer in the LocalJobRunner case.
>
> Should I file a bug?
>