Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-4125

ClassCastException if cache.keyset() is invoked for a string-keyed-jdbc-store in C/S mode

    Details

    • Workaround:
      Workaround Exists
    • Workaround Description:
      Hide

      See workaround in last comments.

      Show
      See workaround in last comments.

      Description

      If the cache is empty cache.keyset() invocation returns an empty set.
      If it is invoked after entities are added it failes with the Exception below.
      The same test work if a binary-keyed-jdbc-store is used!

      The HotRod client is based on the hot-rod C/S quickstart.

      The configuration is:
      <subsystem xmlns="urn:infinispan:server:core:6.0" default-cache-container="clustered">
      <cache-container name="clustered" default-cache="string" statistics="true">
      <transport executor="infinispan-transport" lock-timeout="60000"/>

      <replicated-cache name="string" mode="ASYNC" start="EAGER">
      <locking isolation="READ_COMMITTED" acquire-timeout="20000" concurrency-level="500" striping="false"/>
      <transaction mode="NONE"/>
      <string-keyed-jdbc-store datasource="java:jboss/datasources/JDGDatasource" passivation="false" preload="true" purge="false" shared="false">
      <!-- property name="databaseType">ORACLE</property -->
      <string-keyed-table prefix="qs">
      <id-column name="id" type="VARCHAR(255)"/>
      <data-column name="datum" type="BLOB(2000)"/>
      <timestamp-column name="version" type="BIGINT"/>
      </string-keyed-table>
      <write-behind modification-queue-size="1024" shutdown-timeout="25000" flush-lock-timeout="15000" thread-pool-size="5" />
      </string-keyed-jdbc-store>
      <expiration interval="10000" />
      </replicated-cache>

      ERROR [org.infinispan.server.hotrod.HotRodDecoder:76] (HotRodServerWorker-88) ISPN005009: Unexpected error before any request parameters read: java.lang.ClassCastException: java.lang.String cannot be cast to [B
      at org.infinispan.server.hotrod.AbstractEncoder1x$$anonfun$writeResponse$5.apply(AbstractEncoder1x.scala:113) [infinispan.jar:7.0.0-SNAPSHOT]
      at scala.collection.Iterator$class.foreach(Iterator.scala:727)
      at scala.collection.AbstractIterator.foreach(Iterator.scala:1157)
      at org.infinispan.server.hotrod.AbstractEncoder1x.writeResponse(AbstractEncoder1x.scala:113) [infinispan.jar:7.0.0-SNAPSHOT]
      at org.infinispan.server.hotrod.HotRodEncoder.encode(HotRodEncoder.scala:48) [infinispan.jar:7.0.0-SNAPSHOT]
      at org.jboss.netty.handler.codec.oneone.OneToOneEncoder.doEncode(OneToOneEncoder.java:66) [netty-3.6.6.Final.jar:]
      at org.jboss.netty.handler.codec.oneone.OneToOneEncoder.handleDownstream(OneToOneEncoder.java:59) [netty-3.6.6.Final.jar:]
      at org.jboss.netty.channel.Channels.write(Channels.java:704) [netty-3.6.6.Final.jar:]
      at org.jboss.netty.channel.Channels.write(Channels.java:671) [netty-3.6.6.Final.jar:]
      at org.jboss.netty.channel.AbstractChannel.write(AbstractChannel.java:248) [netty-3.6.6.Final.jar:]
      at org.infinispan.server.core.AbstractProtocolDecoder.writeResponse(AbstractProtocolDecoder.scala:163) [infinispan.jar:7.0.0-SNAPSHOT]
      at org.infinispan.server.hotrod.HotRodDecoder.customDecodeKey(HotRodDecoder.scala:138) [infinispan.jar:7.0.0-SNAPSHOT]
      at org.infinispan.server.core.AbstractProtocolDecoder.decodeKey(AbstractProtocolDecoder.scala:105) [infinispan.jar:7.0.0-SNAPSHOT]
      at org.infinispan.server.core.AbstractProtocolDecoder.decode(AbstractProtocolDecoder.scala:53) [infinispan.jar:7.0.0-SNAPSHOT]
      at org.infinispan.server.core.AbstractProtocolDecoder.decode(AbstractProtocolDecoder.scala:29) [infinispan.jar:7.0.0-SNAPSHOT]
      at org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:500) [netty-3.6.6.Final.jar:]
      at org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:435) [netty-3.6.6.Final.jar:]
      at org.infinispan.server.core.AbstractProtocolDecoder.messageReceived(AbstractProtocolDecoder.scala:377) [infinispan.jar:7.0.0-SNAPSHOT]
      at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268) [netty-3.6.6.Final.jar:]
      at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255) [netty-3.6.6.Final.jar:]
      at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88) [netty-3.6.6.Final.jar:]
      at org.jboss.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:109) [netty-3.6.6.Final.jar:]
      at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:312) [netty-3.6.6.Final.jar:]
      at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:90) [netty-3.6.6.Final.jar:]
      at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178) [netty-3.6.6.Final.jar:]
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_51]
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_51]
      at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51]

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  anistor Nistor Adrian
                  Reporter:
                  wdfink Wolf-Dieter Fink
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  2 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: