Community
Participate
Working Groups
Build Identifier: The new CDO Offline Workspace feature works well when MEMStore is used, but fails when using a DBStore. When the remote repository is changed and trying to update the local repository the following exception is thrown: org.eclipse.net4j.signal.RemoteException: java.lang.IllegalStateException: No type found for OID4 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(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.IllegalStateException: No type found for OID4 at org.eclipse.emf.cdo.server.internal.db.DBStoreAccessor.getObjectType(DBStoreAccessor.java:194) at org.eclipse.emf.cdo.server.internal.db.DBStoreAccessor.readRevision(DBStoreAccessor.java:207) at org.eclipse.emf.cdo.internal.server.Repository.loadRevisions(Repository.java:441) at org.eclipse.emf.cdo.internal.common.revision.CDORevisionManagerImpl.loadRevisions(CDORevisionManagerImpl.java:352) at org.eclipse.emf.cdo.internal.common.revision.CDORevisionManagerImpl.getRevisions(CDORevisionManagerImpl.java:263) at org.eclipse.emf.cdo.internal.common.revision.CDORevisionManagerImpl.getRevision(CDORevisionManagerImpl.java:246) at org.eclipse.emf.cdo.spi.common.revision.RevisionInfo.execute(RevisionInfo.java:132) at org.eclipse.emf.cdo.server.internal.net4j.protocol.LoadRevisionsIndication.responding(LoadRevisionsIndication.java:169) at org.eclipse.emf.cdo.server.internal.net4j.protocol.CDOServerIndication.responding(CDOServerIndication.java:133) at org.eclipse.net4j.signal.IndicationWithResponse.doExtendedOutput(IndicationWithResponse.java:96) at org.eclipse.net4j.signal.Signal.doOutput(Signal.java:296) at org.eclipse.net4j.signal.IndicationWithResponse.execute(IndicationWithResponse.java:65) at org.eclipse.emf.cdo.server.internal.net4j.protocol.CDOReadIndication.execute(CDOReadIndication.java:36) ... 5 more When trying to commit a change to the remote repository the following exception is thrown: java.lang.IllegalStateException: begin() has not been called at org.eclipse.net4j.util.om.monitor.AbstractMonitor.checkBegun(AbstractMonitor.java:143) at org.eclipse.net4j.util.om.monitor.AbstractMonitor.fork(AbstractMonitor.java:65) at org.eclipse.net4j.util.om.monitor.AbstractMonitor.fork(AbstractMonitor.java:71) at org.eclipse.emf.cdo.server.internal.db.DBStoreAccessor.rawDelete(DBStoreAccessor.java:1244) at org.eclipse.emf.cdo.internal.workspace.CDOWorkspaceImpl.adjustLocally(CDOWorkspaceImpl.java:412) at org.eclipse.emf.cdo.internal.workspace.CDOWorkspaceImpl.checkin(CDOWorkspaceImpl.java:358) Reproducible: Always
Just a note: I'd like to implement a new CDOID strategy for client-side assigned UUIDs first...
Moving all open problem reports to 4.0
This problem is most probably caused by so called "local IDs" that are needed with server-assigned IDs. In 4.1 client-assigned UUIDs are now supported and recommended in all replication or offline scenarios. Please see bug 340139. Please reopen this bug if it turns out that UUIDs do not solve the problem.
Closing.