You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by "Pinaki Poddar (JIRA)" <ji...@apache.org> on 2007/03/01 00:51:50 UTC

[jira] Updated: (OPENJPA-35) In-memory Delete operation fails with active DataCache

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

Pinaki Poddar updated OPENJPA-35:
---------------------------------

    Attachment: openjpa-35.trace.txt

Added a trace output of the test case that is failing. 

shows that the deleted instance (PObject-4501) is in L2 Cache.

Please note the instance was locked and modified *after* delete by query (as we still has its reference).
Does that give the cache a chance to heal?

Please note that PObject-4501 has a DetachedStateManager when we lock/modify it after delete.


> In-memory Delete operation fails with active DataCache
> ------------------------------------------------------
>
>                 Key: OPENJPA-35
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-35
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: datacache, query
>         Environment: Only happens when DataCache is active
> 			<property name="openjpa.DataCache"                value="true"/>
> 			<property name="openjpa.RemoteCommitProvider"     value="sjvm"/>
>            Reporter: Pinaki Poddar
>            Priority: Critical
>         Attachments: openjpa-35.test.zip, openjpa-35.trace.txt
>
>
> Delete through query such as 
> 		Query query = em.createQuery("DELETE FROM Node n");
> 		query.executeUpdate();
> fails with following exception (only when DataCache is active)
> Exception in thread "main" <4|false|0.0.0> org.apache.openjpa.persistence.ArgumentException: org.apache.openjpa.datacache.QueryCacheStoreQuery
> 	at org.apache.openjpa.kernel.QueryImpl.deleteInMemory(QueryImpl.java:1029)
> 	at org.apache.openjpa.kernel.ExpressionStoreQuery$DataStoreExecutor.executeDelete(ExpressionStoreQuery.java:665)
> 	at org.apache.openjpa.datacache.QueryCacheStoreQuery$QueryCacheExecutor.executeDelete(QueryCacheStoreQuery.java:348)
> 	at org.apache.openjpa.kernel.QueryImpl.delete(QueryImpl.java:1012)
> 	at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:768)
> 	at org.apache.openjpa.kernel.QueryImpl.deleteAll(QueryImpl.java:831)
> 	at org.apache.openjpa.kernel.QueryImpl.deleteAll(QueryImpl.java:827)
> 	at org.apache.openjpa.kernel.DelegatingQuery.deleteAll(DelegatingQuery.java:544)
> 	at org.apache.openjpa.persistence.QueryImpl.executeUpdate(QueryImpl.java:299)
> 	at control.Test.clear(Test.java:87)
> 	at control.Test.run(Test.java:37)
> 	at control.Test.main(Test.java:178)
> Caused by: java.lang.ClassCastException: org.apache.openjpa.datacache.QueryCacheStoreQuery
> 	at org.apache.openjpa.kernel.ExpressionStoreQuery$DataStoreExecutor.executeQuery(ExpressionStoreQuery.java:651)
> 	at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:949)
> 	at org.apache.openjpa.kernel.QueryImpl.deleteInMemory(QueryImpl.java:1018)
> 	... 11 more

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