JDBCMigrator: org.infinispan.commons.CacheException: java.lang.StackOverflowError
rz1911 May 18, 2017 9:18 AMHello,
I'm trying to migrate an infinspan cache with JDBC persistence from infinispan 8.2.4.GA to 9.0.0.GA.
When i run the JDBCMigrator, I get the following exeption:
Exception in thread "main" javax.transaction.HeuristicRollbackException
at org.infinispan.transaction.tm.EmbeddedTransaction.finishResource(EmbeddedTransaction.java:448)
at org.infinispan.transaction.tm.EmbeddedTransaction.commitResources(EmbeddedTransaction.java:463)
at org.infinispan.transaction.tm.EmbeddedTransaction.runCommit(EmbeddedTransaction.java:336)
at org.infinispan.transaction.tm.EmbeddedTransaction.commit(EmbeddedTransaction.java:115)
at org.infinispan.transaction.tm.EmbeddedBaseTransactionManager.commit(EmbeddedBaseTransactionManager.java:73)
at org.infinispan.tools.jdbc.migrator.JDBCMigrator.run(JDBCMigrator.java:56)
at org.infinispan.tools.jdbc.migrator.JDBCMigrator.main(JDBCMigrator.java:92)
at CacheMigrator.main(CacheMigrator.java:3)
Caused by: javax.transaction.xa.XAException
at org.infinispan.transaction.impl.TransactionCoordinator.handleCommitFailure(TransactionCoordinator.java:222)
at org.infinispan.transaction.impl.TransactionCoordinator.commitInternal(TransactionCoordinator.java:233)
at org.infinispan.transaction.impl.TransactionCoordinator.commit(TransactionCoordinator.java:172)
at org.infinispan.transaction.xa.XaTransactionTable.commit(XaTransactionTable.java:126)
at org.infinispan.transaction.xa.TransactionXaAdapter.commit(TransactionXaAdapter.java:68)
at org.infinispan.transaction.tm.EmbeddedTransaction.finishResource(EmbeddedTransaction.java:416)
... 7 more
Caused by: org.infinispan.commons.CacheException: java.lang.StackOverflowError
at org.infinispan.interceptors.impl.InvocationContextInterceptor.rethrowException(InvocationContextInterceptor.java:141)
at org.infinispan.interceptors.impl.InvocationContextInterceptor.access$000(InvocationContextInterceptor.java:43)
at org.infinispan.interceptors.impl.InvocationContextInterceptor$1.apply(InvocationContextInterceptor.java:58)
at org.infinispan.interceptors.InvocationExceptionFunction.apply(InvocationExceptionFunction.java:21)
at org.infinispan.interceptors.impl.SimpleAsyncInvocationStage.addCallback(SimpleAsyncInvocationStage.java:67)
at org.infinispan.interceptors.InvocationStage.andExceptionally(InvocationStage.java:34)
at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndExceptionally(BaseAsyncInterceptor.java:131)
at org.infinispan.interceptors.impl.InvocationContextInterceptor.visitCommand(InvocationContextInterceptor.java:94)
at org.infinispan.interceptors.impl.AsyncInterceptorChainImpl.invoke(AsyncInterceptorChainImpl.java:248)
at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:137)
at org.infinispan.transaction.impl.TransactionCoordinator.commitInternal(TransactionCoordinator.java:230)
... 11 more
Caused by: java.lang.StackOverflowError
at java.lang.Class.getAnnotation(Class.java:3415)
at org.infinispan.marshall.core.GlobalMarshaller.findAnnotatedExternalizer(GlobalMarshaller.java:656)
at org.infinispan.marshall.core.GlobalMarshaller.writeNonNullableObject(GlobalMarshaller.java:408)
at org.infinispan.marshall.core.GlobalMarshaller.writeNullableObject(GlobalMarshaller.java:355)
at org.infinispan.marshall.core.BytesObjectOutput.writeObject(BytesObjectOutput.java:26)
at org.infinispan.marshall.core.GlobalMarshaller.objectToObjectStream(GlobalMarshaller.java:210)
at org.infinispan.marshall.core.GlobalMarshaller.writeRawUnknown(GlobalMarshaller.java:603)
at org.infinispan.marshall.core.GlobalMarshaller.writeUnknown(GlobalMarshaller.java:598)
at org.infinispan.marshall.core.GlobalMarshaller.writeNonNullableObject(GlobalMarshaller.java:412)
at org.infinispan.marshall.core.GlobalMarshaller.writeNullableObject(GlobalMarshaller.java:355)
at org.infinispan.marshall.core.BytesObjectOutput.writeObject(BytesObjectOutput.java:26)
at org.infinispan.marshall.core.GlobalMarshaller.objectToObjectStream(GlobalMarshaller.java:210)
at org.infinispan.marshall.core.GlobalMarshaller.writeRawUnknown(GlobalMarshaller.java:603)
at org.infinispan.marshall.core.GlobalMarshaller.writeUnknown(GlobalMarshaller.java:598)
... many more ...
at org.infinispan.marshall.core.GlobalMarshaller.writeNonNullableObject(GlobalMarshaller.java:412)
at org.infinispan.marshall.core.GlobalMarshaller.writeNullableObject(GlobalMarshaller.java:355)
at org.infinispan.marshall.core.BytesObjectOutput.writeObject(BytesObjectOutput.java:26)
at org.infinispan.marshall.core.GlobalMarshaller.objectToObjectStream(GlobalMarshaller.java:210)
at org.infinispan.marshall.core.GlobalMarshaller.writeRawUnknown(GlobalMarshaller.java:603)
at org.infinispan.marshall.core.GlobalMarshaller.writeUnknown(GlobalMarshaller.java:598)
at org.infinispan.marshall.core.GlobalMarshaller.writeNonNullableObject(GlobalMarshaller.java:412)
at org.infinispan.marshall.core.GlobalMarshaller.writeNullableObject(GlobalMarshaller.java:355)
The Cache is filled with custom object annotaded with an AdvancedExternalizer.
You can reproduce the error using the attached files:
- Create a MySQL DB "migration" with user "migration" and password "password"
- Run CacheFiller to populate the cache using infinispan 8.2.4.GA
- Run CacheMigrator from migration.zip to migrate using infinispan 9.0.0.GA
Is there something wrong with the configuration or do I have to change something in the code?
Thanks a lot,
Ralf
-
CacheFiller.java 3.7 KB
-
migration.zip 2.5 KB