]
Tristan Tarrant updated ISPN-10924:
-----------------------------------
Sprint: DataGrid Sprint #36, DataGrid Sprint #37 (was: DataGrid Sprint #36)
JPA cache store (with async enabled) will log Exceptions in DEBUG
for deleteBatch and is not able to remove entries from the store
-----------------------------------------------------------------------------------------------------------------------------------
Key: ISPN-10924
URL:
https://issues.jboss.org/browse/ISPN-10924
Project: Infinispan
Issue Type: Bug
Components: Loaders and Stores
Affects Versions: 9.4.16.Final, 10.0.1.Final, 10.1.0.Beta1
Environment: Embedded mode with configured ASYNC JPA CacheStore
Reporter: Ryan Emerson
Assignee: Ryan Emerson
Priority: Major
Fix For: 9.4.17.Final, 10.1.0.Beta1, 10.0.2.Final
If the cache is configured with a persistence of JPAStore in async mode each modification
will log a DEBUG message like followed
Oct 22, 2019 1:51:08 PM
org.infinispan.persistence.async.AsyncCacheWriter$AsyncStoreProcessor retryWork
DEBUG: Failed to process async modifications
org.infinispan.persistence.jpa.JpaStoreException: Exception caught in deleteBatch()
at org.infinispan.persistence.jpa.JpaStore.deleteBatch(JpaStore.java:357)
at
org.infinispan.persistence.async.AsyncCacheWriter.applyModificationsSync(AsyncCacheWriter.java:234)
at
org.infinispan.persistence.async.AsyncCacheWriter$AsyncStoreProcessor.retryWork(AsyncCacheWriter.java:463)
at
org.infinispan.persistence.async.AsyncCacheWriter$AsyncStoreProcessor.run(AsyncCacheWriter.java:423)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IllegalArgumentException: Parameter value
[org.infinispan.persistence.async.AsyncCacheWriter$$Lambda$136/1340865907@4c7c351c] did
not match expected type [java.lang.String (n/a)]
at
org.hibernate.query.spi.QueryParameterBindingValidator.validate(QueryParameterBindingValidator.java:54)
at
org.hibernate.query.spi.QueryParameterBindingValidator.validate(QueryParameterBindingValidator.java:27)
at
org.hibernate.query.internal.QueryParameterBindingImpl.validate(QueryParameterBindingImpl.java:90)
at
org.hibernate.query.internal.QueryParameterBindingImpl.setBindValue(QueryParameterBindingImpl.java:55)
at
org.hibernate.query.internal.AbstractProducedQuery.setParameter(AbstractProducedQuery.java:493)
at
org.hibernate.query.internal.AbstractProducedQuery.setParameter(AbstractProducedQuery.java:106)
at
org.hibernate.query.criteria.internal.compile.CriteriaCompiler$1$1.bind(CriteriaCompiler.java:119)
at
org.hibernate.query.criteria.internal.AbstractManipulationCriteriaQuery$1.buildCompiledQuery(AbstractManipulationCriteriaQuery.java:135)
at
org.hibernate.query.criteria.internal.compile.CriteriaCompiler.compile(CriteriaCompiler.java:149)
at org.hibernate.internal.SessionImpl.createQuery(SessionImpl.java:3724)
at org.hibernate.internal.SessionImpl.createQuery(SessionImpl.java:207)
at org.infinispan.persistence.jpa.JpaStore.deleteBatch(JpaStore.java:341)
... 6 more
If entries should be removed this is only done in memory but the store will fail ASYNC.
Because of the async contract there is only a warning wihtout any exact hint:
WARN: ISPN000053: Unable to process some async modifications after 10 retries!