cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrus Adamchik <and...@objectstyle.org>
Subject Re: NullPointerException when using shared cache
Date Mon, 25 Sep 2006 14:08:35 GMT
Thanks Bryan! This is certainly helpful.

Andrus

On Sep 25, 2006, at 10:05 AM, Bryan Lewis wrote:
> Okay, I installed the patched jar on our production servers.  It'll be
> difficult to say for sure that the problem was fixed, seeing as how it
> happened to us only once this year.  The absence of a report from me
> will mean that things at least didn't get any worse. :-)
>
>
> Andrus Adamchik wrote:
>> 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.snapshotsUpdatedForObjec 
>>>> ts(ObjectStore.java:559)
>>>>
>>>>
>>>>         at
>>>> org.objectstyle.cayenne.access.ObjectResolver.objectsFromDataRows 
>>>> (ObjectResolver.java:162)
>>>>
>>>>
>>>>         at
>>>> org.objectstyle.cayenne.access.ObjectResolver.synchronizedObjectsFr 
>>>> omDataRows(ObjectResolver.java:137)
>>>>
>>>>
>>>>         at
>>>> org.objectstyle.cayenne.access.DataDomainQueryAction.interceptObjec 
>>>> tConversion(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.snapshotsUpdatedForObje 
>>>> cts(DataRowStore.java:313)
>>>>
>>>>
>>>>         at
>>>> org.objectstyle.cayenne.access.ObjectResolver.objectsFromDataRows 
>>>> (ObjectResolver.java:159)
>>>>
>>>>
>>>>         at
>>>> org.objectstyle.cayenne.access.ObjectResolver.synchronizedObjectsFr 
>>>> omDataRows(ObjectResolver.java:134)
>>>>
>>>>
>>>>         at
>>>> org.objectstyle.cayenne.access.DataDomainQueryAction.interceptObjec 
>>>> tConversion(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