jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From loreii alpha <loreii....@gmail.com>
Subject remove property {http://www.jcp.org/jcr/1.0}lockOwner
Date Mon, 20 Apr 2009 11:31:40 GMT
Hi all,
this is my first post, thanks for your support.
I'm using jackrabbit in a high load environment so i need to lock the
directory before modify it, one typical operation is move nodes
(~1000) from the directory A into sub child directory A/a A/b A/c,
with few nodes (~300) i don't have problems but with more nodes is
raised a :

javax.jcr.RepositoryException: failed to remove property
{http://www.jcp.org/jcr/1.0}lockOwner of node /XX/lbs/C/B/B/B/B
        at org.apache.jackrabbit.core.NodeImpl.removeChildProperty(NodeImpl.java:574)
        at org.apache.jackrabbit.core.PropertyImpl.internalSetValue(PropertyImpl.java:282)
        at org.apache.jackrabbit.core.NodeImpl.internalSetProperty(NodeImpl.java:1319)
        at org.apache.jackrabbit.core.NodeImpl.unlock(NodeImpl.java:4523)

initially i supposed a missing lock refresh...
do you have some hint for me?


that's the snip of my code :

%<-----------------------------------------------------------------------------------------------------------------------
MyLockUtil{
public synchronized void locked(Node parent) throws
RepositoryException, InterruptedException{
		while(parent.isLocked()){
			wait(MAXIMUM_WAIT);
		}
		parent.lock(false,true);
	}

	public synchronized void unlock(Node parent) throws  RepositoryException{
		parent.unlock();
		notifyAll();	
	}
	
}

class snipp{
        mainOperation(){

			try{

MyLockUtil.getInstance().locked(current_directory);
                                  move(innerChild);
				current_directory.getSession().save();
				current_directory.getLock().refresh();
			
			}finally{
				              MyLockUtil.getInstance().unlocked(current_directory);
			}
          }

}

%<-----------------------------------------------------------------------------------------------------------------------

Thank you
lore

Mime
View raw message