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

yanghuafeng commented on HDFS-13836:
------------------------------------

I have found that it may be better to manage null value in the 
ZkCuratorManager.getString(). But the method getString() has throw an 
exception, including the NPE. In the StateStoreZooKeeperImpl.get(), we have 
caught the Exception but we just log the error not to delete the corrupted 
znode. In general we also in the catch clause judge the NPE and delete the 
anode. Now we just judge the null in advance. So I am not sure which is better.

{code:java}
try{
 String path = getNodePath(znode, child);
 Stat stat = new Stat();
 String data = zkManager.getStringData(path, stat);
......
} catch (Exception e) {
          LOG.error("Cannot get data for {}: {}", child, e.getMessage());
        }
{code}

> RBF: To handle the exception when the mounttable znode have null value.
> -----------------------------------------------------------------------
>
>                 Key: HDFS-13836
>                 URL: https://issues.apache.org/jira/browse/HDFS-13836
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: federation, hdfs
>    Affects Versions: 3.1.0
>            Reporter: yanghuafeng
>            Assignee: yanghuafeng
>            Priority: Major
>             Fix For: 2.9.0, 3.0.0, 3.1.0, 3.2.0
>
>         Attachments: HDFS-13836.001.patch, HDFS-13836.002.patch, 
> HDFS-13836.003.patch, HDFS-13836.004.patch
>
>
> When we are adding the mounttable entry, the router sever is terminated. 
> Some error messages show in log, as follow:
>  2018-08-20 14:18:32,404 ERROR 
> org.apache.hadoop.hdfs.server.federation.store.driver.impl.StateStoreZooKeeperImpl:
>  Cannot get data for 0SLASH0testzk: null. 
> The reason is that router server have created the znode but not to set data 
> before being terminated. But the method zkManager.getStringData(path, stat) 
> will throw NPE if the path has null value in the StateStoreZooKeeperImpl, 
> leading to fail in adding the same mounttable entry and deleting the existing 
> znode.



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