cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrus Adamchik <and...@objectstyle.org>
Subject Re: DataRowStore.sendUpdateNotification NullPointerException
Date Wed, 17 Oct 2007 07:04:25 GMT
Thanks for the info. Still not sure what we are going to do about  
though...

[FYI, for the actual patch you can check subversion tab in Jira]

https://issues.apache.org/cayenne/browse/CAY-796? 
page=com.atlassian.jira.plugin.ext.subversion:subversion-commits- 
tabpanel

Andrus



On Oct 17, 2007, at 9:54 AM, Emilian Bold wrote:
> Hy,
>
> I just tested my code with the 2.0.4 jar from the link you gave me
> (and the 2.0.4 official release). It still throws that
> NullPointerException if I don't init the EventManager properly.
>
> So I think CAY-796  doesn't solve this as it's not actually a
> serialization issue, just a null EventManager that's propagated to the
> children. (I assume your patch was some readResolve() of some kind so
> it's not so unexpected for me to still have the NPE).
>
> Emilian
>
>
> On 10/8/07, Andrus Adamchik <andrus@objectstyle.org> wrote:
>>> Before we make any other changes, could you confirm that with a
>>> CAY-796 fix you can use DataDomain without EventManager?
>>
>> BTW, while the Cayenne developers are voting to make an official
>> 2.0.4 release, you can download the unofficial release files from  
>> here:
>>
>> http://people.apache.org/~aadamchik/release/2.0.4/
>>
>> Andrus
>>
>>
>> On Oct 8, 2007, at 11:11 AM, Andrus Adamchik wrote:
>>> Hi Emilian,
>>>
>>> I agree with your general point about the obscure nature of this
>>> behavior. However CAY-796 fix was already supposed to address the
>>> underlying deserialization bug (something I did not consider in my
>>> previous reply). Before we make any other changes, could you
>>> confirm that with a CAY-796 fix you can use DataDomain without
>>> EventManager?
>>>
>>> Andrus
>>>
>>>
>>> On Oct 7, 2007, at 1:54 AM, Emilian Bold wrote:
>>>> Well, not quite a cayenne "bug" just a design decision that
>>>> impacts API users.
>>>>
>>>> I don't *need* to listen to events to why am I forced to set a
>>>> manager
>>>> ? Not to mention there's no warning and the 1st error I got sent
>>>> me on
>>>> a serialization wild goose chase.
>>>>
>>>> That was my whole idea: just use some default if no manager  
>>>> provided.
>>>>
>>>> Emilian
>>>>
>>>> On 10/4/07, Andrus Adamchik <andrus@objectstyle.org> wrote:
>>>>> I see. Yes, EventManager needs to be provided to the  
>>>>> DataDomain. So
>>>>> this is not a bug in Cayenne, and I am not sure how we can  
>>>>> "fix" it.
>>>>> Injection of EventManager is tied to the lifecycle, so using an
>>>>> arbitrary EM doesn't seem to be a good solution. Maybe we'll  
>>>>> simply
>>>>> document this behavior via Javadocs....
>>>>>
>>>>> A side note regarding the *default* EventManager, there are  
>>>>> plans to
>>>>> deprecate and avoid using it in Cayenne internally, as the  
>>>>> singleton
>>>>> makes configuration much less flexible.
>>>>>
>>>>> Andrus
>>>>>
>>>>> On Oct 4, 2007, at 4:09 PM, Emilian Bold wrote:
>>>>>
>>>>>> I finally figured out what my bug was (it wasn't CAY-796  
>>>>>> actually).
>>>>>>
>>>>>> See https://issues.apache.org/cayenne/browse/CAY-871
>>>>>>
>>>>>> Emilian
>>>>>>
>>>>>> On 9/17/07, Emilian Bold <emilian.bold@gmail.com> wrote:
>>>>>>> Thanks, that's great. I'll wait for the official 2.0.4 as I've
>>>>>>> found a
>>>>>>> workaround in my situation (still trying to figure out the exact
>>>>>>> cause, I think some rich-client is serializing  
>>>>>>> CayenneDataObjects
>>>>>>> directly instead of client classes).
>>>>>>>
>>>>>>> Emilian
>>>>>>>
>>>>>>>
>>>>>>> On 9/15/07, Andrus Adamchik <andrus@objectstyle.org> wrote:
>>>>>>>> Ok, I fixed CAY-796 for 1.2, 2.0, 3.0 branches. To get a
fixed
>>>>>>>> version you can either build the code from Subversion [1,2]
or
>>>>>>>> wait
>>>>>>>> till 2.0.4 comes out.
>>>>>>>>
>>>>>>>> Cheers,
>>>>>>>> Andrus
>>>>>>>>
>>>>>>>> [1] http://svn.apache.org/repos/asf/cayenne/main/branches/
>>>>>>>> STABLE-2.0/
>>>>>>>> [2] http://cayenne.apache.org/legacy-ant-build.html
>>>>>>>>
>>>>>>>>
>>>>>>>> On Sep 12, 2007, at 7:54 PM, Andrus Adamchik wrote:
>>>>>>>>> Hi there,
>>>>>>>>>
>>>>>>>>> Yeah, looks like CAY-796 [1] to me. I could swear we
fixed
>>>>>>>>> it, but
>>>>>>>>> looks like we did not. Ok, adding that to a TODO list...
>>>>>>>>>
>>>>>>>>> In the meantime try to check the "Use Shared Cache" checkbox
>>>>>>>>> in the
>>>>>>>>> Modeler - this would hopefully take care of the problem
(and
>>>>>>>>> probably improve your performance if you could live with
a
>>>>>>>>> bit of
>>>>>>>>> object caching in your app).
>>>>>>>>>
>>>>>>>>> Andrus
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> [1] https://issues.apache.org/cayenne/browse/CAY-796
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Sep 12, 2007, at 6:18 PM, Emilian Bold wrote:
>>>>>>>>>
>>>>>>>>>> Hy,
>>>>>>>>>>
>>>>>>>>>> I keep getting this exception:
>>>>>>>>>>
>>>>>>>>>> java.lang.NullPointerException
>>>>>>>>>>      at
>>>>>>>>>> org.apache.cayenne.access.DataRowStore.sendUpdateNotification
>>>>>>>>>> (DataRowStore.java:673)
>>>>>>>>>>      at
>>>>>>>>>> org.apache.cayenne.access.DataRowStore.processSnapshotChanges
>>>>>>>>>> (DataRowStore.java:538)
>>>>>>>>>>      at
>>>>>>>>>> org.apache.cayenne.access.DataRowStore.snapshotsUpdatedForObj

>>>>>>>>>> ec
>>>>>>>>>> ts
>>>>>>>>>> (DataRowStore.java:278)
>>>>>>>>>>      at
>>>>>>>>>> org.apache.cayenne.access.ObjectResolver.objectsFromDataRows
>>>>>>>>>> (ObjectResolver.java:121)
>>>>>>>>>>      at
>>>>>>>>>> org.apache.cayenne.access.ObjectResolver.synchronizedObjectsF

>>>>>>>>>> ro
>>>>>>>>>> mDa
>>>>>>>>>> taR
>>>>>>>>>> ows(ObjectResolver.java:97)
>>>>>>>>>>      at
>>>>>>>>>> org.apache.cayenne.access.DataDomainQueryAction.interceptObje

>>>>>>>>>> ct
>>>>>>>>>> Con
>>>>>>>>>> ver
>>>>>>>>>> sion(DataDomainQueryAction.java:319)
>>>>>>>>>>      at  
>>>>>>>>>> org.apache.cayenne.access.DataDomainQueryAction.execute
>>>>>>>>>> (DataDomainQueryAction.java:116)
>>>>>>>>>>      at org.apache.cayenne.access.DataDomain.onQuery
>>>>>>>>>> (DataDomain.java:730)
>>>>>>>>>>      at
>>>>>>>>>> org.apache.cayenne.util.ObjectContextQueryAction.runQuery
>>>>>>>>>> (ObjectContextQueryAction.java:217)
>>>>>>>>>>      at
>>>>>>>>>> org.apache.cayenne.access.DataContextQueryAction.execute
>>>>>>>>>> (DataContextQueryAction.java:54)
>>>>>>>>>>      at org.apache.cayenne.access.DataContext.onQuery
>>>>>>>>>> (DataContext.java:
>>>>>>>>>> 1387)
>>>>>>>>>>      at org.apache.cayenne.access.DataContext.performQuery
>>>>>>>>>> (DataContext.java:1376)
>>>>>>>>>> ...
>>>>>>>>>>
>>>>>>>>>> on Cayenne 2.0.2.
>>>>>>>>>>
>>>>>>>>>> This seems to happen always for the same Local EJB,
while  
>>>>>>>>>> other
>>>>>>>>>> Local
>>>>>>>>>> EJBs that use Cayenne in the same way seem to work.
From a
>>>>>>>>>> previous
>>>>>>>>>> email, it seems this has something to do with the
>>>>>>>>>> serialization of
>>>>>>>>>> the
>>>>>>>>>> objectStore.
>>>>>>>>>>
>>>>>>>>>> What can I do to get rid of this ?
>>>>>>>>>>
>>>>>>>>>> Thanks,
>>>>>>>>>> Emilian Bold
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Emilian Bold
>>>>>>>>>> +40 740235562
>>>>>>>>>> http://www.emilianbold.ro
>>>>>>>>>>
>>>>>>>>>> Java and NetBeans Platform-loving consulting services
from
>>>>>>>>>> Timisoara, Romania.
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Emilian Bold
>>>>>>> +40 740235562
>>>>>>> http://www.emilianbold.ro
>>>>>>>
>>>>>>> Java and NetBeans Platform-loving consulting services from
>>>>>>> Timisoara, Romania.
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Emilian Bold
>>>>>> +40 740235562
>>>>>> http://www.emilianbold.ro
>>>>>>
>>>>>> Java and NetBeans Platform-loving consulting services from
>>>>>> Timisoara, Romania.
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Emilian Bold
>>>> +40 740235562
>>>> http://www.emilianbold.ro
>>>>
>>>> Java and NetBeans Platform-loving consulting services from
>>>> Timisoara, Romania.
>>>>
>>>
>>>
>>
>>
>
>
> -- 
> Emilian Bold
> +40 740235562
> http://www.emilianbold.ro
>
> Java and NetBeans Platform-loving consulting services from  
> Timisoara, Romania.
>


Mime
View raw message