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 "Tsz Wo (Nicholas), SZE (JIRA)" <ji...@apache.org> on 2013/08/02 00:39:48 UTC
[jira] [Assigned] (HDFS-5028) LeaseRenewer throw
java.util.ConcurrentModificationException when timeout
[ https://issues.apache.org/jira/browse/HDFS-5028?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tsz Wo (Nicholas), SZE reassigned HDFS-5028:
--------------------------------------------
Assignee: zhaoyunjiong
> 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
> Assignee: 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