hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "lujie (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HDFS-13451) Fix Some Potential NPE
Date Sun, 15 Apr 2018 09:01:00 GMT
lujie created HDFS-13451:

             Summary: Fix Some Potential NPE
                 Key: HDFS-13451
                 URL: https://issues.apache.org/jira/browse/HDFS-13451
             Project: Hadoop HDFS
          Issue Type: Bug
            Reporter: lujie

We have developed a static analysis tool [NPEDetector|https://github.com/lujiefsi/NPEDetector] to
find some potential NPE. Our analysis shows that some callees may return null in corner case(e.g.
node crash , IO exception), some of their callers have  _!=null_ check but some do not
have. In this issue we post a patch which can add  !=null  based on existed !=null  check.
For example:

callee BlockInfo#getDatanode may return null:
public DatanodeDescriptor getDatanode(int index) {
    DatanodeStorageInfo storage = getStorageInfo(index);
   return storage == null ? null : storage.getDatanodeDescriptor();
it has 4 callers, 3 of them have \!=null checker, like in CacheReplicationMonitor#addNewPendingCached:
DatanodeDescriptor datanode = blockInfo.getDatanode(i);
if (datanode == null) {
but in caller NamenodeFsck#blockIdCK have no \!null checker, we add checker just like CacheReplicationMonitor#addNewPendingCached
DatanodeDescriptor dn = blockInfo.getDatanode(idx);
if (dn == null) {
But due to we are not very  familiar with CASSANDRA, hope some expert can review it. Thanks!!!!

This message was sent by Atlassian JIRA

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

View raw message