Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF » [CDO] 2 clients / 2 JVM/ 1 collection / multiple set -> Java.lang.IllegalStateException
[CDO] 2 clients / 2 JVM/ 1 collection / multiple set -> Java.lang.IllegalStateException [message #1636639] Thu, 26 February 2015 09:40 Go to next message
David Ponzo is currently offline David PonzoFriend
Messages: 14
Registered: November 2014
Junior Member
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
Re: [CDO] 2 clients / 2 JVM/ 1 collection / multiple set -> Java.lang.IllegalStateException [message #1636662 is a reply to message #1636639] Thu, 26 February 2015 09:58 Go to previous messageGo to next message
Eike Stepper is currently offline Eike StepperFriend
Messages: 6682
Registered: July 2009
Senior Member
Hi David,

Right now I'm working on an EMF Compare-based interactive merger. That might help ;-)

Cheers
/Eike

----
http://www.esc-net.de
http://thegordian.blogspot.com
http://twitter.com/eikestepper



Am 26.02.2015 um 10:40 schrieb David Ponzo:
> 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


Re: [CDO] 2 clients / 2 JVM/ 1 collection / multiple set -> Java.lang.IllegalStateException [message #1636905 is a reply to message #1636662] Thu, 26 February 2015 12:39 Go to previous messageGo to next message
David Ponzo is currently offline David PonzoFriend
Messages: 14
Registered: November 2014
Junior Member
Thanks for your answer

Our clients are not HMI so there is no possibility to use an interactive merger.
Is there any reason why the set part is not implemented ?
Re: [CDO] 2 clients / 2 JVM/ 1 collection / multiple set -> Java.lang.IllegalStateExcepti [message #1636920 is a reply to message #1636905] Thu, 26 February 2015 12:47 Go to previous messageGo to next message
Eike Stepper is currently offline Eike StepperFriend
Messages: 6682
Registered: July 2009
Senior Member
Am 26.02.2015 um 13:39 schrieb David Ponzo:
> Thanks for your answer
>
> Our clients are not HMI
What?

> so there is no possibility to use an interactive merger.
> Is there any reason why the set part is not implemented ?
I didn't know that SET is suported for many-valued features.

Cheers
/Eike

----
http://www.esc-net.de
http://thegordian.blogspot.com
http://twitter.com/eikestepper


Re: [CDO] 2 clients / 2 JVM/ 1 collection / multiple set -> Java.lang.IllegalStateExcepti [message #1637163 is a reply to message #1636920] Thu, 26 February 2015 15:20 Go to previous message
David Ponzo is currently offline David PonzoFriend
Messages: 14
Registered: November 2014
Junior Member
Sorry my explanations were not clear.

I have a Class "A" which have a list of "B". My first client set 1000 instances of B from the index 0 to 999 . My second client set 1000 instances of B from the index 1000 to 1999.
In this use case the previous exception is raise and we don't understand why.
Previous Topic:[CDO] Uninitialized cannot be cast to CDOID
Next Topic:[CDO/Net4j] How to properly authenticate
Goto Forum:
  


Current Time: Wed Apr 24 22:38:18 GMT 2024

Powered by FUDForum. Page generated in 0.03400 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top