I can think of a few off-the-wall reasons.

  1.  The EOF internal state somehow got scrambled.  Good luck with that one!
  2.  Some other process (non-EOF) is connected to the database and had that 
row locked in a way that prevented it from being read
  3.  Some code changed the EODatabase snapshot which resulted in the WHERE 
clause being wrong and then the code changed it back
  4.  Ghosts in the machine

Your EODatabaseContext's delegate method databaseContextFailedToFetchObject 
method should get called when this happens.

Chuck


On 2015-02-05, 3:22 AM, "OC" wrote:

Sorry I've sent too soon; I wanted to add...

On 5. 2. 2015, at 12:19, OC <o...@ocs.cz<mailto:o...@ocs.cz>> wrote:
well I must have some pretty weird bug somewhere. Does anybody have any idea 
what dumb fault of mine might cause
===
Caused by: com.webobjects.eoaccess.EOObjectNotAvailableException: 
prepareForSaveWithCoordinator: Cannot save the object with globalID 
_EOIntegralKeyGlobalID[DBDFPrototype (java.lang.Integer)1000022]. The row 
referenced by this globalID was missing from the database at the time a fetch 
was attempted. Either it was removed from the database after this application 
got a pointer to it, or there is a referential integrity problem with your 
database. To be notified when fetches fail, implement a delegate on 
EODatabaseContext that responds to databaseContextFailedToFetchObject().
at 
com.webobjects.eoaccess.EODatabaseContext.prepareForSaveWithCoordinator(EODatabaseContext.java:5657)
at 
com.webobjects.eocontrol.EOObjectStoreCoordinator.saveChangesInEditingContext(EOObjectStoreCoordinator.java:370)
at 
com.webobjects.eocontrol.EOEditingContext.saveChanges(EOEditingContext.java:3192)
at er.extensions.eof.ERXEC._saveChanges(ERXEC.java:1179)
at er.extensions.eof.ERXEC.saveChanges(ERXEC.java:1102)
at er.extensions.eof.ERXEC$saveChanges$8.call(Unknown Source)
at 
cz.ocs.model.OCSEnterpriseObject._saveTolerantlyChangesInEC(OCSEnterpriseObject.groovy:520)
 // ec.saveChanges()
===
given the appropriate row definitely does exist in the database? (I have 
checked and re-checked; it is there, and it has still its original creation 
timestamp two-odd years old.)

... that I have bumped into similar problem before, and we have suspected it 
was caused by superfluous (and probably harmful) object locking. No locks in 
there anymore, I've removed them:

http://prod.lists.apple.com/archives/webobjects-dev/2015/Jan/msg00161.html

Thanks,
OC


_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      
(Webobjects-dev@lists.apple.com<mailto:Webobjects-dev@lists.apple.com>)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/chill%40gevityinc.com

This email sent to ch...@gevityinc.com<mailto:ch...@gevityinc.com>
 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to