I sensed that, but I'm not sure the penalty for loading an object twice is is bad as the penalty I was getting. A lot of places in our code assume the object reference is loaded on a required relationship. One thread was prefetching and turned off auto-retrieve, then another came in and thought that was the right value and set it back to that. So from then on none of the objects had the relationship loaded and I got NullPointerException everywhere. I suppose that multiple loads could be more of an issue with the global cache, but with cache-per-broker I'm not sure if that's an issue. At least to me double-load isn't as big a deal as the NPE's. I had to discontinue using prefetch in the couple of places I was using it. (Not sure that's the worst thing anyway, since I don't know that it helped a whole lot.)
John >===== Original Message From Jakob Braeuchi <[EMAIL PROTECTED]> ===== >hi john, > > >John wrote: > >> Has there been any solution to this issue (OJB188)? This bit me in the butt, >> but of course it took quite a bit of digging and debugging to realize this is >> what was happening. Why exactly is the value changed while prefetching? >> > >auto-retrieve is disabled during prefetching of a relationship to avoid >loading the same obj multiple times. > >jakob > >> I have a patched version of OJB that was based on HEAD from the middle of >> August, so I haven't been able to update for a while (don't want to repatch). >> It seems that there have been some changes to OJB since then with regards to >> (proxy) prefetching, autoretrieve, etc, especially in how those are configured >> in the repository. Are these summarized anywhere? >> >> John Marshall >> Connectria >> >> >> ============================================= >> Date: Fri, 11 Jul 2003 18:19:33 +0200 >> From: Jakob Braeuchi <[EMAIL PROTECTED]> >> Subject: Potential problem with prefetch-relationships ? >> Content-Type: text/plain; charset=ISO-8859-1; format=flowed >> >> >> hi theo, >> >> during prefetch auto-retrieve is disabled. when an other thread uses the >> relationship-desriptor it will find auto-retrive off. >> this is a known problem but i do not have a solution for it :( >> >> >> jakob >> >> Theo Niemeijer wrote: >> >> >>>Hi all, >>>I seemed to have stumbled on a potential problem with >>>the "prefetch relationship" option in PB query. >>> >>>After using prefetchRelationship for retrieval of big list of results, >>>and at the same time performing other queries, >>>I seemed to have lost the "auto-retrieve" attribute on >>>the collection descriptor. >>> >>>The result was that subsequent queries did not >>>retrieve that collection anymore, probably because the >>>"auto-retrieve" was disabled. >>> >>>The problem is quite hard to reproduce, but my guess is >>>that different threads modified the repository descriptor >>>in the wrong sequence, by means of the setCascadeRetrieve >>>method used in prepareRelationshipSettings. >>> >>>I might be wrong, because I simply do not oversee all aspects >>>of OJB. But am I right to view this as a potential problem >>>in "concurrency situations" like websites ? >>>I do not feel too comfortable that OJB makes these "temporary" >>>changes to the repository model. >>> >>>Cheers, >>> Theo Niemeijer --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
