David Bosschaert created SLING-6831:
---------------------------------------
Summary: ConcurrentModificationException in OSGi Installer
Key: SLING-6831
URL: https://issues.apache.org/jira/browse/SLING-6831
Project: Sling
Issue Type: Bug
Components: Installer
Affects Versions: Installer Core 3.8.6
Reporter: David Bosschaert
Fix For: Installer Core 3.8.8
Under certain scenarios I'm getting:
{code}java.util.ConcurrentModificationException: null
at java.util.HashMap$HashIterator.nextNode(HashMap.java:1437)
at java.util.HashMap$KeyIterator.next(HashMap.java:1461)
at
org.apache.sling.installer.core.impl.OsgiInstallerImpl.getInstallationState(OsgiInstallerImpl.java:1390)
...{code}
To me this seems caused by the fact that the Map datastructure in the
PersistentResourceList is non-concurrent.
PersistentResourceList.getEntityIds() returns the map's values directly. This
is what is used in OsgiInstallerImpl line 1390:
{code}
public Collection<String> getEntityIds() {
return this.data.keySet();
}{code}
And the client code iterates over that, causing the exception.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)