You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-issues@hadoop.apache.org by "Kousuke Saruta (JIRA)" <ji...@apache.org> on 2013/07/30 00:55:49 UTC
[jira] [Commented] (HDFS-5028) LeaseRenewer throw
java.util.ConcurrentModificationException when timeout
[ https://issues.apache.org/jira/browse/HDFS-5028?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13723095#comment-13723095 ]
Kousuke Saruta commented on HDFS-5028:
--------------------------------------
Hi zahoyunjiong,
I think your modification may reduce the likelihood of this issue but doesn't address essentially.
Instead, how about synchronizing "dfsclients"?
How do you think?
> LeaseRenewer throw java.util.ConcurrentModificationException when timeout
> -------------------------------------------------------------------------
>
> Key: HDFS-5028
> URL: https://issues.apache.org/jira/browse/HDFS-5028
> Project: Hadoop HDFS
> Issue Type: Bug
> Affects Versions: 1.1.0, 2.0.0-alpha
> Reporter: zhaoyunjiong
> Fix For: 1.1.3
>
> Attachments: HDFS-5028-branch-1.1.patch, HDFS-5028.patch
>
>
> In LeaseRenewer, when renew() throw SocketTimeoutException, c.abort() will remove one dfsclient from dfsclients. Here will throw a ConcurrentModificationException because dfsclients changed after the iterator created by "for(DFSClient c : dfsclients)":
> Exception in thread "org.apache.hadoop.hdfs.LeaseRenewer$1@75fa1077" java.util.ConcurrentModificationException
> at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
> at java.util.AbstractList$Itr.next(AbstractList.java:343)
> at org.apache.hadoop.hdfs.LeaseRenewer.run(LeaseRenewer.java:406)
> at org.apache.hadoop.hdfs.LeaseRenewer.access$600(LeaseRenewer.java:69)
> at org.apache.hadoop.hdfs.LeaseRenewer$1.run(LeaseRenewer.java:273)
> at java.lang.Thread.run(Thread.java:662)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira