[
https://issues.jboss.org/browse/WFLY-1655?page=com.atlassian.jira.plugin....
]
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@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@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@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