[
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$
[email protected]" 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-4951Project: 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.