[ 
https://issues.apache.org/jira/browse/OPENJPA-1899?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Robert Krier updated OPENJPA-1899:
----------------------------------

    Attachment: evictproblem.zip

Uploaded again with proper attachment license.

> Evict from L2 of a object causes secondary objects to never be loaded in graph
> ------------------------------------------------------------------------------
>
>                 Key: OPENJPA-1899
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-1899
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: kernel
>    Affects Versions: 2.0.0, 2.0.1
>         Environment: N/A
>            Reporter: Robert Krier
>            Priority: Blocker
>         Attachments: evictproblem.zip, evictproblem.zip
>
>
> I have a simple example.  A customer has a reference to an address and a 
> (primary) contact (an extension of person).  Find the customer, get the 
> contact and evict it from L2.  Now find the customer again using a new entity 
> manager.  Begin a Tx and change the address of the contact and then call 
> Customer.getPrimaryContact() (this is important)   Rollback the Tx.  Now find 
> the customer again using another new EntityManager and call 
> Customer.getPrimaryContact().getAddress().  The address associated with the 
> contact is Null and not the original address as expected.  The same scenario 
> works fine under OpenJPA 1.2.2.  
> The reason this is a big problem for us is we use L2 caching in our 
> application and the application is clustered.  The same problem occurs if 
> different nodes in the cluster operate on the same objects.  In a cluster 
> "evict" is not directly called, but the RemoteCommitProvider will evict the 
> L2 and create the same problem.  
> I have attached example code to reproduce the problem using a single JVM and 
> calling Evict.  I also have another example where you can deploy the code on 
> two nodes in a cluster and see the problem occurs that way as well.  Each 
> example contains Unix shell scripts and Windows cmd files as well.  Each are 
> paired for JPA 1.0 and JPA 2.0.  Again, the problem only occurs under JPA 2.0.
> This is a block for us.  We cannot ship our product with this type of problem 
> as it means objects and their graph can be corrupted.  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to