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]

Reply via email to