Re: NullPointerException only after first call to batchFetchRelationship

Kaj Hejer <[email protected]> Tue, 13 Jan 2004 22:37:01 +0100
Newsgroups gmane.comp.web.webobjects.eof
Message-ID <p06020412bc29f694bc25@[10.29.0.60]>
Hi!

Thanks for answering and for this code! I will give this a try!

In the app where we got this exception we have only two pages where 
we create our own EOObjectStoreCoordinator and an ec with this as a 
parent because these two pages to heavy database stuff which block 
the app for other users.

All the other pages use session.defaultEditingContext or a childEC of this.

Would it then be ok to use the following in the constructor in Session.java:

     EOUtilities.modelGroup(defaultEditingContext()).loadAllModelObjects();

to get things correct Initialized? (ofcource except for those two 
pages where I use my own EOObjectStoreCoordinator... but in those 
pages I don't care yet since I havn't seen this issue there so far).

Do you think it is a bug in of that the reason this stuff not gets 
Initialized and we have to call loadAllModelObjects?


-Kaj :)



At 10:50 -0800 13-01-04, Chuck Hill wrote:
>I had a perhaps similar problem which was caused by incomplete 
>loading of EOModels when the first EOF operation was attempted.  Try 
>adding this to your constructor:
>EOModelGroup.defaultGroup().loadAllModelObjects();
>
>Note: defaultGroup() is not appropriate where using multiple EOF 
>stacks.  In that case create an ec in the stack and then use
>EOUtilities.modelGroup(ec).loadAllModelObjects();
>
>Chuck
>
>
>Kaj Hejer wrote:
>
>>At 11:00 -0800 15-12-03, Chuck Hill wrote:
>>
>>>I also do a lot of batchFetchRelationship and have not seen this. 
>>>Yet.  We don't often use child EC's so that may explain it.
>>>
>>>Strange, hard to reproduce, errors like this can be the result of 
>>>an editing context processing notifications sent by another 
>>>editing context.  Tracking this down can be very difficult.  I 
>>>looked at the stack trace that Kaj posted but did not see any 
>>>evidence of this. It looks like something in EODatabaseContext is 
>>>hosed.
>>>
>>
>>
>>
>>Hi!
>>
>>Just fyi I now get the
>>
>>[2004-01-13 13:51:24 MET] <WorkerThread6> java.lang.NullPointerException
>>         at 
>>com.webobjects.eocontrol._EOMutableKnownKeyDictionary.<init>(_EOMutableKnownKeyDictionary.java:90)
>>         at 
>>com.webobjects.eoaccess.EORelationship._foreignKeyForSourceRow(EORelationship.java:1094)
>>
>>
>>stacktrace when I don't use batchFetchRelationship.
>>
>>We use prefetching in the fetch where I get this exception.
>>
>>The ec here is session.defaultEditingContext.
>>
>>See full stacktrace at http://folk.uio.no/kajh/tmp/wo20040113.txt
>>
>>
>>
>>-Kaj :)
>>
>
>--
>
>Chuck Hill                                 [email protected]
>Global Village Consulting Inc.             http://www.global-village.net
>
>Progress is the mother of all problems.
>- G. K. Chesterton