Its running as a web app, so this could be the problem. I have upgraded to rc6, but that isnt on the server yet (as a big section is being recoded, and isnt complete yet).
I will give that a try ASAP. If it doesnt solve it, i will try perbrokercacheimpl. Is there any real performance loss using this anyway? I figure i might give it a go, as apart from proxying, i would get my cache hit rate is almost 0! Thanks, Daniel. -----Original Message----- From: Armin Waibel [mailto:[EMAIL PROTECTED] Sent: 06 May 2004 18:13 To: OJB Users List Subject: Re: random errors with CollectionProxy Hi Daniel, > Every now and then (it really is random!) accessing a collection fails with > a null pointer exception. I assume you run this test in a multithreaded environment? If yes, your problem could be caused by object materialization in rc5. Before objects will be full materialized they have been put to cache, so another thread could find partial materialized objects, is fixed in rc6 and CVS head. It's only speculation (maybe it's only a simple prefetching problem). Do the same problem occur when a per broker cache was used (ObjectCachePerBrokerImpl)? regards, Armin Daniel Perry wrote: > Our large project is now reaching maturity, and is being trialed with some > users finally! Despite quite large object trees, it is performing well (our > strategy is proxying collections only). But we are having a few problems > with collection proxies. > > Every now and then (it really is random!) accessing a collection fails with > a null pointer exception. > > I will point out now that it is using RC5, not 6 (although the dev version > is using 6). If this is likely to not occur with RC6 then please let me > know! > > A stack trace is shown below. > > The code that caused this failure is: > > List pdps = e.getPdps(); > pdps.add(pdp); > e.setPdps(pdps); > > e is a persisted object, and pdps is a List (inverse-primary-key based > collection) > > Note that when this collapsed, pdps was an empty list. But normally this > code works fine! And it's not only here that the problem occurs. > > Daniel. > > > org.apache.ojb.broker.PersistenceBrokerException: > java.lang.NullPointerException > at org.apache.ojb.broker.accesslayer.CollectionProxy.loadData(Unknown > Source) > at org.apache.ojb.broker.accesslayer.ListProxy.loadData(Unknown Source) > at org.apache.ojb.broker.accesslayer.CollectionProxy.getData(Unknown > Source) > at org.apache.ojb.broker.accesslayer.CollectionProxy.add(Unknown Source) > at > com.netcase.pdp.service.PDPDataService.createNewAppraisal(PDPDataService.jav > a:386) > ... > > Caused by: java.lang.NullPointerException > at org.apache.ojb.broker.accesslayer.BasePrefetcher.<init>(Unknown Source) > at > org.apache.ojb.broker.accesslayer.RelationshipPrefetcherImpl.<init>(Unknown > Source) > at org.apache.ojb.broker.accesslayer.CollectionPrefetcher.<init>(Unknown > Source) > at > org.apache.ojb.broker.accesslayer.RelationshipPrefetcherFactory.createRelati > onshipPrefetcher(Unknown Source) > at > org.apache.ojb.broker.core.QueryReferenceBroker$PBCollectionProxyListener.ge > tPrefetcher(Unknown Source) > at > org.apache.ojb.broker.core.QueryReferenceBroker$PBPrefetchingListener.prefet > ch(Unknown Source) > at > org.apache.ojb.broker.core.QueryReferenceBroker$PBCollectionProxyListener.be > foreLoading(Unknown Source) > at org.apache.ojb.broker.accesslayer.CollectionProxy.beforeLoading(Unknown > Source) > ... 41 more > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
