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

Íñigo Goiri commented on HDFS-14422:
------------------------------------

Thanks [~ayushtkn] for the comments.
Yes, with this change, we are making the Router pretty much turn off but with 
properly replies.
The idea behind this was that the Router would have a cached copy of the mount 
table and would be able to return for read replies with a stale mount table.
>From the stack trace, this is not the case and if the State Store is 
>unreachable the Mount Table is useless.
The good thing about being in safe mode is that it let's the client retry in 
other Routers that might be healthy.
The other option would be to catch this exception ({{Mount Table not 
initialized}}) we are getting and making it a Standby one too.

> RBF: Router shouldn't allow READ operations in safe mode
> --------------------------------------------------------
>
>                 Key: HDFS-14422
>                 URL: https://issues.apache.org/jira/browse/HDFS-14422
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>            Reporter: Íñigo Goiri
>            Assignee: Íñigo Goiri
>            Priority: Major
>         Attachments: HDFS-14422-HDFS-13891.000.patch
>
>
> We are currently seeing:
> org.apache.hadoop.hdfs.server.federation.store.StateStoreUnavailableException:
>  Mount Table not initialized
>       at 
> org.apache.hadoop.hdfs.server.federation.resolver.MountTableResolver.verifyMountTable(MountTableResolver.java:521)
>       at 
> org.apache.hadoop.hdfs.server.federation.resolver.MountTableResolver.getDestinationForPath(MountTableResolver.java:394)
>       at 
> org.apache.hadoop.hdfs.server.federation.resolver.MultipleDestinationMountTableResolver.getDestinationForPath(MultipleDestinationMountTableResolver.java:87)
>       at 
> org.apache.hadoop.hdfs.server.federation.router.RouterRpcServer.getLocationsForPath(RouterRpcServer.java:1258)
>       at 
> org.apache.hadoop.hdfs.server.federation.router.RouterClientProtocol.getFileInfo(RouterClientProtocol.java:747)
>       at 
> org.apache.hadoop.hdfs.server.federation.router.RouterRpcServer.getFileInfo(RouterRpcServer.java:749)
>       at 
> org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.getFileInfo(ClientNamenodeProtocolServerSideTranslatorPB.java:881)
>       at 
> org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)
>       at 
> org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:513)
>       at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:1011)
>       at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:871)
>       at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:817)
>       at java.security.AccessController.doPrivileged(Native Method)
>       at javax.security.auth.Subject.doAs(Subject.java:422)
>       at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1915)
>       at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2621)
> The Namenode allows READ operations but for the Router not being able to 
> access the State Store also hits the read operations.



--
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