Jdbc binary cache store throwing conversion error when working with PostgreSQL
------------------------------------------------------------------------------
Key: ISPN-1597
URL:
https://issues.jboss.org/browse/ISPN-1597
Project: Infinispan
Issue Type: Bug
Reporter: Martin Gencur
Assignee: Martin Gencur
This is very similar problem to ISPN-1592. So the solution will be to handle the
PostgreSQL case specifically and use its CAST function
(
http://www.postgresql.org/docs/8.3/static/typeconv-func.html)
{code}
15:42:24,753 ERROR [org.infinispan.interceptors.InvocationContextInterceptor]
(HotRodServerWorker-1-2) ISPN000136: Execution error:
org.infinispan.loaders.CacheLoaderException: Sql failure while loading key: 1892343808
[java] at
org.infinispan.loaders.jdbc.binary.JdbcBinaryCacheStore.loadBucket(JdbcBinaryCacheStore.java:277)
[java] at
org.infinispan.loaders.bucket.BucketBasedCacheStore.loadLockSafe(BucketBasedCacheStore.java:60)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
[java] at
org.infinispan.loaders.bucket.BucketBasedCacheStore.loadLockSafe(BucketBasedCacheStore.java:49)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
[java] at
org.infinispan.loaders.LockSupportCacheStore.load(LockSupportCacheStore.java:130)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
[java] at
org.infinispan.interceptors.CacheLoaderInterceptor.loadIfNeeded(CacheLoaderInterceptor.java:130)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
[java] at
org.infinispan.interceptors.CacheLoaderInterceptor.visitPutKeyValueCommand(CacheLoaderInterceptor.java:79)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
[java] at
org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
[java] at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:119)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
[java] at
org.infinispan.interceptors.EntryWrappingInterceptor.invokeNextAndApplyChanges(EntryWrappingInterceptor.java:188)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
[java] at
org.infinispan.interceptors.EntryWrappingInterceptor.visitPutKeyValueCommand(EntryWrappingInterceptor.java:137)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
[java] at
org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
[java] at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:119)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
[java] at
org.infinispan.interceptors.locking.OptimisticLockingInterceptor.visitPutKeyValueCommand(OptimisticLockingInterceptor.java:108)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
[java] at
org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
[java] at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:119)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
[java] at
org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:133)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
[java] at
org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:61)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
[java] at
org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
[java] at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:119)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
[java] at
org.infinispan.interceptors.TxInterceptor.enlistWriteAndInvokeNext(TxInterceptor.java:214)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
[java] at
org.infinispan.interceptors.TxInterceptor.visitPutKeyValueCommand(TxInterceptor.java:152)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
[java] at
org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
[java] at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:119)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
[java] at
org.infinispan.interceptors.CacheMgmtInterceptor.visitPutKeyValueCommand(CacheMgmtInterceptor.java:115)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
[java] at
org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
[java] at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:119)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
[java] at
org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:107)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
[java] at
org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:67)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
[java] at
org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:61)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
[java] at
org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
[java] at
org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:318)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
[java] at
org.infinispan.CacheImpl.executeCommandAndCommitIfNeeded(CacheImpl.java:919)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
[java] at org.infinispan.CacheImpl.put(CacheImpl.java:633)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
[java] at org.infinispan.CacheImpl.put(CacheImpl.java:625)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
[java] at
org.infinispan.AbstractDelegatingCache.put(AbstractDelegatingCache.java:114)
[infinispan-core-5.1.0-SNAPSHOT.jar:]
[java] at
org.infinispan.server.core.AbstractProtocolDecoder.put(AbstractProtocolDecoder.scala:187)
[infinispan-server-core-5.1.0-SNAPSHOT.jar:]
[java] at
org.infinispan.server.core.AbstractProtocolDecoder.decodeValue(AbstractProtocolDecoder.scala:141)
[infinispan-server-core-5.1.0-SNAPSHOT.jar:]
[java] at
org.infinispan.server.core.AbstractProtocolDecoder.decode(AbstractProtocolDecoder.scala:71)
[infinispan-server-core-5.1.0-SNAPSHOT.jar:]
[java] at
org.infinispan.server.core.AbstractProtocolDecoder.decode(AbstractProtocolDecoder.scala:44)
[infinispan-server-core-5.1.0-SNAPSHOT.jar:]
[java] at
org.jboss.netty.handler.codec.replay.CustomReplayingDecoder.callDecode(CustomReplayingDecoder.java:250)
[infinispan-server-core-5.1.0-SNAPSHOT.jar:]
[java] at
org.jboss.netty.handler.codec.replay.CustomReplayingDecoder.messageReceived(CustomReplayingDecoder.java:223)
[infinispan-server-core-5.1.0-SNAPSHOT.jar:]
[java] at
org.infinispan.server.core.AbstractProtocolDecoder.messageReceived(AbstractProtocolDecoder.scala:351)
[infinispan-server-core-5.1.0-SNAPSHOT.jar:]
[java] at
org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:80)
[netty-3.2.5.Final.jar:]
[java] at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
[netty-3.2.5.Final.jar:]
[java] at
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559)
[netty-3.2.5.Final.jar:]
[java] at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:274)
[netty-3.2.5.Final.jar:]
[java] at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261)
[netty-3.2.5.Final.jar:]
[java] at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:349)
[netty-3.2.5.Final.jar:]
[java] at
org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:280)
[netty-3.2.5.Final.jar:]
[java] at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:200)
[netty-3.2.5.Final.jar:]
[java] at
org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
[netty-3.2.5.Final.jar:]
[java] at
org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:44)
[netty-3.2.5.Final.jar:]
[java] at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
[:1.6.0_21]
[java] at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
[:1.6.0_21]
[java] at java.lang.Thread.run(Thread.java:619) [:1.6.0_21]
[java] Caused by: com.sybase.jdbc4.jdbc.SybSQLException: Implicit conversion from
datatype 'INT' to 'VARCHAR' is not allowed. Use the CONVERT function to
run this query.
[java] at com.sybase.jdbc4.tds.Tds.a(Unknown Source)
[java] at com.sybase.jdbc4.tds.Tds.nextResult(Unknown Source)
[java] at com.sybase.jdbc4.jdbc.ResultGetter.nextResult(Unknown Source)
[java] at com.sybase.jdbc4.jdbc.SybStatement.nextResult(Unknown Source)
[java] at com.sybase.jdbc4.jdbc.SybStatement.nextResult(Unknown Source)
[java] at com.sybase.jdbc4.jdbc.SybStatement.queryLoop(Unknown Source)
[java] at com.sybase.jdbc4.jdbc.SybStatement.executeQuery(Unknown Source)
[java] at com.sybase.jdbc4.jdbc.SybPreparedStatement.executeQuery(Unknown Source)
[java] at
org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:462)
[java] at
org.infinispan.loaders.jdbc.binary.JdbcBinaryCacheStore.loadBucket(JdbcBinaryCacheStore.java:266)
[java] ... 54 more
{code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira