[
https://issues.apache.org/jira/browse/HBASE-3074?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
stack updated HBASE-3074:
-------------------------
Attachment: hbase-3074-part2.txt
Here is part 2 of this fix where I generalize the fix I made for zk to see if
it'll fix other failing tests. In particular TestClusterRestart.
{code}
HConnections go stale if miniCluster is shutdown on them. Make it
so we make new HConnections on other side of a new cluster spin up.
Was cause for failing of last few tests.
M src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java
So if you shutdown a cluster and you have HConnections that were
made using the HTUs Configuration, they'll all be stale --
session expired -- and won't be of any use connecting to new cluster
that comes up... now that HConnection is first class dependent on
its own ZooKeeperWatcher instance.
So, I went through this class and fixed it up so we use new
Configurations when could be called either side of a mini cluster
restart. Added note to getConfiguration to be careful what you
do with it because Configuration makes for an HConnection.
M src/test/java/org/apache/hadoop/hbase/TestZooKeeper.java
Don't use same Configuration everywhere.
M src/test/java/org/apache/hadoop/hbase/master/TestRestartCluster.java
Make new Configuration when we make new Cluster so we get fresh
HConnection -- not one w/ stale data, disconnected.
M src/main/java/org/apache/hadoop/hbase/master/ServerManager.java
Check that new server that comes in on a regionServerReport
doesn't have same port and host as one we have already registered
as we do in reportForDuty call (This is preemtive bug fix).
M src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java
Save of an identifier for HCM and use it in log messages, particularly
when we close -- helps debugging.
M src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
getConfiguration added.
{code}
> Zookeeper test failing on hudson
> --------------------------------
>
> Key: HBASE-3074
> URL: https://issues.apache.org/jira/browse/HBASE-3074
> Project: HBase
> Issue Type: Bug
> Reporter: stack
> Assignee: stack
> Fix For: 0.90.0
>
> Attachments: 3074-xtra-debug.txt, 3074.txt, hbase-3074-part2.txt
>
>
> We're failing here because .META. moved:
> {code}
> retrying after sleep of 5000 because: Connection refused
> 2010-10-02 00:50:49,728 DEBUG [main]
> client.HConnectionManager$HConnectionImplementation(717): locateRegionInMeta
> attempt 2 of 4 failed; retrying after sleep of 5000 because: Connection
> refused
> 2010-10-02 00:50:59,730 DEBUG [main]
> client.HConnectionManager$HConnectionImplementation(717): locateRegionInMeta
> attempt 0 of 4 failed; retrying after sleep of 5000 because: Connection
> refused
> 2010-10-02 00:51:04,731 DEBUG [main]
> client.HConnectionManager$HConnectionImplementation(717): locateRegionInMeta
> attempt 1 of 4 failed; retrying after sleep of 5000 because: Connection
> refused
> 2010-10-02 00:51:09,732 DEBUG [main]
> client.HConnectionManager$HConnectionImplementation(717): locateRegionInMeta
> attempt 2 of 4 failed; retrying after sleep of 5000 because: Connection
> refused
> 2010-10-02 00:51:14,734 WARN [main]
> client.HConnectionManager$HConnectionImplementation(597): Encounted problems
> when prefetch META table:
> org.apache.hadoop.hbase.client.RetriesExhaustedException: Trying to contact
> region server vesta.apache.org:54172 for region .META.,,1, row
> 'test1285980613475,,99999999999999', but failed after 4 attempts.
> Exceptions:
> java.net.ConnectException: Connection refused
> java.net.ConnectException: Connection refused
> java.net.ConnectException: Connection refused
> java.net.ConnectException: Connection refused
> at
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getRegionServerWithRetries(HConnectionManager.java:946)
> at org.apache.hadoop.hbase.client.HTable.getRowOrBefore(HTable.java:500)
> at
> org.apache.hadoop.hbase.client.MetaScanner.metaScan(MetaScanner.java:104)
> at
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.prefetchRegionCache(HConnectionManager.java:594)
> at
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegionInMeta(HConnectionManager.java:645)
> at
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:539)
> at
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:507)
> at
> org.apache.hadoop.hbase.client.HBaseAdmin.createTable(HBaseAdmin.java:287)
> at
> org.apache.hadoop.hbase.client.HBaseAdmin.createTable(HBaseAdmin.java:207)
> at
> org.apache.hadoop.hbase.TestZooKeeper.testSanity(TestZooKeeper.java:140)
> ...
> {code}
> I'm not sure why we're not picking up new locations.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.