cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ayhan Kondoz" <Ayhan.Kon...@freenet-ag.de>
Subject AW: NullPointerException when using shared cache
Date Mon, 25 Sep 2006 15:12:42 GMT
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:andrus@objectstyle.org]
> Gesendet: Montag, 25. September 2006 02:32
> An: cayenne-user@incubator.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.DataRow@fda158[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.DataRow@fda158[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.DataRow@426844[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-dev@jakarta.apache.org as a bug.
> >>
> >> java.lang.IllegalStateException: Entry.next=null, data[removeIndex]
> >> =<ObjectId:Customer,
> >> id=534080>=org.objectstyle.cayenne.DataRow@fda158[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.DataRow@fda158[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.DataRow@426844[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-dev@jakarta.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.processUpdatedSnapshots
> >> (DataRowStore.java:537)
> >>
> >>         at
> >> org.objectstyle.cayenne.access.DataRowStore.processSnapshotChanges
> >> (DataRowStore.java:496)
> >>
> >>         at
> >> org.objectstyle.cayenne.access.ObjectStore.snapshotsUpdatedForObjects
> >> (ObjectStore.java:559)
> >>
> >>         at
> >> org.objectstyle.cayenne.access.ObjectResolver.objectsFromDataRows
> >> (ObjectResolver.java:162)
> >>
> >>         at
> >> org.objectstyle.cayenne.access.ObjectResolver.synchronizedObjectsFrom
> >> DataRows(ObjectResolver.java:137)
> >>
> >>         at
> >> org.objectstyle.cayenne.access.DataDomainQueryAction.interceptObjectC
> >> 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.processUpdatedSnapshots
> >> (DataRowStore.java:612)
> >>
> >>         at
> >> org.objectstyle.cayenne.access.DataRowStore.processSnapshotChanges
> >> (DataRowStore.java:571)
> >>
> >>         at
> >> org.objectstyle.cayenne.access.DataRowStore.snapshotsUpdatedForObject
> >> s(DataRowStore.java:313)
> >>
> >>         at
> >> org.objectstyle.cayenne.access.ObjectResolver.objectsFromDataRows
> >> (ObjectResolver.java:159)
> >>
> >>         at
> >> org.objectstyle.cayenne.access.ObjectResolver.synchronizedObjectsFrom
> >> DataRows(ObjectResolver.java:134)
> >>
> >>         at
> >> org.objectstyle.cayenne.access.DataDomainQueryAction.interceptObjectC
> >> 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.kondoz@freenet-ag.de
> >> <mailto:ayhan.kondoz@freenet-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.
> >>
> >>
> >>
> >
> >


Mime
View raw message