Re: AW: NullPointerException when using shared cache

From: Lothar Krenzien (lkrenzie..eb.de)
Date: Tue Sep 26 2006 - 12:17:01 EDT

  • Next message: Andrus Adamchik: "Re: AW: NullPointerException when using shared cache"

    Cool ;)

    We had the same problem with syncronization in the past. After we turned it off the problems went away. So because we couldn't reproduce it and the error occured "only" 2-3 time per week we decided to live without syncronization.
    Now I'm very interested in the testing results of the other users.

    Lothar

    > -----Ursprüngliche Nachricht-----
    > Von: cayenne-use..ncubator.apache.org
    > Gesendet: 26.09.06 17:34:38
    > An: cayenne-use..ncubator.apache.org
    > Betreff: Re: AW: NullPointerException when using shared cache

    > Cool. I'll check it to trunk and eventually - 2.0 branch.
    >
    > Thanks
    > Andrus
    >
    >
    > On Sep 26, 2006, at 11:23 AM, Ayhan Kondoz wrote:
    > > Hello Andrus,
    > >
    > > the new patch seems to be working. It has been 24 hours now that
    > > the new patched jar file is beeing used in my productive system and
    > > no NullPointerException. I think the bug can be marked resolved and
    > > closed.
    > >
    > > Thanx
    > > Ayhan Kondoz
    > >
    > >> -----Ursprüngliche Nachricht-----
    > >> Von: Ayhan Kondoz [mailto:Ayhan.Kondo..reenet-ag.de]
    > >> Gesendet: Montag, 25. September 2006 17:13
    > >> An: cayenne-use..ncubator.apache.org
    > >> Betreff: AW: NullPointerException when using shared cache
    > >>
    > >> Hello Andrus,
    > >>
    > >> i installed the new jar in out production system and everything
    > >> seems to
    > >> work fine so far. It's online for 6 hours and the error didn't
    > >> happen.
    > >> Before the patch it took up to 5-6 hours until the error occurred the
    > >> first time.
    > >>
    > >> I will report again tomorrow.
    > >>
    > >> Thanx so far
    > >>
    > >> Ayhan Kondoz
    > >>
    > >>> -----Ursprüngliche Nachricht-----
    > >>> Von: Andrus Adamchik [mailto:andru..bjectstyle.org]
    > >>> Gesendet: Montag, 25. September 2006 02:32
    > >>> An: cayenne-use..ncubator.apache.org
    > >>> Betreff: Re: NullPointerException when using shared cache
    > >>>
    > >>> Ayhan, Wolfgang and others who have this synchronization issue - I
    > >>> posted a patched version of 1.2.1 Cayenne:
    > >>>
    > >>> http://dev.objectstyle.org/~andrus/cayenne-1.2.1-CAY-565-
    > >>> patched.tar.gz
    > >>>
    > >>> I would appreciate very much if you could test it in your
    > >>> environment
    > >>> and let me know whether it fixes the problem. I posted more comments
    > >>> and the exact patches that were applies on Jira:
    > >>>
    > >>> http://issues.apache.org/cayenne/browse/CAY-565
    > >>>
    > >>> Thanks
    > >>> Andrus
    > >>>
    > >>>
    > >>> On Sep 12, 2006, at 9:35 AM, Andrus Adamchik wrote:
    > >>>
    > >>>> CAY-565 was closed as "Can not reproduce", so there was no fix. I
    > >>>> reopened this issue, bumping the priority to "Critical". I will add
    > >>>> synchronization, even though I can't test it.
    > >>>>
    > >>>> Andrus
    > >>>>
    > >>>>
    > >>>> On Sep 12, 2006, at 5:51 AM, Ayhan Kondoz wrote:
    > >>>>> Hello,
    > >>>>>
    > >>>>>
    > >>>>>
    > >>>>> I am getting NullPointerExceptions when I am trying to use the
    > >>>>> shared caching feature of cayenne.
    > >>>>>
    > >>>>>
    > >>>>>
    > >>>>> I have 3 servers. Each server has it's own tomcat / axis
    > >>>>> webservice and I have an avarage access of about 4 - 5 connections
    > >>>>> per second. Each connection results in about 3 - 4 select queries
    > >>>>> and about 20% of the connections result in an additional 2 - 3
    > >>>>> insert / update queries. So the servers are working at pretty
    > >>>>> heavy load.
    > >>>>>
    > >>>>>
    > >>>>>
    > >>>>> Yesterday I implemented the usage of cayenne's (remote) shared
    > >>>>> caching feature using JavaGroups and at first everything seemed to
    > >>>>> work just fine. But after about 1 hour, one of the servers started
    > >>>>> to produce NullPointerExceptions on every connection. i found this
    > >>>>> bug ( http://issues.apache.org/cayenne/browse/CAY-565 ) which
    > >>>>> seems to address my problem but the status is resolved?!
    > >>>>>
    > >>>>>
    > >>>>>
    > >>>>> i tried cayenne 1.2 and 1.2B1 and in both cases got this
    > >>>>> exceptions but only if shared caching is activated. When I
    > >>>>> deactivate caching everything seems to work fine again.
    > >>>>>
    > >>>>> It seems that there is a problem with the syncronization. This
    > >>>>> error occursed when under heavy load and a lot of threads are
    > >>>>> active at the same time. But if it is really a syncronization
    > >>>>> problem the same error could occure on every system (even if much
    > >>>>> more unlikely) even if not under heavy load.
    > >>>>>
    > >>>>>
    > >>>>>
    > >>>>> Cheers
    > >>>>>
    > >>>>> Ayhan Kondoz
    > >>>>>
    > >>>>>
    > >>>>>
    > >>>>>
    > >>>>>
    > >>>>> The exception when using common-collections 3.2
    > >>>>>
    > >>>>>
    > >>>>>
    > >>>>> [11.09.06 21:30:32] (ERROR): Entry.next=null, data[removeIndex]
    > >>>>> =<ObjectId:Customer,
    > >>>>> id=534080>=org.objectstyle.cayenne.DataRo..da158[values=
    > >>>>> {suspended=false, login=christian.hantke1, rec_create=Tue May 02
    > >>>>> 00:00:00 CEST 2006, rec_change=Tue May 02 20:18:34 CEST 2006,
    > >>>>> last_updated=Mon Sep 11 21:28:26 CEST 2006, cid=709779451,
    > >>>>> id=534080, mandant_id=3}, version=-9223372036854422785,
    > >>>>> replaces=-9223372036854775808] previous=<ObjectId:Customer,
    > >>>>> d=534080>=org.objectstyle.cayenne.DataRo..da158[values=
    > >>>>> {suspended=false, login=christian.hantke1, rec_create=Tue May 02
    > >>>>> 00:00:00 CEST 2006, rec_change=Tue May 02 20:18:34 CEST 2006,
    > >>>>> last_updated=Mon Sep 11 21:28:26 CEST 2006, cid=709779451,
    > >>>>> id=534080, mandant_id=3}, version=-9223372036854422785,
    > >>>>> replaces=-9223372036854775808] key=<Ob
    > >>>>>
    > >>>>> jectId:Customer, id=364956>
    > >>>>> value=org.objectstyle.cayenne.DataRo..26844[values=
    > >>>>> {suspended=false, login=nadda89, rec_create=Thu Mar 30 00:00:00
    > >>>>> CEST 2006, rec_change=Thu Mar 30 22:19:00 CEST 2006,
    > >>>>> last_updated=Fri Aug 04 16:09:35 CEST 2006, cid=705229711,
    > >>>>> id=364956, mandant_id=3}, version=-9223372036854407476,
    > >>>>> replaces=-9223372036854775808] size=10000 maxSize=10000 Please
    > >>>>> check that your keys are immutable, and that you have used
    > >>>>> synchronization properly. If so, then please report this to
    > >>>>> commons-de..akarta.apache.org as a bug.
    > >>>>>
    > >>>>> java.lang.IllegalStateException: Entry.next=null, data
    > >>>>> [removeIndex]
    > >>>>> =<ObjectId:Customer,
    > >>>>> id=534080>=org.objectstyle.cayenne.DataRo..da158[values=
    > >>>>> {suspended=false, login=christian.hantke1, rec_create=Tue May 02
    > >>>>> 00:00:00 CEST 2006, rec_change=Tue May 02 20:18:34 CEST 2006,
    > >>>>> last_updated=Mon Sep 11 21:28:26 CEST 2006, cid=709779451,
    > >>>>> id=534080, mandant_id=3}, version=-9223372036854422785,
    > >>>>> replaces=-9223372036854775808] previous=<ObjectId:Customer,
    > >>>>> id=534080>=org.objectstyle.cayenne.DataRo..da158[values=
    > >>>>> {suspended=false, login=christian.hantke1, rec_create=Tue May 02
    > >>>>> 00:00:00 CEST 20 06, rec_change=Tue May 02 20:18:34 CEST 2006,
    > >>>>> last_updated=Mon Sep 11 21:28:26 CEST 2006, cid=709779451,
    > >>>>> id=534080, mandant_id=3}, version=-9223372036854422785,
    > >>>>> replaces=-9223372036854775808] key=<ObjectId:Customer, id=364956>
    > >>>>> value=org.objectstyle.cayenne.DataRo..26844[values=
    > >>>>> {suspended=false, login=nadda89, rec_create=Thu Mar 30 00:00:00
    > >>>>> CEST 2006, rec_change=Thu Mar 30 22:19:00 CEST 2006,
    > >>>>> last_updated=Fri Aug 04 16:09:35 CEST 2006, cid=705229711,
    > >>>>> id=364956, mandant_id=3}, version=-9223372036854407476,
    > >>>>> replaces=-9223372036854775808] size=10000 maxSize=10000 Please
    > >>>>> check that your keys are immutable, and that you have used
    > >>>>> synchronization properly. If so, then please report this to
    > >>>>> commons-de..akarta.apache.org as a bug.
    > >>>>>
    > >>>>> at org.apache.commons.collections.map.LRUMap.reuseMapping
    > >>>>> (LRUMap.java:300)
    > >>>>>
    > >>>>> at org.apache.commons.collections.map.LRUMap.addMapping
    > >>>>> (LRUMap.java:266)
    > >>>>>
    > >>>>> at
    > >>>>> org.apache.commons.collections.map.AbstractHashedMap.put
    > >>>>> (AbstractHashedMap.java:283)
    > >>>>>
    > >>>>> at
    > >>>>> org.objectstyle.cayenne.access.DataRowStore.processUpdatedSnapshot
    > >>>>> s
    > >>>>> (DataRowStore.java:537)
    > >>>>>
    > >>>>> at
    > >>>>> org.objectstyle.cayenne.access.DataRowStore.processSnapshotChanges
    > >>>>> (DataRowStore.java:496)
    > >>>>>
    > >>>>> at
    > >>>>> org.objectstyle.cayenne.access.ObjectStore.snapshotsUpdatedForObje
    > >>>>> cts
    > >>>>> (ObjectStore.java:559)
    > >>>>>
    > >>>>> at
    > >>>>> org.objectstyle.cayenne.access.ObjectResolver.objectsFromDataRows
    > >>>>> (ObjectResolver.java:162)
    > >>>>>
    > >>>>> at
    > >>>>> org.objectstyle.cayenne.access.ObjectResolver.synchronizedObjectsF
    > >>>>> rom
    > >>>>> DataRows(ObjectResolver.java:137)
    > >>>>>
    > >>>>> at
    > >>>>> org.objectstyle.cayenne.access.DataDomainQueryAction.interceptObje
    > >>>>> ctC
    > >>>>> onversion(DataDomainQueryAction.java:363)
    > >>>>>
    > >>>>> at
    > >>>>> org.objectstyle.cayenne.access.DataDomainQueryAction.execute
    > >>>>> (DataDomainQueryAction.java:151)
    > >>>>>
    > >>>>> at org.objectstyle.cayenne.access.DataDomain.onQuery
    > >>>>> (DataDomain.java:715)
    > >>>>>
    > >>>>> at
    > >>>>> org.objectstyle.cayenne.util.ObjectContextQueryAction.runQuery
    > >>>>> (ObjectContextQueryAction.java:249)
    > >>>>>
    > >>>>> at
    > >>>>> org.objectstyle.cayenne.access.DataContextQueryAction.execute
    > >>>>> (DataContextQueryAction.java:90)
    > >>>>>
    > >>>>> at org.objectstyle.cayenne.access.DataContext.onQuery
    > >>>>> (DataContext.java:1320)
    > >>>>>
    > >>>>> at org.objectstyle.cayenne.access.DataContext.performQuery
    > >>>>> (DataContext.java:1309)
    > >>>>>
    > >>>>>
    > >>>>>
    > >>>>> The exception when using common-collections 3.1
    > >>>>>
    > >>>>>
    > >>>>>
    > >>>>> [11.09.06 15:29:13] (ERROR):
    > >>>>>
    > >>>>> java.lang.NullPointerException
    > >>>>>
    > >>>>> at org.apache.commons.collections.map.LRUMap.reuseMapping
    > >>>>> (LRUMap.java:272)
    > >>>>>
    > >>>>> at org.apache.commons.collections.map.LRUMap.addMapping
    > >>>>> (LRUMap.java:243)
    > >>>>>
    > >>>>> at
    > >>>>> org.apache.commons.collections.map.AbstractHashedMap.put
    > >>>>> (AbstractHashedMap.java:282)
    > >>>>>
    > >>>>> at
    > >>>>> org.objectstyle.cayenne.access.DataRowStore.processUpdatedSnapshot
    > >>>>> s
    > >>>>> (DataRowStore.java:612)
    > >>>>>
    > >>>>> at
    > >>>>> org.objectstyle.cayenne.access.DataRowStore.processSnapshotChanges
    > >>>>> (DataRowStore.java:571)
    > >>>>>
    > >>>>> at
    > >>>>> org.objectstyle.cayenne.access.DataRowStore.snapshotsUpdatedForObj
    > >>>>> ect
    > >>>>> s(DataRowStore.java:313)
    > >>>>>
    > >>>>> at
    > >>>>> org.objectstyle.cayenne.access.ObjectResolver.objectsFromDataRows
    > >>>>> (ObjectResolver.java:159)
    > >>>>>
    > >>>>> at
    > >>>>> org.objectstyle.cayenne.access.ObjectResolver.synchronizedObjectsF
    > >>>>> rom
    > >>>>> DataRows(ObjectResolver.java:134)
    > >>>>>
    > >>>>> at
    > >>>>> org.objectstyle.cayenne.access.DataDomainQueryAction.interceptObje
    > >>>>> ctC
    > >>>>> onversion(DataDomainQueryAction.java:373)
    > >>>>>
    > >>>>> at
    > >>>>> org.objectstyle.cayenne.access.DataDomainQueryAction.execute
    > >>>>> (DataDomainQueryAction.java:151)
    > >>>>>
    > >>>>> at org.objectstyle.cayenne.access.DataDomain.onQuery
    > >>>>> (DataDomain.java:766)
    > >>>>>
    > >>>>> at
    > >>>>> org.objectstyle.cayenne.util.ObjectContextQueryAction.runQuery
    > >>>>> (ObjectContextQueryAction.java:253)
    > >>>>>
    > >>>>> at
    > >>>>> org.objectstyle.cayenne.access.DataContextQueryAction.execute
    > >>>>> (DataContextQueryAction.java:90)
    > >>>>>
    > >>>>> at org.objectstyle.cayenne.access.DataContext.onQuery
    > >>>>> (DataContext.java:1422)
    > >>>>>
    > >>>>> at org.objectstyle.cayenne.access.DataContext.performQuery
    > >>>>> (DataContext.java:1411)
    > >>>>>
    > >>>>>
    > >>>>>
    > >>>>>
    > >>>>>
    > >>>>>
    > >>>>>
    > >>>>> Ayhan Kondoz
    > >>>>>
    > >>>>>
    > >>>>>
    > >>>>> Software-Entwicklung
    > >>>>>
    > >>>>>
    > >>>>>
    > >>>>> ------------------------------------------------------------------
    > >>>>> ---
    > >>>>> -------------
    > >>>>>
    > >>>>> Telefon: +49 (0) 40 513 06 616
    > >>>>>
    > >>>>> Telefax: +49 (0) 40 513 06 998 616
    > >>>>>
    > >>>>> E-Mail: ayhan.kondo..reenet-ag.de
    > >>>>> <mailto:ayhan.kondo..reenet-ag.de>
    > >>>>>
    > >>>>> Website: http://www.freenet.de <http://www.freenet.de/> ; http://
    > >>>>> www.freenet-ag.de <http://www.freenet-ag.de/>
    > >>>>>
    > >>>>> ------------------------------------------------------------------
    > >>>>> ---
    > >>>>> -------------
    > >>>>>
    > >>>>> freenet.de AG
    > >>>>>
    > >>>>> Deelbögenkamp 4c
    > >>>>>
    > >>>>> 22297 Hamburg
    > >>>>>
    > >>>>> ------------------------------------------------------------------
    > >>>>> ---
    > >>>>> -------------
    > >>>>>
    > >>>>> Vorsitzender des Aufsichtsrates: Prof. Dr. Helmut Thoma
    > >>>>>
    > >>>>> Vorstand: Eckhard Spoerr (Vors.),
    > >>>>> Axel Krieger, Stephan Esch, Eric Berger
    > >>>>>
    > >>>>> Amtsgericht Hamburg HRB 74048
    > >>>>>
    > >>>>>
    > >>>>>
    > >>>>>
    > >>>>>
    > >>>>> Diese Information ist ausschließlich für die adressierte Person
    > >>>>> oder Organisation bestimmt und könnte vertrauliches und/oder
    > >>>>> privilegiertes Material enthalten. Personen oder Organisationen,
    > >>>>> für die diese Information nicht bestimmt ist, ist es nicht
    > >>>>> gestattet, diese zu lesen, erneut zu übertragen, zu verbreiten,
    > >>>>> anderweitig zu verwenden oder sich durch sie veranlasst zu sehen,
    > >>>>> Maßnahmen irgendeiner Art zu ergreifen. Sollten Sie diese
    > >>>>> Nachricht irrtümlich erhalten haben, bitten wir Sie, sich mit dem
    > >>>>> Absender in Verbindung zu setzen und das Material von Ihrem
    > >>>>> Computer zu löschen.
    > >>>>>
    > >>>>>
    > >>>>>
    > >>>>> The information transmitted is intended only for the person or
    > >>>>> entity to which it is addressed and may contain confidential and/
    > >>>>> or privileged material. Any review, retransmission, dissemination
    > >>>>> or other use of, or taking of any action in reliance upon, this
    > >>>>> information by persons or entities other than the intended
    > >>>>> recipient is prohibited. If you received this in error, please
    > >>>>> contact the sender and delete the material from any computer.
    > >>>>>
    > >>>>>
    > >>>>>
    > >>>>
    > >>>>
    > >
    > >
    >



    This archive was generated by hypermail 2.0.0 : Tue Sep 26 2006 - 12:17:11 EDT