Re: EODatabaseContext.initializeObject(): No snapshot for gid
Re: EODatabaseContext.initializeObject(): No snapshot for gid
- Subject: Re: EODatabaseContext.initializeObject(): No snapshot for gid
- From: Musall Maik <email@hidden>
- Date: Thu, 04 Aug 2016 10:46:14 +0200
Hi Paul,
usually when something like that happened, I ended up violating one of the EOF commandments [1] again. Might be worth to check them every once in a while as a reminder when something strange happens in EOF where you don't have a clue what might have caused it.
I also had things like that happen when using autolocking in very high concurrency situations. When the lock/unlock cycle happens too frequently in too many threads simultaneously, all sorts of EOF exceptions can happen. There must be some kind of race condition somewhere deep within. Each and every time I solved it by switching to the lock/try/finally/unlock scheme (you know what I mean?).
Maik
[1] https://wiki.wocommunity.org/display/documentation/EOF-Using+EOF-The+EOF+Commandments
> Am 04.08.2016 um 09:43 schrieb Paul Hoadley <email@hidden>:
>
> Hello,
>
> I’m seeing very occasional stack traces from the wild that look like this:
>
> java.lang.IllegalStateException: initializeObject: No snapshot for gid _EOIntegralKeyGlobalID[Teacher (java.lang.Integer)317]
> at com.webobjects.eoaccess.EODatabaseContext.initializeObject(EODatabaseContext.java:3578)
> at com.webobjects.eocontrol.EOObjectStoreCoordinator.initializeObject(EOObjectStoreCoordinator.java:597)
> at com.webobjects.eocontrol.EOEditingContext.initializeObject(EOEditingContext.java:3768)
> at er.extensions.eof.ERXEC.initializeObject(ERXEC.java:1231)
> at com.webobjects.eoaccess.EODatabaseContext._fireFault(EODatabaseContext.java:4124)
> at com.webobjects.eoaccess.EOAccessFaultHandler.completeInitializationOfObject(EOAccessFaultHandler.java:89)
> at com.webobjects.eocontrol.EOCustomObject.willRead(EOCustomObject.java:1172)
> at com.webobjects.eocontrol._EOMutableKnownKeyDictionary$Initializer$_GenericRecordBinding.valueInObject(_EOMutableKnownKeyDictionary.java:570)
> at com.webobjects.eocontrol._EOMutableKnownKeyDictionary$Initializer$_LazyGenericRecordBinding.valueInObject(_EOMutableKnownKeyDictionary.java:613)
> at com.webobjects.eocontrol.EOCustomObject.storedValueForKey(EOCustomObject.java:1634)
> …
>
> This is from a sub-component on a page. The sub-component has a Teacher object (with id=317 in this case) bound to it. The PreviousPageList accompanying the exception suggests the user has already loaded this page a couple of times. Yet this time, it’s looking for, and then doesn’t find, that object in the snapshot cache. There’s nothing relevant prior to this event in the logs. This has happened more than once, but only at this specific sub-component, which is unique to this page. ERJGroupsSynchronizer.framework is in use. I cannot reproduce it in development—don’t even know where to start.
>
> Any suggestions?
>
>
> --
> Paul Hoadley
> http://logicsquad.net/
>
>
>
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list (email@hidden)
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden