Community
Participate
Working Groups
Build Identifier: 3.0 Recently the prefetching policy changed from NO_REVISION_PREFETCHING to DEFAULT_REVISION_PREFETCHING (in CDOViewImpl.OptionsImpl). This change causes problems with external references: !ENTRY org.eclipse.net4j 4 0 2010-05-18 10:50:59.332 !MESSAGE Can not get long id from external ID types !STACK 0 java.lang.IllegalArgumentException: Can not get long id from external ID types at org.eclipse.emf.cdo.common.id.CDOIDUtil.getLong(CDOIDUtil.java:94) at org.eclipse.emf.cdo.server.internal.db.mapping.horizontal.ObjectTypeCache.getObjectType(ObjectTypeCache.java:97) at org.eclipse.emf.cdo.server.internal.db.mapping.horizontal.AbstractHorizontalMappingStrategy.readObjectType(AbstractHorizontalMappingStrategy.java:70) at org.eclipse.emf.cdo.server.internal.db.DBStoreAccessor.readObjectType(DBStoreAccessor.java:158) at org.eclipse.emf.cdo.server.internal.db.DBStoreAccessor.getObjectType(DBStoreAccessor.java:175) at org.eclipse.emf.cdo.server.internal.db.DBStoreAccessor.readRevision(DBStoreAccessor.java:200) at org.eclipse.emf.cdo.internal.server.Repository.loadRevisions(Repository.java:407) at org.eclipse.emf.cdo.internal.common.revision.CDORevisionManagerImpl.loadRevisions(CDORevisionManagerImpl.java:365) at org.eclipse.emf.cdo.internal.common.revision.CDORevisionManagerImpl.getRevisions(CDORevisionManagerImpl.java:268) at org.eclipse.emf.cdo.internal.common.revision.CDORevisionManagerImpl.getRevision(CDORevisionManagerImpl.java:250) at org.eclipse.emf.cdo.spi.common.revision.RevisionInfo.execute(RevisionInfo.java:131) 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:126) at org.eclipse.net4j.signal.IndicationWithResponse.doExtendedOutput(IndicationWithResponse.java:96) at org.eclipse.net4j.signal.Signal.doOutput(Signal.java:285) at org.eclipse.net4j.signal.IndicationWithResponse.execute(IndicationWithResponse.java:65) at org.eclipse.emf.cdo.server.internal.net4j.protocol.CDOReadIndication.execute(CDOReadIndication.java:36) at org.eclipse.net4j.signal.Signal.runSync(Signal.java:240) at org.eclipse.net4j.signal.Signal.run(Signal.java:146) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619) Reproducible: Always
First, I changed back the default to NO_REVISION_PREFETCHING. Committed to HEAD. Then I'll try to write a test case with prefetched external refs, and fix it in the server...
CDORevisionPrefetchingPolicy now ignores external refs. Committed to HEAD
Available in 3.0 GA: http://download.eclipse.org/modeling/emf/cdo/updates/3.0-releases/