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 - 11:34:34 EDT