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

Wei Yan commented on HDFS-13198:
--------------------------------

Put a quick fix [^HDFS-13198.000.patch] for the issue.

Regarding the test case, not sure what is the good way to do. As now 
RouterHeartbeatService will ingest exceptions, so testcase actually cannot 
catch exceptions there. One way may be, let method updateStateStore() throw out 
different types of exceptions and let method updateStateAsync() to decide the 
log message. In such way, the testcase can verify different exceptions there.

> RBF: RouterHeartbeatService throws out CachedStateStore related exceptions 
> when starting router
> -----------------------------------------------------------------------------------------------
>
>                 Key: HDFS-13198
>                 URL: https://issues.apache.org/jira/browse/HDFS-13198
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>            Reporter: Wei Yan
>            Assignee: Wei Yan
>            Priority: Minor
>         Attachments: HDFS-13198.000.patch
>
>
> Exception looks like:
> {code:java}
> 2018-02-23 19:04:56,341 ERROR router.RouterHeartbeatService: Cannot get 
> version for class 
> org.apache.hadoop.hdfs.server.federation.store.MembershipStore: Cached State 
> Store not initialized, MembershipState records not valid
> 2018-02-23 19:04:56,341 ERROR router.RouterHeartbeatService: Cannot get 
> version for class 
> org.apache.hadoop.hdfs.server.federation.store.MountTableStore: Cached State 
> Store not initialized, MountTable records not valid
> Exception in thread "Router Heartbeat Async" java.lang.NullPointerException
> at 
> org.apache.hadoop.hdfs.server.federation.store.driver.impl.StateStoreSerializableImpl.serialize(StateStoreSerializableImpl.java:60)
> at 
> org.apache.hadoop.hdfs.server.federation.store.driver.impl.StateStoreZooKeeperImpl.putAll(StateStoreZooKeeperImpl.java:191)
> at 
> org.apache.hadoop.hdfs.server.federation.store.driver.impl.StateStoreBaseImpl.put(StateStoreBaseImpl.java:75)
> at 
> org.apache.hadoop.hdfs.server.federation.store.impl.RouterStoreImpl.routerHeartbeat(RouterStoreImpl.java:88)
> at 
> org.apache.hadoop.hdfs.server.federation.router.RouterHeartbeatService.updateStateStore(RouterHeartbeatService.java:95)
> at 
> org.apache.hadoop.hdfs.server.federation.router.RouterHeartbeatService.access$000(RouterHeartbeatService.java:43)
> at 
> org.apache.hadoop.hdfs.server.federation.router.RouterHeartbeatService$1.run(RouterHeartbeatService.java:68)
> at java.lang.Thread.run(Thread.java:748){code}
> This is because, during starting the Router, the CachedStateStore hasn't been 
> initialized and cannot serve requests. Although the router will still be 
> started, it would be better to fix the exceptions.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org

Reply via email to