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:[EMAIL PROTECTED]
Gesendet: Montag, 25. September 2006 17:13
An: [email protected]
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:[EMAIL PROTECTED]
Gesendet: Montag, 25. September 2006 02:32
An: [email protected]
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>[EMAIL PROTECTED]
{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>[EMAIL PROTECTED]
{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>
[EMAIL PROTECTED]
{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
[email protected] as a bug.

java.lang.IllegalStateException: Entry.next=null, data [removeIndex]
=<ObjectId:Customer,
id=534080>[EMAIL PROTECTED]
{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>[EMAIL PROTECTED]
{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>
[EMAIL PROTECTED]
{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
[email protected] 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:     [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>

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.








Reply via email to