[
https://issues.apache.org/jira/browse/HADOOP-4951?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Konstantin Shvachko reopened HADOOP-4951:
-----------------------------------------
This did not fix the ConcurrentModificationException. Although it corrected
the synchronization problem.
The exception now looks as
{code}
Exception in thread "org.apache.hadoop.dfs.leasemanager$moni...@2244d990"
java.util.ConcurrentModificationException
at java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1100)
at java.util.TreeMap$KeyIterator.next(TreeMap.java:1154)
at org.apache.hadoop.dfs.LeaseManager.checkLeases(LeaseManager.java:371)
at org.apache.hadoop.dfs.LeaseManager.access$800(LeaseManager.java:51)
at org.apache.hadoop.dfs.LeaseManager$Monitor.run(LeaseManager.java:346)
at java.lang.Thread.run(Thread.java:619)
{code}
Looks like the problem is that {{internalReleaseLease()}} finalizes empty
files, which removes these file path names from the lease. So this modifies the
Collection of file names which we are iterating on.
An additional patch need to be supplied.
> Lease monitor does not own the LeaseManager lock in changing leases.
> --------------------------------------------------------------------
>
> Key: HADOOP-4951
> URL: https://issues.apache.org/jira/browse/HADOOP-4951
> Project: Hadoop Core
> Issue Type: Bug
> Components: dfs
> Affects Versions: 0.18.2
> Reporter: Tsz Wo (Nicholas), SZE
> Assignee: Tsz Wo (Nicholas), SZE
> Priority: Blocker
> Fix For: 0.18.3
>
> Attachments: 4951_20081229.patch, 4951_20081229b.patch,
> 4951_20081229c.patch, 4951_20081229c_0.18.patch, 4951_20081229c_0.19.patch
>
>
> In Monitor.checkLeases(), the monitor thread does not own the LeaseManager
> lock but it may modify the leases.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.