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

Suresh Srinivas commented on HDFS-3005:
---------------------------------------

Comments:
# FSDir has line > 80 columns
# decDfsUsed() - can you add to the method javadoc, that the call to this 
method is made only from FSVolume#decDfsUsed(), which is synchronized.
# Please add to FSVolume class javadoc, it uses the FSDataset for 
synchronization. Also add javadoc to BlockPoolSlice class that it does not have 
any synchronization. It is used only by FSVolume and is synchronized by it.
# Can you also handle checkDirs() TODO:
# We should consider moving the static classes into a separate file. Also we 
should consider making BlockPoolSlice an inner class of FSVolume. This could be 
in another jira.

I am not sure how we can test this. Any ideas?
                
> ConcurrentModificationException in FSDataset$FSVolume.getDfsUsed(..)
> --------------------------------------------------------------------
>
>                 Key: HDFS-3005
>                 URL: https://issues.apache.org/jira/browse/HDFS-3005
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: data-node
>    Affects Versions: 0.24.0
>            Reporter: Tsz Wo (Nicholas), SZE
>            Assignee: Tsz Wo (Nicholas), SZE
>         Attachments: HDFS-3005.patch, h3005_20120312.patch
>
>
> Saw this in [build 
> #1888|https://builds.apache.org/job/PreCommit-HDFS-Build/1888//testReport/org.apache.hadoop.hdfs.server.datanode/TestMulitipleNNDataBlockScanner/testBlockScannerAfterRestart/].
> {noformat}
> java.util.ConcurrentModificationException
>       at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793)
>       at java.util.HashMap$EntryIterator.next(HashMap.java:834)
>       at java.util.HashMap$EntryIterator.next(HashMap.java:832)
>       at 
> org.apache.hadoop.hdfs.server.datanode.FSDataset$FSVolume.getDfsUsed(FSDataset.java:557)
>       at 
> org.apache.hadoop.hdfs.server.datanode.FSDataset$FSVolumeSet.getDfsUsed(FSDataset.java:809)
>       at 
> org.apache.hadoop.hdfs.server.datanode.FSDataset$FSVolumeSet.access$1400(FSDataset.java:774)
>       at 
> org.apache.hadoop.hdfs.server.datanode.FSDataset.getDfsUsed(FSDataset.java:1124)
>       at 
> org.apache.hadoop.hdfs.server.datanode.BPOfferService.sendHeartBeat(BPOfferService.java:406)
>       at 
> org.apache.hadoop.hdfs.server.datanode.BPOfferService.offerService(BPOfferService.java:490)
>       at 
> org.apache.hadoop.hdfs.server.datanode.BPOfferService.run(BPOfferService.java:635)
>       at java.lang.Thread.run(Thread.java:662)
> {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to