We are currently running with 0.92.0 (cdh4b1)  and have configured HA
so that the master will fail over automatically (we will be upgrading
to 0.92.1 cdh4u0 soon).  In testing failover we've noticed that in our
long running processes which hold onto an instance of HTable or
HTablePool when the master fails over our long running processes fail
when interacting with HBase because of exceptions like the following.
Should those instances be resilient to failover?  I would at least
expect for HTablePool to invalidate bad pooled tables.  Is there a way
to do this or a better way than catching RetriesExhaustedException and
invalidating the pools ourself?  Or is holding the HTablePool instance
for a long time an anti-pattern?

Caused by: org.apache.hadoop.hbase.client.RetriesExhaustedException:
Failed after attempts=10, exceptions:
Mon Jun 11 14:04:26 CDT 2012, org.apache.hadoop.hbase.client.HTable
$5@72be6280, java.io.IOException:
org.apache.hadoop.hbase.client.HConnectionManager
$HConnectionImplementation@430a14ad closed
Mon Jun 11 14:04:27 CDT 2012, org.apache.hadoop.hbase.client.HTable
$5@72be6280, java.io.IOException:
org.apache.hadoop.hbase.client.HConnectionManager
$HConnectionImplementation@430a14ad closed
Mon Jun 11 14:04:28 CDT 2012, org.apache.hadoop.hbase.client.HTable
$5@72be6280, java.io.IOException:
org.apache.hadoop.hbase.client.HConnectionManager
$HConnectionImplementation@430a14ad closed
Mon Jun 11 14:04:29 CDT 2012, org.apache.hadoop.hbase.client.HTable
$5@72be6280, java.io.IOException:
org.apache.hadoop.hbase.client.HConnectionManager
$HConnectionImplementation@430a14ad closed
Mon Jun 11 14:04:31 CDT 2012, org.apache.hadoop.hbase.client.HTable
$5@72be6280, java.io.IOException:
org.apache.hadoop.hbase.client.HConnectionManager
$HConnectionImplementation@430a14ad closed
Mon Jun 11 14:04:33 CDT 2012, org.apache.hadoop.hbase.client.HTable
$5@72be6280, java.io.IOException:
org.apache.hadoop.hbase.client.HConnectionManager
$HConnectionImplementation@430a14ad closed
Mon Jun 11 14:04:37 CDT 2012, org.apache.hadoop.hbase.client.HTable
$5@72be6280, java.io.IOException:
org.apache.hadoop.hbase.client.HConnectionManager
$HConnectionImplementation@430a14ad closed
Mon Jun 11 14:04:41 CDT 2012, org.apache.hadoop.hbase.client.HTable
$5@72be6280, java.io.IOException:
org.apache.hadoop.hbase.client.HConnectionManager
$HConnectionImplementation@430a14ad closed
Mon Jun 11 14:04:49 CDT 2012, org.apache.hadoop.hbase.client.HTable
$5@72be6280, java.io.IOException:
org.apache.hadoop.hbase.client.HConnectionManager
$HConnectionImplementation@430a14ad closed
Mon Jun 11 14:05:05 CDT 2012, org.apache.hadoop.hbase.client.HTable
$5@72be6280, java.io.IOException:
org.apache.hadoop.hbase.client.HConnectionManager
$HConnectionImplementation@430a14ad closed

at org.apache.hadoop.hbase.client.HConnectionManager
$HConnectionImplementation.getRegionServerWithRetries(HConnectionManager.java:
1345)
at org.apache.hadoop.hbase.client.HTable.get(HTable.java:657)

Thanks,
Micah

Reply via email to