Return-Path: Delivered-To: apmail-cayenne-user-archive@www.apache.org Received: (qmail 76100 invoked from network); 7 Jan 2010 22:06:47 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 7 Jan 2010 22:06:47 -0000 Received: (qmail 35589 invoked by uid 500); 7 Jan 2010 22:06:46 -0000 Delivered-To: apmail-cayenne-user-archive@cayenne.apache.org Received: (qmail 35551 invoked by uid 500); 7 Jan 2010 22:06:46 -0000 Mailing-List: contact user-help@cayenne.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@cayenne.apache.org Delivered-To: mailing list user@cayenne.apache.org Received: (qmail 35541 invoked by uid 99); 7 Jan 2010 22:06:46 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 07 Jan 2010 22:06:46 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of msabo@buk.cvut.cz designates 147.32.104.6 as permitted sender) Received: from [147.32.104.6] (HELO sekvoj.buk.cvut.cz) (147.32.104.6) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 07 Jan 2010 22:06:37 +0000 Received: from localhost (localhost [127.0.0.1]) by sekvoj.buk.cvut.cz (Postfix) with ESMTP id 2B9CC9BA8C for ; Thu, 7 Jan 2010 23:06:16 +0100 (CET) Received: from sekvoj.buk.cvut.cz ([127.0.0.1]) by localhost (mail.buk.cvut.cz [127.0.0.1]) (amavisd-maia, port 10024) with LMTP id 05930-03 for ; Thu, 7 Jan 2010 23:06:09 +0100 (CET) Received: from [147.32.105.22] (antioch.buk.cvut.cz [147.32.105.22]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by sekvoj.buk.cvut.cz (Postfix) with ESMTPS id 12C689BA8A for ; Thu, 7 Jan 2010 23:06:09 +0100 (CET) Message-ID: <4B465AD0.7020000@buk.cvut.cz> Date: Thu, 07 Jan 2010 23:06:08 +0100 From: =?UTF-8?B?TWFyZWsgxaBhYm8=?= Organization: Club SU CVUT Buben User-Agent: Thunderbird 2.0.0.23 (X11/20090817) MIME-Version: 1.0 To: user@cayenne.apache.org Subject: Re: DataObject expiring? References: <4B439D70.7000504@buk.cvut.cz> <43A6FA29-9103-4DB5-8438-BCEF7A4F47E0@objectstyle.org> <86f0c84d1001051845x46bc2ce3y3da752fead20fe74@mail.gmail.com> <86f0c84d1001060428i7516303bn8cd3997dd7ffc857@mail.gmail.com> <4B44C757.7070309@buk.cvut.cz> In-Reply-To: <4B44C757.7070309@buk.cvut.cz> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Virus-Scanned: Maia Mailguard X-Virus-Checked: Checked by ClamAV on apache.org Well, no luck so far, I didn't manage to reproduce this so I'm not sure if I should open a bug. Maybe if the issue will rise again sometime in the future. Marek Marek Šabo wrote: > I will try to reproduce it and open detailed issue. > > Regards, > > Marek > > > Bryan Lewis wrote: >> Marek, would you like the honor of opening the Jira? Your stack >> trace will >> be more useful than my story. >> >> >> On Wed, Jan 6, 2010 at 5:25 AM, Andrus Adamchik >> wrote: >> >> >>> Would you mind opening a Jira with these details and include the JVM >>> version and maybe the CPU type on your server? >>> >>> Weak references in Cayenne 3.0 are at the ObjectStore level and >>> should not >>> affect relationships, if Java works correctly. I.e. related objects are >>> store via hard references. >>> >>> Andrus >>> >>> >>> >>> >>> On Jan 6, 2010, at 4:45 AM, Bryan Lewis wrote: >>> >>> This rings a bit of a bell with me. We made our first big release >>> with >>> >>>> Cayenne 3.0 a couple of weeks ago (it went well, thank you) and saw a >>>> similar-sounding problem. It happened only intermittently and only >>>> on our >>>> production server. We could never reproduce it on our test server, >>>> let >>>> alone in a debugger. >>>> >>>> We had an object stored in the session. Our editor-page >>>> initialization >>>> code >>>> got the object and then the value of its to-one relationship. This >>>> related >>>> object would occasionally be null. >>>> >>>> StoryDetail object from session ---to-one---> Story (occasionally >>>> null) >>>> >>>> We couldn't pin down how to reproduce it. (The user it kept >>>> happening too >>>> works very remotely.) My guess was some kind of garbage >>>> collection. The >>>> user would enter a lot of text for several minutes and then >>>> save/refresh >>>> the >>>> page and get the NPE. The other hint was that the same code had >>>> never had >>>> a >>>> problem in two years with Cayenne 2. On the other hand, I was >>>> unable to >>>> reproduce it by adding explicit garbage collection calls so my >>>> guess could >>>> be off base. >>>> >>>> I worked around it by refetching the list of StoryDetails, with a >>>> prefetch >>>> on Story, so that the desired Story object would always be freshly >>>> fetched. >>>> >>>> >>>> >>>> On Tue, Jan 5, 2010 at 3:31 PM, Andrus Adamchik >>>> >>> >>>>> wrote: >>>>> >>>> On the surface looks like some (de)serialization issue. Although that >>>> >>>>> doesn't make much sense, as RelationshipFault.relationshipOwner is >>>>> not >>>>> transient and can't be reset to null easily. The best bet is to >>>>> run this >>>>> in >>>>> debugger to get a better picture of what's going on with your >>>>> objects. >>>>> >>>>> Andrus >>>>> >>>>> >>>>> On Jan 5, 2010, at 10:13 PM, Marek Šabo wrote: >>>>> >>>>> Hi all, >>>>> >>>>>> is there any way that a dataobject could expire? I mean i'm storing >>>>>> user's >>>>>> settings dataobject in session and after a while, say max 5 min. >>>>>> when I >>>>>> try >>>>>> to submit a form that binds this data as foreign key I got a >>>>>> nullpointer >>>>>> exception from setting up that relationship. I think it does't >>>>>> expire in >>>>>> session because I'm still logged in and only way is to logout and >>>>>> login >>>>>> back >>>>>> to have the setting reloaded from database. Appending end of >>>>>> stacktrace: >>>>>> >>>>>> at >>>>>> >>>>>> org.apache.cayenne.util.RelationshipFault.isTransientParent(RelationshipFault.java:70) >>>>>> >>>>>> at >>>>>> >>>>>> org.apache.cayenne.util.PersistentObjectList.isFault(PersistentObjectList.java:75) >>>>>> >>>>>> at >>>>>> >>>>>> org.apache.cayenne.util.PersistentObjectList.add(PersistentObjectList.java:125) >>>>>> >>>>>> at >>>>>> >>>>>> org.apache.cayenne.CayenneDataObject.addToManyTarget(CayenneDataObject.java:282) >>>>>> >>>>>> at >>>>>> >>>>>> org.apache.cayenne.CayenneDataObject.setReverseRelationship(CayenneDataObject.java:364) >>>>>> >>>>>> at >>>>>> >>>>>> org.apache.cayenne.CayenneDataObject.setToOneTarget(CayenneDataObject.java:315) >>>>>> >>>>>> >>>>>> Thanks for any ideas, >>>>>> >>>>>> Regards >>>>>> >>>>>> -- >>>>>> Marek Šabo >>>>>> >>>>>> >>>>>> >>>>> >> >> > -- Marek Šabo Server Manager Club SU CVUT Buben Bubenečská Kolej (421) XMPP: zeratul021@gmail.com