[jboss-jira] [JBoss JIRA] (WFLY-1655) UnsupportedKeyTypeException thrown when undeploying distributable app and using jdbc-store configuration

Paul Ferraro (JIRA) jira-events at lists.jboss.org
Mon Jul 22 12:53:26 EDT 2013


     [ https://issues.jboss.org/browse/WFLY-1655?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Paul Ferraro closed WFLY-1655.
------------------------------

    Resolution: Rejected


You cannot use a string-keyed-jdbc-store for the web cache, since the keys used by the web session clustering code are not always strings!  Use binary-keyed-jdbc-store instead.
                
> UnsupportedKeyTypeException thrown when undeploying distributable app and using jdbc-store configuration
> --------------------------------------------------------------------------------------------------------
>
>                 Key: WFLY-1655
>                 URL: https://issues.jboss.org/browse/WFLY-1655
>             Project: WildFly
>          Issue Type: Bug
>          Components: Clustering
>    Affects Versions: 8.0.0.Alpha2
>            Reporter: Tomas Remes
>            Assignee: Paul Ferraro
>
> When using following cache configuration:
> {noformat}
> <local-cache name="local-web" batching="true">
>             <string-keyed-jdbc-store datasource="java:jboss/datasources/ExampleDS" preload="true" passivation="false" purge="false">
>                         <string-keyed-table prefix="stringbased">
>                             <id-column name="id" type="VARCHAR"/>
>                             <data-column name="datum" type="BINARY"/>
>                             <timestamp-column name="version" type="BIGINT"/>
>                         </string-keyed-table>
>                </string-keyed-jdbc-store>
> </local-cache>
> {noformat}
> and undeploying distributable application or stopping server with already deployed application, then is following exception thrown:
> {noformat}
> 10:17:18,548 ERROR [org.infinispan.interceptors.InvocationContextInterceptor] (MSC service thread 1-6) ISPN000136: Execution error: org.infinispan.loaders.keymappers.UnsupportedKeyTypeException: Unsupported key type: 'org.jboss.as.clustering.registry.RegistryService$LocalAddress' on key: org.jboss.as.clustering.registry.RegistryService$LocalAddress at 56d76728
> 	at org.infinispan.loaders.jdbc.stringbased.JdbcStringBasedCacheStore.getLockFromKey(JdbcStringBasedCacheStore.java:216)
> 	at org.infinispan.loaders.jdbc.stringbased.JdbcStringBasedCacheStore.getLockFromKey(JdbcStringBasedCacheStore.java:87)
> 	at org.infinispan.loaders.LockSupportCacheStore.load(LockSupportCacheStore.java:139)
> 	at org.infinispan.interceptors.CacheLoaderInterceptor.loadIfNeeded(CacheLoaderInterceptor.java:189)
> 	at org.infinispan.interceptors.CacheLoaderInterceptor.loadIfNeededAndUpdateStats(CacheLoaderInterceptor.java:263)
> 	at org.infinispan.interceptors.CacheLoaderInterceptor.visitRemoveCommand(CacheLoaderInterceptor.java:146)
> 	at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:73)
> 	at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:120)
> 	at org.infinispan.interceptors.EntryWrappingInterceptor.invokeNextAndApplyChanges(EntryWrappingInterceptor.java:290)
> 	at org.infinispan.interceptors.EntryWrappingInterceptor.visitRemoveCommand(EntryWrappingInterceptor.java:203)
> 	at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:73)
> 	at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:120)
> 	at org.infinispan.interceptors.locking.OptimisticLockingInterceptor.visitRemoveCommand(OptimisticLockingInterceptor.java:157)
> 	at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:73)
> 	at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:120)
> 	at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:134)
> 	at org.infinispan.commands.AbstractVisitor.visitRemoveCommand(AbstractVisitor.java:59)
> 	at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:73)
> 	at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:120)
> 	at org.infinispan.interceptors.TxInterceptor.enlistWriteAndInvokeNext(TxInterceptor.java:257)
> 	at org.infinispan.interceptors.TxInterceptor.visitRemoveCommand(TxInterceptor.java:203)
> 	at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:73)
> 	at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:120)
> 	at org.infinispan.interceptors.CacheMgmtInterceptor.visitRemoveCommand(CacheMgmtInterceptor.java:144)
> 	at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:73)
> 	at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:120)
> 	at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:128)
> 	at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:92)
> 	at org.infinispan.commands.AbstractVisitor.visitRemoveCommand(AbstractVisitor.java:59)
> 	at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:73)
> 	at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:120)
> 	at org.infinispan.interceptors.BatchingInterceptor.handleDefault(BatchingInterceptor.java:86)
> 	at org.infinispan.commands.AbstractVisitor.visitRemoveCommand(AbstractVisitor.java:59)
> 	at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:73)
> 	at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:343)
> 	at org.infinispan.CacheImpl.executeCommandAndCommitIfNeeded(CacheImpl.java:1337)
> 	at org.infinispan.CacheImpl.removeInternal(CacheImpl.java:422)
> 	at org.infinispan.CacheImpl.remove(CacheImpl.java:415)
> 	at org.infinispan.DecoratedCache.remove(DecoratedCache.java:425)
> 	at org.infinispan.AbstractDelegatingCache.remove(AbstractDelegatingCache.java:313)
> 	at org.jboss.as.clustering.registry.RegistryService$2.invoke(RegistryService.java:170)
> 	at org.jboss.as.clustering.registry.RegistryService$2.invoke(RegistryService.java:167)
> 	at org.jboss.as.clustering.infinispan.invoker.SimpleCacheInvoker.invoke(SimpleCacheInvoker.java:34)
> 	at org.jboss.as.clustering.infinispan.invoker.BatchCacheInvoker.invoke(BatchCacheInvoker.java:48)
> 	at org.jboss.as.clustering.registry.RegistryService.stop(RegistryService.java:175)
> 	at org.jboss.as.clustering.msc.AsynchronousService.stop(AsynchronousService.java:114) [wildfly-clustering-common-8.0.0.Alpha2.jar:8.0.0.Alpha2]
> 	at org.jboss.msc.service.ServiceControllerImpl$StopTask.stopService(ServiceControllerImpl.java:2050) [jboss-msc-1.2.0.Beta1.jar:1.2.0.Beta1]
> 	at org.jboss.msc.service.ServiceControllerImpl$StopTask.run(ServiceControllerImpl.java:2011) [jboss-msc-1.2.0.Beta1.jar:1.2.0.Beta1]
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_21]
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_21]
> 	at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_21]
> 10:17:18,557 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-7) JBAS015877: Stopped deployment jdbcStore.war (runtime-name: jdbcStore.war) in 47ms
> 10:17:18,559 WARN  [org.jboss.msc.service.fail] (MSC service thread 1-6) MSC000004: Failure during stop of service jboss.web.routing.registry: org.infinispan.CacheException: org.infinispan.loaders.keymappers.UnsupportedKeyTypeException: Unsupported key type: 'org.jboss.as.clustering.registry.RegistryService$LocalAddress' on key: org.jboss.as.clustering.registry.RegistryService$LocalAddress at 56d76728
> 	at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:351)
> 	at org.infinispan.CacheImpl.executeCommandAndCommitIfNeeded(CacheImpl.java:1337)
> 	at org.infinispan.CacheImpl.removeInternal(CacheImpl.java:422)
> 	at org.infinispan.CacheImpl.remove(CacheImpl.java:415)
> 	at org.infinispan.DecoratedCache.remove(DecoratedCache.java:425)
> 	at org.infinispan.AbstractDelegatingCache.remove(AbstractDelegatingCache.java:313)
> 	at org.jboss.as.clustering.registry.RegistryService$2.invoke(RegistryService.java:170)
> 	at org.jboss.as.clustering.registry.RegistryService$2.invoke(RegistryService.java:167)
> 	at org.jboss.as.clustering.infinispan.invoker.SimpleCacheInvoker.invoke(SimpleCacheInvoker.java:34)
> 	at org.jboss.as.clustering.infinispan.invoker.BatchCacheInvoker.invoke(BatchCacheInvoker.java:48)
> 	at org.jboss.as.clustering.registry.RegistryService.stop(RegistryService.java:175)
> 	at org.jboss.as.clustering.msc.AsynchronousService.stop(AsynchronousService.java:114)
> 	at org.jboss.msc.service.ServiceControllerImpl$StopTask.stopService(ServiceControllerImpl.java:2050) [jboss-msc-1.2.0.Beta1.jar:1.2.0.Beta1]
> 	at org.jboss.msc.service.ServiceControllerImpl$StopTask.run(ServiceControllerImpl.java:2011) [jboss-msc-1.2.0.Beta1.jar:1.2.0.Beta1]
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_21]
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_21]
> 	at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_21]
> Caused by: org.infinispan.loaders.keymappers.UnsupportedKeyTypeException: Unsupported key type: 'org.jboss.as.clustering.registry.RegistryService$LocalAddress' on key: org.jboss.as.clustering.registry.RegistryService$LocalAddress at 56d76728
> 	at org.infinispan.loaders.jdbc.stringbased.JdbcStringBasedCacheStore.getLockFromKey(JdbcStringBasedCacheStore.java:216)
> 	at org.infinispan.loaders.jdbc.stringbased.JdbcStringBasedCacheStore.getLockFromKey(JdbcStringBasedCacheStore.java:87)
> 	at org.infinispan.loaders.LockSupportCacheStore.load(LockSupportCacheStore.java:139)
> 	at org.infinispan.interceptors.CacheLoaderInterceptor.loadIfNeeded(CacheLoaderInterceptor.java:189)
> 	at org.infinispan.interceptors.CacheLoaderInterceptor.loadIfNeededAndUpdateStats(CacheLoaderInterceptor.java:263)
> 	at org.infinispan.interceptors.CacheLoaderInterceptor.visitRemoveCommand(CacheLoaderInterceptor.java:146)
> 	at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:73)
> 	at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:120)
> 	at org.infinispan.interceptors.EntryWrappingInterceptor.invokeNextAndApplyChanges(EntryWrappingInterceptor.java:290)
> 	at org.infinispan.interceptors.EntryWrappingInterceptor.visitRemoveCommand(EntryWrappingInterceptor.java:203)
> 	at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:73)
> 	at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:120)
> 	at org.infinispan.interceptors.locking.OptimisticLockingInterceptor.visitRemoveCommand(OptimisticLockingInterceptor.java:157)
> 	at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:73)
> 	at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:120)
> 	at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:134)
> 	at org.infinispan.commands.AbstractVisitor.visitRemoveCommand(AbstractVisitor.java:59)
> 	at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:73)
> 	at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:120)
> 	at org.infinispan.interceptors.TxInterceptor.enlistWriteAndInvokeNext(TxInterceptor.java:257)
> 	at org.infinispan.interceptors.TxInterceptor.visitRemoveCommand(TxInterceptor.java:203)
> 	at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:73)
> 	at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:120)
> 	at org.infinispan.interceptors.CacheMgmtInterceptor.visitRemoveCommand(CacheMgmtInterceptor.java:144)
> 	at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:73)
> 	at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:120)
> 	at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:128)
> 	at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:92)
> 	at org.infinispan.commands.AbstractVisitor.visitRemoveCommand(AbstractVisitor.java:59)
> 	at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:73)
> 	at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:120)
> 	at org.infinispan.interceptors.BatchingInterceptor.handleDefault(BatchingInterceptor.java:86)
> 	at org.infinispan.commands.AbstractVisitor.visitRemoveCommand(AbstractVisitor.java:59)
> 	at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:73)
> 	at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:343)
> 	... 16 more
> {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the jboss-jira mailing list