You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "akil ajani (JIRA)" <ji...@apache.org> on 2009/01/17 09:51:59 UTC

[jira] Created: (JCR-1939) If we threading to add nodes into the repository

If we threading to add nodes into the repository
------------------------------------------------

                 Key: JCR-1939
                 URL: https://issues.apache.org/jira/browse/JCR-1939
             Project: Jackrabbit Content Repository
          Issue Type: Bug
    Affects Versions: 1.5.0
         Environment: Microsoft windows XP professional, 2GB ram
            Reporter: akil ajani
             Fix For: 1.5.0


Senario 1: 
we have a root node and it has 1 parent node. i am trying to add 600 nodes to that parent node. so i have created 3 threads and each thread is adding 200 nodes. it works for some time and later on throws an exception

java.util.ConcurrentModificationException
	at java.util.HashMap$HashIterator.nextEntry(HashMap.java:787)
	at java.util.HashMap$ValueIterator.next(HashMap.java:817)
	at java.util.Collections$UnmodifiableCollection$1.next(Collections.java:1010)
	at org.apache.jackrabbit.core.state.SessionItemStateManager.getDescendantTransientItemStates(SessionItemStateManager.java:376)
	at org.apache.jackrabbit.core.ItemImpl.getTransientStates(ItemImpl.java:361)
	at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1079)
	at org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:849)

some time it gets HANGED

Scenario:2
we have a root node and it has 2 parent node. i am trying to add 600 nodes to eac parent node. so i have created 2 threads and each thread is adding 600 nodes to cach parent node. it works for some time and later on throws an exception

java.util.ConcurrentModificationException
	at java.util.HashMap$HashIterator.nextEntry(HashMap.java:787)
	at java.util.HashMap$ValueIterator.next(HashMap.java:817)
	at java.util.Collections$UnmodifiableCollection$1.next(Collections.java:1010)
	at org.apache.jackrabbit.core.state.SessionItemStateManager.getDescendantTransientItemStates(SessionItemStateManager.java:376)
	at org.apache.jackrabbit.core.ItemImpl.getTransientStates(ItemImpl.java:361)
	at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1079)
	at org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:849)

some time it gets HANGED

please help me to resolve this issue as soon as possible. i would be thankful to you if you could provide me the solution for this as soon as possible


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (JCR-1939) If we threading to add nodes into the repository

Posted by "Jukka Zitting (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-1939?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12664810#action_12664810 ] 

Jukka Zitting commented on JCR-1939:
------------------------------------

It looks very much like you are using the *same* session from multiple threads. That is not supported (see the JCR spec about thread-safety of sessions). Instead, use a separate session for each thread.

> If we threading to add nodes into the repository
> ------------------------------------------------
>
>                 Key: JCR-1939
>                 URL: https://issues.apache.org/jira/browse/JCR-1939
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>    Affects Versions: 1.5.0
>         Environment: Microsoft windows XP professional, 2GB ram
>            Reporter: akil ajani
>             Fix For: 1.5.0
>
>
> Senario 1: 
> we have a root node and it has 1 parent node. i am trying to add 600 nodes to that parent node. so i have created 3 threads and each thread is adding 200 nodes. it works for some time and later on throws an exception
> java.util.ConcurrentModificationException
> 	at java.util.HashMap$HashIterator.nextEntry(HashMap.java:787)
> 	at java.util.HashMap$ValueIterator.next(HashMap.java:817)
> 	at java.util.Collections$UnmodifiableCollection$1.next(Collections.java:1010)
> 	at org.apache.jackrabbit.core.state.SessionItemStateManager.getDescendantTransientItemStates(SessionItemStateManager.java:376)
> 	at org.apache.jackrabbit.core.ItemImpl.getTransientStates(ItemImpl.java:361)
> 	at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1079)
> 	at org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:849)
> some time it gets HANGED
> Scenario:2
> we have a root node and it has 2 parent node. i am trying to add 600 nodes to eac parent node. so i have created 2 threads and each thread is adding 600 nodes to cach parent node. it works for some time and later on throws an exception
> java.util.ConcurrentModificationException
> 	at java.util.HashMap$HashIterator.nextEntry(HashMap.java:787)
> 	at java.util.HashMap$ValueIterator.next(HashMap.java:817)
> 	at java.util.Collections$UnmodifiableCollection$1.next(Collections.java:1010)
> 	at org.apache.jackrabbit.core.state.SessionItemStateManager.getDescendantTransientItemStates(SessionItemStateManager.java:376)
> 	at org.apache.jackrabbit.core.ItemImpl.getTransientStates(ItemImpl.java:361)
> 	at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1079)
> 	at org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:849)
> some time it gets HANGED
> please help me to resolve this issue as soon as possible. i would be thankful to you if you could provide me the solution for this as soon as possible

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (JCR-1939) If we threading to add nodes into the repository

Posted by "akil ajani (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-1939?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12665411#action_12665411 ] 

akil ajani commented on JCR-1939:
---------------------------------


Thanks sir for the information. And also I have tried this option 

we have a root node and it has 2 parent node. i am trying to add 600 nodes to each parent node. so i have created 2 threads, 2 session and each thread is adding 600 nodes to each parent node in different session.

Thread1(Each thread adding 600 Nodes)---> session1--->ParentNodeA 

Thread2(Each thread adding 600 Nodes)---> session2--->ParentNodeB

This works fine and there is no issue. Can you please conform whether there would be any exception like InvalidItemStateException anytime or there would not be any issue and it works fine.





> If we threading to add nodes into the repository
> ------------------------------------------------
>
>                 Key: JCR-1939
>                 URL: https://issues.apache.org/jira/browse/JCR-1939
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>    Affects Versions: 1.5.0
>         Environment: Microsoft windows XP professional, 2GB ram
>            Reporter: akil ajani
>            Assignee: Jukka Zitting
>             Fix For: 1.5.0
>
>
> Senario 1: 
> we have a root node and it has 1 parent node. i am trying to add 600 nodes to that parent node. so i have created 3 threads and each thread is adding 200 nodes. it works for some time and later on throws an exception
> java.util.ConcurrentModificationException
> 	at java.util.HashMap$HashIterator.nextEntry(HashMap.java:787)
> 	at java.util.HashMap$ValueIterator.next(HashMap.java:817)
> 	at java.util.Collections$UnmodifiableCollection$1.next(Collections.java:1010)
> 	at org.apache.jackrabbit.core.state.SessionItemStateManager.getDescendantTransientItemStates(SessionItemStateManager.java:376)
> 	at org.apache.jackrabbit.core.ItemImpl.getTransientStates(ItemImpl.java:361)
> 	at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1079)
> 	at org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:849)
> some time it gets HANGED
> Scenario:2
> we have a root node and it has 2 parent node. i am trying to add 600 nodes to eac parent node. so i have created 2 threads and each thread is adding 600 nodes to cach parent node. it works for some time and later on throws an exception
> java.util.ConcurrentModificationException
> 	at java.util.HashMap$HashIterator.nextEntry(HashMap.java:787)
> 	at java.util.HashMap$ValueIterator.next(HashMap.java:817)
> 	at java.util.Collections$UnmodifiableCollection$1.next(Collections.java:1010)
> 	at org.apache.jackrabbit.core.state.SessionItemStateManager.getDescendantTransientItemStates(SessionItemStateManager.java:376)
> 	at org.apache.jackrabbit.core.ItemImpl.getTransientStates(ItemImpl.java:361)
> 	at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1079)
> 	at org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:849)
> some time it gets HANGED
> please help me to resolve this issue as soon as possible. i would be thankful to you if you could provide me the solution for this as soon as possible

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (JCR-1939) If we threading to add nodes into the repository

Posted by "Alexander Klimetschek (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-1939?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12665377#action_12665377 ] 

Alexander Klimetschek commented on JCR-1939:
--------------------------------------------

The InvalidItemStateException in this case is perfectly normal for the JCR API, since both threads are simultanously adding nodes to the same parent, which must be synchronized on the client. Jackrabbit does not try to "merge" these conflicting operations, but notifies the client via the InvalidItemStateException instead.

See Item.save()/Session.save(): http://day.com/maven/jsr170/javadocs/jcr-1.0/javax/jcr/Item.html#save() :

Throws
InvalidItemStateException - if any of the changes to be persisted conflicts with a change already persisted through another session and the implementation is such that this conflict can only be detected at save-time and therefore was not detected earlier, at change-time. 

> If we threading to add nodes into the repository
> ------------------------------------------------
>
>                 Key: JCR-1939
>                 URL: https://issues.apache.org/jira/browse/JCR-1939
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>    Affects Versions: 1.5.0
>         Environment: Microsoft windows XP professional, 2GB ram
>            Reporter: akil ajani
>            Assignee: Jukka Zitting
>             Fix For: 1.5.0
>
>
> Senario 1: 
> we have a root node and it has 1 parent node. i am trying to add 600 nodes to that parent node. so i have created 3 threads and each thread is adding 200 nodes. it works for some time and later on throws an exception
> java.util.ConcurrentModificationException
> 	at java.util.HashMap$HashIterator.nextEntry(HashMap.java:787)
> 	at java.util.HashMap$ValueIterator.next(HashMap.java:817)
> 	at java.util.Collections$UnmodifiableCollection$1.next(Collections.java:1010)
> 	at org.apache.jackrabbit.core.state.SessionItemStateManager.getDescendantTransientItemStates(SessionItemStateManager.java:376)
> 	at org.apache.jackrabbit.core.ItemImpl.getTransientStates(ItemImpl.java:361)
> 	at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1079)
> 	at org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:849)
> some time it gets HANGED
> Scenario:2
> we have a root node and it has 2 parent node. i am trying to add 600 nodes to eac parent node. so i have created 2 threads and each thread is adding 600 nodes to cach parent node. it works for some time and later on throws an exception
> java.util.ConcurrentModificationException
> 	at java.util.HashMap$HashIterator.nextEntry(HashMap.java:787)
> 	at java.util.HashMap$ValueIterator.next(HashMap.java:817)
> 	at java.util.Collections$UnmodifiableCollection$1.next(Collections.java:1010)
> 	at org.apache.jackrabbit.core.state.SessionItemStateManager.getDescendantTransientItemStates(SessionItemStateManager.java:376)
> 	at org.apache.jackrabbit.core.ItemImpl.getTransientStates(ItemImpl.java:361)
> 	at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1079)
> 	at org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:849)
> some time it gets HANGED
> please help me to resolve this issue as soon as possible. i would be thankful to you if you could provide me the solution for this as soon as possible

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (JCR-1939) If we threading to add nodes into the repository

Posted by "akil ajani (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-1939?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12664811#action_12664811 ] 

akil ajani commented on JCR-1939:
---------------------------------


I have seen JCR-1359 seems that it also has some issue. Even if we use separate thread for each session. Can you please conform me. Also can you please provide me a link for JCR spec about thread-safety of sessions.



> If we threading to add nodes into the repository
> ------------------------------------------------
>
>                 Key: JCR-1939
>                 URL: https://issues.apache.org/jira/browse/JCR-1939
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>    Affects Versions: 1.5.0
>         Environment: Microsoft windows XP professional, 2GB ram
>            Reporter: akil ajani
>             Fix For: 1.5.0
>
>
> Senario 1: 
> we have a root node and it has 1 parent node. i am trying to add 600 nodes to that parent node. so i have created 3 threads and each thread is adding 200 nodes. it works for some time and later on throws an exception
> java.util.ConcurrentModificationException
> 	at java.util.HashMap$HashIterator.nextEntry(HashMap.java:787)
> 	at java.util.HashMap$ValueIterator.next(HashMap.java:817)
> 	at java.util.Collections$UnmodifiableCollection$1.next(Collections.java:1010)
> 	at org.apache.jackrabbit.core.state.SessionItemStateManager.getDescendantTransientItemStates(SessionItemStateManager.java:376)
> 	at org.apache.jackrabbit.core.ItemImpl.getTransientStates(ItemImpl.java:361)
> 	at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1079)
> 	at org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:849)
> some time it gets HANGED
> Scenario:2
> we have a root node and it has 2 parent node. i am trying to add 600 nodes to eac parent node. so i have created 2 threads and each thread is adding 600 nodes to cach parent node. it works for some time and later on throws an exception
> java.util.ConcurrentModificationException
> 	at java.util.HashMap$HashIterator.nextEntry(HashMap.java:787)
> 	at java.util.HashMap$ValueIterator.next(HashMap.java:817)
> 	at java.util.Collections$UnmodifiableCollection$1.next(Collections.java:1010)
> 	at org.apache.jackrabbit.core.state.SessionItemStateManager.getDescendantTransientItemStates(SessionItemStateManager.java:376)
> 	at org.apache.jackrabbit.core.ItemImpl.getTransientStates(ItemImpl.java:361)
> 	at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1079)
> 	at org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:849)
> some time it gets HANGED
> please help me to resolve this issue as soon as possible. i would be thankful to you if you could provide me the solution for this as soon as possible

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (JCR-1939) If we threading to add nodes into the repository

Posted by "akil ajani (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-1939?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12664816#action_12664816 ] 

akil ajani commented on JCR-1939:
---------------------------------


Hi,
Please see my code for adding nodes into the jackrabbit by using threads in different session.

package com.cognizant.jackrabbit;

import javax.jcr.ItemExistsException;
import javax.jcr.Node;
import javax.jcr.PathNotFoundException;
import javax.jcr.Repository;
import javax.jcr.RepositoryException;
import javax.jcr.Session;
import javax.jcr.SimpleCredentials;
import javax.jcr.lock.LockException;
import javax.jcr.nodetype.ConstraintViolationException;
import javax.jcr.version.VersionException;

public class RepositoryDiffSession {

	/**
	 * @param args
	 */
	public void startAddingKnowledge(){
	Repository repository = null;
	Session jcrSession;

	 try {
		repository = RepositoryFactory.getInstance("D:/Tomcat 5.0/webapps/JCRTimeLine","login","D:/JCRTimeLine").getRepository();
		jcrSession = repository.login(new SimpleCredentials("userName","password".toCharArray()));
		Node rootNode = jcrSession.getRootNode();
		rootNode.addNode ("A");
		rootNode.save();
		final Session session1 = repository.login (new SimpleCredentials ("userName", "password".toCharArray()));
		final Session session2 = repository.login (new SimpleCredentials ("userName", "password".toCharArray()));
	
	Thread thread1 = new Thread (new Runnable()
	{
	        public void run()
	        {
	                try
	                {
	                        addNodes ("A", session1, 0 , 500);
	                }
	                catch (RepositoryException ex)
	                {
	                        throw new RuntimeException (ex);
	                }
	        }
	});
	
	Thread thread2 = new Thread (new Runnable()
	{
	        public void run()
	        {
	                try
	                {
	                        addNodes ("A", session2, 501 ,1000);
	                    }
	                    catch (RepositoryException ex)
	                    {
	                            throw new RuntimeException (ex);
	                    }
	            }
	    });
	
	    thread1.start();
	    thread2.start();
		thread1.join();
		thread2.join();
		
		}catch (ItemExistsException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (PathNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (VersionException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ConstraintViolationException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (LockException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (RepositoryException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	private void addNodes (String parentName, Session session, int startIndex , int endIndex)
	    throws RepositoryException
	{
	    Node parentNode = session.getRootNode().getNode (parentName);
	    for (int i = startIndex; i < endIndex; i++)
	    {
	            String name = Integer.toString (i);
	            parentNode.addNode (name);
	            parentNode.save();
	            System.out.println("Document " + name + " added successfully...");
	    } 
	}
	public static void main(String[] args) {
		RepositoryDiffSession repositoryDiffSession = new RepositoryDiffSession();
		repositoryDiffSession.startAddingKnowledge();
	}
}

I faced this exception

Exception in thread "Thread-10" java.lang.RuntimeException: javax.jcr.InvalidItemStateException: 7cc640a9-5dad-44c7-ae5a-90cfd37b87db has been modified externally
	at com.cognizant.jackrabbit.RepositoryDiffSession$1.run(RepositoryDiffSession.java:43)
	at java.lang.Thread.run(Thread.java:595)
Caused by: javax.jcr.InvalidItemStateException: 7cc640a9-5dad-44c7-ae5a-90cfd37b87db has been modified externally
	at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1109)
	at com.cognizant.jackrabbit.RepositoryDiffSession.addNodes(RepositoryDiffSession.java:100)

the exception occurred is exactly similar with JCR-1359. Please help me to resolve this.




> If we threading to add nodes into the repository
> ------------------------------------------------
>
>                 Key: JCR-1939
>                 URL: https://issues.apache.org/jira/browse/JCR-1939
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>    Affects Versions: 1.5.0
>         Environment: Microsoft windows XP professional, 2GB ram
>            Reporter: akil ajani
>            Assignee: Jukka Zitting
>             Fix For: 1.5.0
>
>
> Senario 1: 
> we have a root node and it has 1 parent node. i am trying to add 600 nodes to that parent node. so i have created 3 threads and each thread is adding 200 nodes. it works for some time and later on throws an exception
> java.util.ConcurrentModificationException
> 	at java.util.HashMap$HashIterator.nextEntry(HashMap.java:787)
> 	at java.util.HashMap$ValueIterator.next(HashMap.java:817)
> 	at java.util.Collections$UnmodifiableCollection$1.next(Collections.java:1010)
> 	at org.apache.jackrabbit.core.state.SessionItemStateManager.getDescendantTransientItemStates(SessionItemStateManager.java:376)
> 	at org.apache.jackrabbit.core.ItemImpl.getTransientStates(ItemImpl.java:361)
> 	at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1079)
> 	at org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:849)
> some time it gets HANGED
> Scenario:2
> we have a root node and it has 2 parent node. i am trying to add 600 nodes to eac parent node. so i have created 2 threads and each thread is adding 600 nodes to cach parent node. it works for some time and later on throws an exception
> java.util.ConcurrentModificationException
> 	at java.util.HashMap$HashIterator.nextEntry(HashMap.java:787)
> 	at java.util.HashMap$ValueIterator.next(HashMap.java:817)
> 	at java.util.Collections$UnmodifiableCollection$1.next(Collections.java:1010)
> 	at org.apache.jackrabbit.core.state.SessionItemStateManager.getDescendantTransientItemStates(SessionItemStateManager.java:376)
> 	at org.apache.jackrabbit.core.ItemImpl.getTransientStates(ItemImpl.java:361)
> 	at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1079)
> 	at org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:849)
> some time it gets HANGED
> please help me to resolve this issue as soon as possible. i would be thankful to you if you could provide me the solution for this as soon as possible

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (JCR-1939) If we threading to add nodes into the repository

Posted by "Jukka Zitting (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-1939?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jukka Zitting resolved JCR-1939.
--------------------------------

    Resolution: Invalid
      Assignee: Jukka Zitting

The JCR-1359 issue is already fixed.

See section 7.5 Thread-Safety Requirements in the JCR spec for more details on the thread-safety requirements.

Resolving as Invalid since this seems to be a client issue.

PS. Perhaps we really should be synchronizing all relevant JCR methods against the current session to avoid breakage like this.

> If we threading to add nodes into the repository
> ------------------------------------------------
>
>                 Key: JCR-1939
>                 URL: https://issues.apache.org/jira/browse/JCR-1939
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>    Affects Versions: 1.5.0
>         Environment: Microsoft windows XP professional, 2GB ram
>            Reporter: akil ajani
>            Assignee: Jukka Zitting
>             Fix For: 1.5.0
>
>
> Senario 1: 
> we have a root node and it has 1 parent node. i am trying to add 600 nodes to that parent node. so i have created 3 threads and each thread is adding 200 nodes. it works for some time and later on throws an exception
> java.util.ConcurrentModificationException
> 	at java.util.HashMap$HashIterator.nextEntry(HashMap.java:787)
> 	at java.util.HashMap$ValueIterator.next(HashMap.java:817)
> 	at java.util.Collections$UnmodifiableCollection$1.next(Collections.java:1010)
> 	at org.apache.jackrabbit.core.state.SessionItemStateManager.getDescendantTransientItemStates(SessionItemStateManager.java:376)
> 	at org.apache.jackrabbit.core.ItemImpl.getTransientStates(ItemImpl.java:361)
> 	at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1079)
> 	at org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:849)
> some time it gets HANGED
> Scenario:2
> we have a root node and it has 2 parent node. i am trying to add 600 nodes to eac parent node. so i have created 2 threads and each thread is adding 600 nodes to cach parent node. it works for some time and later on throws an exception
> java.util.ConcurrentModificationException
> 	at java.util.HashMap$HashIterator.nextEntry(HashMap.java:787)
> 	at java.util.HashMap$ValueIterator.next(HashMap.java:817)
> 	at java.util.Collections$UnmodifiableCollection$1.next(Collections.java:1010)
> 	at org.apache.jackrabbit.core.state.SessionItemStateManager.getDescendantTransientItemStates(SessionItemStateManager.java:376)
> 	at org.apache.jackrabbit.core.ItemImpl.getTransientStates(ItemImpl.java:361)
> 	at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1079)
> 	at org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:849)
> some time it gets HANGED
> please help me to resolve this issue as soon as possible. i would be thankful to you if you could provide me the solution for this as soon as possible

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.