You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-dev@hadoop.apache.org by "lujie (JIRA)" <ji...@apache.org> on 2018/04/15 09:01:00 UTC
[jira] [Created] (HDFS-13451) Fix Some Potential NPE
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:
{code:java}
public DatanodeDescriptor getDatanode(int index) {
DatanodeStorageInfo storage = getStorageInfo(index);
return storage == null ? null : storage.getDatanodeDescriptor();
}
{code}
it has 4 callers, 3 of them have \!=null checker, like in CacheReplicationMonitor#addNewPendingCached:
{code:java}
DatanodeDescriptor datanode = blockInfo.getDatanode(i);
if (datanode == null) {
continue;
}
{code}
but in caller NamenodeFsck#blockIdCK have no \!null checker, we add checker just like CacheReplicationMonitor#addNewPendingCached
{code:java}
DatanodeDescriptor dn = blockInfo.getDatanode(idx);
if (dn == null) {
continue;
}
{code}
But due to we are not very familiar with CASSANDRA, hope some expert can review it. Thanks!!!!
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-dev-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-dev-help@hadoop.apache.org