You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Jean-Daniel Cryans (JIRA)" <ji...@apache.org> on 2013/08/03 00:59:49 UTC

[jira] [Commented] (HBASE-8561) [replication] Don't instantiate a ReplicationSource if the passed implementation isn't found

    [ https://issues.apache.org/jira/browse/HBASE-8561?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13728227#comment-13728227 ] 

Jean-Daniel Cryans commented on HBASE-8561:
-------------------------------------------

[~sunitha muralidharan] yes that sounds good.
                
> [replication] Don't instantiate a ReplicationSource if the passed implementation isn't found
> --------------------------------------------------------------------------------------------
>
>                 Key: HBASE-8561
>                 URL: https://issues.apache.org/jira/browse/HBASE-8561
>             Project: HBase
>          Issue Type: Improvement
>    Affects Versions: 0.94.6.1
>            Reporter: Jean-Daniel Cryans
>             Fix For: 0.98.0, 0.95.2
>
>
> I was debugging a case where the region servers were dying with:
> {noformat}
> ABORTING region server someserver.com,60020,1368123702806: Writing replication status 
> org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode for /hbase/replication/rs/someserver.com,60020,1368123702806/etcetcetc/somserver.com%2C60020%2C1368123702740.1368123705091 
> at org.apache.zookeeper.KeeperException.create(KeeperException.java:111) 
> at org.apache.zookeeper.KeeperException.create(KeeperException.java:51) 
> at org.apache.zookeeper.ZooKeeper.setData(ZooKeeper.java:1266) 
> at org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.setData(RecoverableZooKeeper.java:354) 
> at org.apache.hadoop.hbase.zookeeper.ZKUtil.setData(ZKUtil.java:846) 
> at org.apache.hadoop.hbase.zookeeper.ZKUtil.setData(ZKUtil.java:898) 
> at org.apache.hadoop.hbase.zookeeper.ZKUtil.setData(ZKUtil.java:892) 
> at org.apache.hadoop.hbase.replication.ReplicationZookeeper.writeReplicationStatus(ReplicationZookeeper.java:558) 
> at org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceManager.logPositionAndCleanOldLogs(ReplicationSourceManager.java:154) 
> at org.apache.hadoop.hbase.replication.regionserver.ReplicationSource.shipEdits(ReplicationSource.java:638) 
> at org.apache.hadoop.hbase.replication.regionserver.ReplicationSource.run(ReplicationSource.java:387)
> {noformat}
> Turns out the problem really was:
> {noformat}
> 2013-05-09 11:21:45,625 WARN org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceManager: Passed replication source implementation throws errors, defaulting to ReplicationSource
> java.lang.ClassNotFoundException: Some.Other.ReplicationSource.Implementation
> 	at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
> 	at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
> 	at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
> 	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
> 	at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
> 	at java.lang.Class.forName0(Native Method)
> 	at java.lang.Class.forName(Class.java:186)
> 	at org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceManager.getReplicationSource(ReplicationSourceManager.java:324)
> 	at org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceManager.addSource(ReplicationSourceManager.java:202)
> 	at org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceManager.init(ReplicationSourceManager.java:174)
> 	at org.apache.hadoop.hbase.replication.regionserver.Replication.startReplicationService(Replication.java:171)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.startServiceThreads(HRegionServer.java:1583)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.handleReportForDutyResponse(HRegionServer.java:1042)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.run(HRegionServer.java:698)
> 	at java.lang.Thread.run(Thread.java:722)
> {noformat}
> So I think instantiating a ReplicationSource here is wrong and makes it harder to debug.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira