Community
Participate
Working Groups
Cloned from: 353076: [CDO] Failure when trying to unlock a collection of elements https://bugs.eclipse.org/bugs/show_bug.cgi?id=353076 This bug has been discussed in the following post : http://www.eclipse.org/forums/index.php/t/223982/ I've got an issue when trying to unlock more than one element at a time : if I write : transaction.unlockObjects(elementsToUnlock, CDO_WRITE_LOCK); I get the following exceptions : org.eclipse.net4j.signal.RemoteException: java.lang.IllegalMonitorStateException at org.eclipse.net4j.signal.RequestWithConfirmation.getRemoteException(RequestWithConfirmation.java:139) at org.eclipse.net4j.signal.RequestWithConfirmation.setRemoteException(RequestWithConfirmation.java:128) at org.eclipse.net4j.signal.SignalProtocol.handleRemoteException(SignalProtocol.java:423) at org.eclipse.net4j.signal.RemoteExceptionIndication.indicating(RemoteExceptionIndication.java:63) at org.eclipse.net4j.signal.Indication.doExtendedInput(Indication.java:55) at org.eclipse.net4j.signal.Signal.doInput(Signal.java:326) at org.eclipse.net4j.signal.Indication.execute(Indication.java:49) at org.eclipse.net4j.signal.Signal.runSync(Signal.java:251) at org.eclipse.net4j.signal.Signal.run(Signal.java:147) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:651) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:676) at java.lang.Thread.run(Thread.java:595) Caused by: java.lang.IllegalMonitorStateException at org.eclipse.net4j.util.concurrent.RWLockManager.unlock(RWLockManager.java:284) at org.eclipse.net4j.util.concurrent.RWLockManager.unlock(RWLockManager.java:139) at org.eclipse.emf.cdo.internal.server.LockManager.unlock(LockManager.java:192) at org.eclipse.emf.cdo.server.internal.net4j.protocol.UnlockObjectsIndication.indicating(UnlockObjectsIndication.java:68) at org.eclipse.emf.cdo.server.internal.net4j.protocol.CDOServerIndication.indicating(CDOServerIndication.java:84) at org.eclipse.net4j.signal.IndicationWithResponse.doExtendedInput(IndicationWithResponse.java:90) at org.eclipse.net4j.signal.Signal.doInput(Signal.java:326) at org.eclipse.net4j.signal.IndicationWithResponse.execute(IndicationWithResponse.java:63) at org.eclipse.emf.cdo.server.internal.net4j.protocol.CDOServerWriteIndication.execute(CDOServerWriteIndication.java:39) But if I unlock my elements one by one : for (CDOObject unlockedElement : unlockedElements) { transaction.unlockObjects(unlockedElements, CDO_WRITE_LOCK); } Everything works fine.
Committed revision 8819
Closing.