David -- Have you tried setting refresh="true" for the reference-descriptor? If this is set, then when you retrieve object A, the reference to B will be refreshed. Based on the code that I reviewed, this refresh happens both when A is initially retrieved from the database and when it's pulled from the cache.
Ron Gallagher Atlanta, GA [EMAIL PROTECTED] > > From: [EMAIL PROTECTED] > Date: 2003/04/02 Wed AM 08:11:15 EST > To: "OJB Users List" <[EMAIL PROTECTED]> > CC: "'OJB Users List'" <[EMAIL PROTECTED]> > Subject: RE: Default Cache - bug? design catostrophe? user error? > > > It's not the transaction isolation that's a concern. I think the > PerBrokerCache has the same problem, which is that directly or indirectly, > the cache contains an invalid representation of what's in the database, > while there are no transactions in progress. > > > > > |---------+----------------------------> > | | Mahler Thomas | > | | <[EMAIL PROTECTED]| > | | ellium.com> | > | | | > | | 04/02/2003 02:22 | > | | AM | > | | Please respond to| > | | "OJB Users List" | > | | | > |---------+----------------------------> > > >--------------------------------------------------------------------------------------------------------------------------------------------------| > | > | > | To: "'OJB Users List'" <[EMAIL PROTECTED]> > | > | cc: > | > | Subject: RE: Default Cache - bug? design catostrophe? user error? > | > | > | > > >--------------------------------------------------------------------------------------------------------------------------------------------------| > > > > The DefaultCache is a global cache that does not isolate broker > transactions. > You can use other cache implementations (like the PerBrokerCache) that > isolate transactions. > > We hope get those issues fixed till 1.0 > > Thomas > > > -----Original Message----- > > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > > Sent: Tuesday, April 01, 2003 9:28 PM > > To: OJB Users List > > Cc: OJB Users List > > Subject: RE: Default Cache - bug? design catostrophe? user error? > > > > > > > > Well, that DOES work, but in a multi-user environment, I > > would consider > > this fairly drastic. Of course, if my other option is to not > > have a cache > > at all.... > > > > > > > > > > > > |---------+---------------------------> > > | | "Scott Howlett" | > > | | <[EMAIL PROTECTED]| > > | | .com> | > > | | | > > | | 04/01/2003 01:40| > > | | PM | > > | | Please respond | > > | | to "OJB Users | > > | | List" | > > | | | > > |---------+---------------------------> > > > > >------------------------------------------------------------- > > -------------------------------------------------------------- > > -----------------------| > > | > > > > | > > | To: "OJB Users List" <[EMAIL PROTECTED]> > > > > | > > | cc: > > > > | > > | Subject: RE: Default Cache - bug? design > > catostrophe? user error? > > | > > | > > > > | > > > > >------------------------------------------------------------- > > -------------------------------------------------------------- > > -----------------------| > > > > > > > > Could you flush the cache whenever you rollback a transaction? > > > > -----Original Message----- > > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > > Sent: Tuesday, April 01, 2003 1:37 PM > > To: [EMAIL PROTECTED] > > Subject: Default Cache - bug? design catostrophe? user error? > > > > > > Consider this: I'm uing ObjectCacheDefaultImpl > > > > 1) I have an A which contains (has a reference to) a B. > > 2) B has a name property. > > 3) When I load A (oid=1), B(oid=2) gets loaded. > > 4) Now the cache looks like this { A(1)[B(2)], B(2) } ( A is in the > > cache, and refers to B. B is in the cache). > > 5) I begin a transaction, and lock B(2) into it so I can change it's > > name. > > 6) I change it's name. > > 7) Something happens, and the transaction is rolled back. > > 8) B gets flushed from the cache, because the name it has is now > > invalid. { A(1)[B(2)] } (A is in the cache and refers to B). > > 9) I know load B(oid=2) and get B' The cache is { A(1)[B(2)] B'(2) } > > > > B and B' now refer to the same logical object (oid=2), but they have > > different name values. Depending on how I happen to access the code > > (direct load of B vs. asking A for it's B), I get two > > entirely different > > results. > > > > This seems to me like a *very* serious problem. The only solution I > > can > > see (and it is not without consequences) is to not cache the actual > > object, but to cache the columnar data for the object, and then > > reconstruct the object "on demand". > > > > David > > > > > > > > This message contains information from Equifax Inc. which may be > > confidential and privileged. If you are not an intended recipient, > > please refrain from any disclosure, copying, distribution or > > use of this > > information and note that such actions are prohibited. If you have > > received this transmission in error, please notify by 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] > > > > > > > --------------------------------------------------------------------- > 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]
