[ 
https://issues.apache.org/jira/browse/HADOOP-951?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12468811
 ] 

Konstantin Shvachko commented on HADOOP-951:
--------------------------------------------

IMO this issue is the race condition bug and should be fixed in a traditional 
way.

ConcurrentHashMap is an interesting concept, we should definitely take it into 
consideration
when we decide to optimize our data structures and locking.
I cannot estimate the amount of changes the name-node code will require at this 
point
if we introduce ConcurrentHashMap because of its different semantics.
And we should not forget in chooseTargets() the name-node is under the global 
lock.
Fine grained locking under that lock seems to be a waste of resources.


>  java.util.ConcurrentModificationException  in FSNamesystem.chooseTargets
> -------------------------------------------------------------------------
>
>                 Key: HADOOP-951
>                 URL: https://issues.apache.org/jira/browse/HADOOP-951
>             Project: Hadoop
>          Issue Type: Bug
>          Components: dfs
>    Affects Versions: 0.10.1
>            Reporter: Koji Noguchi
>
> 2007-01-26 01:14:37,509 INFO org.apache.hadoop.ipc.Server: IPC Server handler 
> 7 on 8020 call error: java.io.IOException: 
> java.util.ConcurrentModificationException
> java.io.IOException: java.util.ConcurrentModificationException
>   at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:449)
>   at java.util.AbstractList$Itr.next(AbstractList.java:420)
>   at org.apache.hadoop.dfs.FSNamesystem.chooseTargets(FSNamesystem.java:2282)
>   at org.apache.hadoop.dfs.FSNamesystem.startFile(FSNamesystem.java:484)
>   at org.apache.hadoop.dfs.NameNode.create(NameNode.java:238)
>   at sun.reflect.GeneratedMethodAccessor60.invoke(Unknown Source)
>   at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>   at java.lang.reflect.Method.invoke(Method.java:585)
>   at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:337)
>   at org.apache.hadoop.ipc.Server$Handler.run(Server.java:538)
> Not sure if it's related, but this exception happend when namenode was 
> replicating many blocks.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to