[CDO] 2 clients / 2 JVM/ 1 collection / multiple set -> Java.lang.IllegalStateException [message #1636639] |
Thu, 26 February 2015 04:40  |
Eclipse User |
|
|
|
Hi
I have 2 clients (1 per JVM) which set 2000 elements. The elements set are positions ( 2 double, a latitude and a longitude).
Each client set 1000 elements per second. The first one set the elements from 0 to 999 and the second one from 999 to 1999.
We use "CDOMergingConflitResolver" to manage the conflict. The auto release lock is enable
and the lock notification is enable.
When the clients run the following exception is raise.
[ERROR] Unhandled change type: SET
java.lang.IllegalStateException: Unhandled change type: SET
at org.eclipse.emf.spi.cdo.DefaultCDOMerger$PerFeature$ManyValued.pickChangesIntoResult(DefaultCDOMerger.java:978)
at org.eclipse.emf.spi.cdo.DefaultCDOMerger$PerFeature$ManyValued.changedInSourceAndTargetManyValued(DefaultCDOMerger.java:727)
at org.eclipse.emf.spi.cdo.DefaultCDOMerger$PerFeature.changedInSourceAndTarget(DefaultCDOMerger.java:645)
at org.eclipse.emf.spi.cdo.DefaultCDOMerger$PerFeature.changedInSourceAndTarget(DefaultCDOMerger.java:556)
at org.eclipse.emf.spi.cdo.DefaultCDOMerger.merge(DefaultCDOMerger.java:184)
at org.eclipse.emf.spi.cdo.DefaultCDOMerger.merge(DefaultCDOMerger.java:120)
at org.eclipse.emf.spi.cdo.CDOMergingConflictResolver.resolveConflicts(CDOMergingConflictResolver.java:98)
at org.eclipse.emf.spi.cdo.CDOMergingConflictResolver.resolveConflicts(CDOMergingConflictResolver.java:86)
at org.eclipse.emf.internal.cdo.transaction.CDOTransactionImpl.handleConflicts(CDOTransactionImpl.java:776)
at org.eclipse.emf.internal.cdo.view.CDOViewImpl.doInvalidate(CDOViewImpl.java:870)
at org.eclipse.emf.internal.cdo.view.CDOViewImpl$InvalidationRunnable.run(CDOViewImpl.java:1710)
at org.eclipse.net4j.util.concurrent.QueueRunner.work(QueueRunner.java:26)
at org.eclipse.net4j.util.concurrent.QueueRunner.work(QueueRunner.java:1)
at org.eclipse.net4j.util.concurrent.QueueWorker.doWork(QueueWorker.java:78)
at org.eclipse.net4j.util.concurrent.QueueWorker.work(QueueWorker.java:70)
at org.eclipse.net4j.util.concurrent.Worker$WorkerThread.run(Worker.java:209)
You catch the exeception. However the next element set by my client become in CONFLICT state.
I have looking "DefaultCDOMerger.java:978", I see that the case SET is not managed. Any chance to see it implemented ?
Thanks
David
|
|
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.03077 seconds