Re: DataRowStore.sendUpdateNotification NullPointerException

From: Andrus Adamchik (andru..bjectstyle.org)
Date: Mon Oct 08 2007 - 09:06:21 EDT

  • Next message: David Marko: "SelectQuery and getting where clause"

    > 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 <andru..bjectstyle.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.bol..mail.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 <andru..bjectstyle.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.snapshotsUpdatedForObjec
    >>>>>>>> ts
    >>>>>>>> (DataRowStore.java:278)
    >>>>>>>> at
    >>>>>>>> org.apache.cayenne.access.ObjectResolver.objectsFromDataRows
    >>>>>>>> (ObjectResolver.java:121)
    >>>>>>>> at
    >>>>>>>> org.apache.cayenne.access.ObjectResolver.synchronizedObjectsFro
    >>>>>>>> mDa
    >>>>>>>> taR
    >>>>>>>> ows(ObjectResolver.java:97)
    >>>>>>>> at
    >>>>>>>> org.apache.cayenne.access.DataDomainQueryAction.interceptObject
    >>>>>>>> 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.
    >>
    >
    >



    This archive was generated by hypermail 2.0.0 : Mon Oct 08 2007 - 09:06:58 EDT