[ 
https://issues.apache.org/jira/browse/OPENJPA-1511?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12840818#action_12840818
 ] 

Ravi P Palacherla commented on OPENJPA-1511:
--------------------------------------------

>> * Execute a cached query which will return [E1]. This *should* result in 
>> [E1] being placed back in the L2 cache, but it isn't. 

When [E1] is in L1cache then I think there is no need to check L2 cache ?

It is only when [E1] is missing in L1cache is when it tries to fetch  from 
L2cache.
 At this time as L2cache does not contain [E1] it goes to DB and re-populate 
L2cache with [E1].


> Executing a cached query doesn't properly cache results after DataCache 
> eviction
> --------------------------------------------------------------------------------
>
>                 Key: OPENJPA-1511
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-1511
>             Project: OpenJPA
>          Issue Type: Bug
>    Affects Versions: 2.0.0-beta
>            Reporter: Rick Curtis
>            Assignee: Ravi P Palacherla
>         Attachments: TestCache.java
>
>
> When doing some testing I found that the QueryCache sometimes doesn't put 
> results into the DataCache. 
> I haven't had time to debug the problem, but I'm opening this JIRA so I can 
> attach the test case I've created.
> The test scenario is as follows:
> String query = "Select t FROM Item t where 1=1 ORDER BY t.id";
> items = em.createQuery(query,Item.class).getResultList();
> assertTrue(storeCache.contains(Item.class, items.get(0).getId()));
> // Make sure that all of the results are in the DataCache.
> for(Item o : items){
>   assertTrue(storeCache.contains(Item.class, o.getId()));
> }
> storeCache.evict(Item.class,items.get(0).getId());
> // Evict one result
> assertFalse(storeCache.contains(Item.class,items.get(0).getId()));
>         
> // Executing the same query should re-populate the datacache
> items = em.createQuery(query,Item.class).getResultList();
> assertTrue(storeCache.contains(Item.class, items.get(0).getId())); // fails 
> here

-- 
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