Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF » [CDO] synchronize model changes with backend
[CDO] synchronize model changes with backend [message #656104] Thu, 24 February 2011 09:02 Go to next message
Erdal Karaca is currently offline Erdal KaracaFriend
Messages: 854
Registered: July 2009
Senior Member
If I change a model structure, e.g. MyObject gets a new feature, the changes are not synchronized with the backend (e.g. mysql). Instead, I will get an error message:

Caused by: java.io.IOException: String ID unknown: 32768
at org.eclipse.net4j.util.io.StringCompressor.read(StringCompre ssor.java:207)
at org.eclipse.emf.cdo.internal.common.protocol.CDODataInputImp l.readCDOPackageURI(CDODataInputImpl.java:140)
at org.eclipse.emf.cdo.common.model.CDOClassifierRef.<init>(CDOClassifierRef.java:77)
at org.eclipse.emf.cdo.internal.common.protocol.CDODataInputImp l.readCDOClassifierRef(CDODataInputImpl.java:145)
at org.eclipse.emf.cdo.internal.common.protocol.CDODataInputImp l.readCDOClassifierRefAndResolve(CDODataInputImpl.java:150)
at org.eclipse.emf.cdo.internal.common.revision.delta.CDORevisi onDeltaImpl. <init>(CDORevisionDeltaImpl.java:122)
at org.eclipse.emf.cdo.internal.common.protocol.CDODataInputImp l.readCDORevisionDelta(CDODataInputImpl.java:443)
at org.eclipse.emf.cdo.server.internal.net4j.protocol.CommitTra nsactionIndication.indicatingCommit(CommitTransactionIndicat ion.java:175)
at org.eclipse.emf.cdo.server.internal.net4j.protocol.CommitTra nsactionIndication.indicating(CommitTransactionIndication.ja va:91)
at org.eclipse.emf.cdo.server.internal.net4j.protocol.CDOServer IndicationWithMonitoring.indicating(CDOServerIndicationWithM onitoring.java:109)
at org.eclipse.net4j.signal.IndicationWithMonitoring.indicating (IndicationWithMonitoring.java:84)
at org.eclipse.net4j.signal.IndicationWithResponse.doExtendedIn put(IndicationWithResponse.java:90)
at org.eclipse.net4j.signal.Signal.doInput(Signal.java:316)
at org.eclipse.net4j.signal.IndicationWithResponse.execute(Indi cationWithResponse.java:63)
at org.eclipse.net4j.signal.IndicationWithMonitoring.execute(In dicationWithMonitoring.java:63)
at org.eclipse.net4j.signal.Signal.runSync(Signal.java:241)
at org.eclipse.net4j.signal.Signal.run(Signal.java:147)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unkno wn Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)


If I drop the schema (mysql) and re-create it (and restart the cdo server), the commit will succeed (as the model packages will be re-created on the backend, too).
Can cdo automatically synchronize model changes with the backend? Or do I have to do this manually?
Re: [CDO] Model Evolution Support [message #656112 is a reply to message #656104] Thu, 24 February 2011 09:26 Go to previous message
Eike Stepper is currently offline Eike StepperFriend
Messages: 6682
Registered: July 2009
Senior Member
Hi Erdal,

Currently CDO does not support automatic model evolution or schema/instance migration, see:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=256856

The new backup/restore mechanism can help you a little bit:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=330235
https://bugs.eclipse.org/bugs/show_bug.cgi?id=332355

Cheers
/Eike

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



Am 24.02.2011 10:05, schrieb Erdal Karaca:
> If I change a model structure, e.g. MyObject gets a new feature, the changes are not synchronized with the backend (e.g. mysql). Instead, I will get an error message:
>
> Caused by: java.io.IOException: String ID unknown: 32768
> at org.eclipse.net4j.util.io.StringCompressor.read(StringCompre ssor.java:207)
> at org.eclipse.emf.cdo.internal.common.protocol.CDODataInputImp l.readCDOPackageURI(CDODataInputImpl.java:140)
> at org.eclipse.emf.cdo.common.model.CDOClassifierRef.<init>(CDOClassifierRef.java:77)
> at org.eclipse.emf.cdo.internal.common.protocol.CDODataInputImp l.readCDOClassifierRef(CDODataInputImpl.java:145)
> at org.eclipse.emf.cdo.internal.common.protocol.CDODataInputImp l.readCDOClassifierRefAndResolve(CDODataInputImpl.java:150)
> at org.eclipse.emf.cdo.internal.common.revision.delta.CDORevisi onDeltaImpl. <init>(CDORevisionDeltaImpl.java:122)
> at org.eclipse.emf.cdo.internal.common.protocol.CDODataInputImp l.readCDORevisionDelta(CDODataInputImpl.java:443)
> at org.eclipse.emf.cdo.server.internal.net4j.protocol.CommitTra nsactionIndication.indicatingCommit(CommitTransactionIndicat ion.java:175)
> at org.eclipse.emf.cdo.server.internal.net4j.protocol.CommitTra nsactionIndication.indicating(CommitTransactionIndication.ja va:91)
> at org.eclipse.emf.cdo.server.internal.net4j.protocol.CDOServer IndicationWithMonitoring.indicating(CDOServerIndicationWithM onitoring.java:109)
> at org.eclipse.net4j.signal.IndicationWithMonitoring.indicating (IndicationWithMonitoring.java:84)
> at org.eclipse.net4j.signal.IndicationWithResponse.doExtendedIn put(IndicationWithResponse.java:90)
> at org.eclipse.net4j.signal.Signal.doInput(Signal.java:316)
> at org.eclipse.net4j.signal.IndicationWithResponse.execute(Indi cationWithResponse.java:63)
> at org.eclipse.net4j.signal.IndicationWithMonitoring.execute(In dicationWithMonitoring.java:63)
> at org.eclipse.net4j.signal.Signal.runSync(Signal.java:241)
> at org.eclipse.net4j.signal.Signal.run(Signal.java:147)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unkno wn Source)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> at java.lang.Thread.run(Unknown Source)
>
>
> If I drop the schema (mysql) and re-create it (and restart the cdo server), the commit will succeed (as the model packages will be re-created on the backend, too).
> Can cdo automatically synchronize model changes with the backend? Or do I have to do this manually?


Previous Topic:[CDO] Net4j old version of h2 Db used in plugin
Next Topic:[CDO] migrate data from one repository to another
Goto Forum:
  


Current Time: Thu Apr 25 21:59:57 GMT 2024

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

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

Back to the top