1 Reply Latest reply on Jun 25, 2018 12:46 AM by Galder Zamarreño

    Infinispan 9.2.5 - string-keyed-jdbc-store -  I/O error while unmarshalling from stream

    Rahul Kumar Newbie

      Hi ,

      I am using Infinispan Server 9.2.5.Final (WildFly Core 3.0.8.Final) for JDBC String store (Using PostgresSQL 9.2 as a persistence store ) . I could save/retrieve  my data using infinispan client hot rod library (jar) but while i restart infinispan server it showing me below error:

      16:29:11,630 ERROR [org.infinispan.persistence.jdbc.stringbased.JdbcStringBasedStore] (MSC service thread 1-2) ISPN008009: I/O error while unmarshalling from stream: java.io.IOException: Unknown

      type: 92

              at org.infinispan.marshall.core.GlobalMarshaller.readNonNullableObject(GlobalMarshaller.java:681)

              at org.infinispan.marshall.core.GlobalMarshaller.readNullableObject(GlobalMarshaller.java:355)

              at org.infinispan.marshall.core.GlobalMarshaller.objectFromObjectInput(GlobalMarshaller.java:193)

              at org.infinispan.marshall.core.GlobalMarshaller.objectFromByteBuffer(GlobalMarshaller.java:222)

              at org.infinispan.marshall.core.GlobalMarshaller.objectFromInputStream(GlobalMarshaller.java:243)

              at org.infinispan.persistence.jdbc.stringbased.JdbcStringBasedStore.unmarshall(JdbcStringBasedStore.java:663)

              at org.infinispan.persistence.jdbc.stringbased.JdbcStringBasedStore.lambda$process$0(JdbcStringBasedStore.java:487)

              at java.util.concurrent.FutureTask.run(FutureTask.java:266)

              at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

              at java.util.concurrent.FutureTask.run(FutureTask.java:266)

              at org.infinispan.util.concurrent.WithinThreadExecutor.execute(WithinThreadExecutor.java:20)

              at java.util.concurrent.ExecutorCompletionService.submit(ExecutorCompletionService.java:181)

              at org.infinispan.executors.ExecutorAllCompletionService.submit(ExecutorAllCompletionService.java:31)

              at org.infinispan.persistence.jdbc.stringbased.JdbcStringBasedStore.process(JdbcStringBasedStore.java:483)

              at org.infinispan.persistence.manager.PersistenceManagerImpl.preload(PersistenceManagerImpl.java:271)

              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

              at java.lang.reflect.Method.invoke(Method.java:497)

              at org.infinispan.commons.util.SecurityActions.lambda$invokeAccessibly$0(SecurityActions.java:79)

              at org.infinispan.commons.util.SecurityActions.doPrivileged(SecurityActions.java:71)

              at org.infinispan.commons.util.SecurityActions.invokeAccessibly(SecurityActions.java:76)

              at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:185)

              at org.infinispan.factories.AbstractComponentRegistry$PrioritizedMethod.invoke(AbstractComponentRegistry.java:968)

              at org.infinispan.factories.AbstractComponentRegistry.lambda$invokePrioritizedMethods$6(AbstractComponentRegistry.java:703)

              at org.infinispan.factories.SecurityActions.lambda$run$1(SecurityActions.java:72)

              at org.infinispan.security.Security.doPrivileged(Security.java:81)

              at org.infinispan.factories.SecurityActions.run(SecurityActions.java:71)

              at org.infinispan.factories.AbstractComponentRegistry.invokePrioritizedMethods(AbstractComponentRegistry.java:696)

              at org.infinispan.factories.AbstractComponentRegistry.internalStart(AbstractComponentRegistry.java:689)

              at org.infinispan.factories.AbstractComponentRegistry.start(AbstractComponentRegistry.java:607)

              at org.infinispan.factories.ComponentRegistry.start(ComponentRegistry.java:229)

              at org.infinispan.cache.impl.CacheImpl.start(CacheImpl.java:1020)

              at org.infinispan.cache.impl.AbstractDelegatingCache.start(AbstractDelegatingCache.java:421)

              at org.infinispan.manager.DefaultCacheManager.wireAndStartCache(DefaultCacheManager.java:644)

              at org.infinispan.manager.DefaultCacheManager.createCache(DefaultCacheManager.java:589)

              at org.infinispan.manager.DefaultCacheManager.internalGetCache(DefaultCacheManager.java:475)

              at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:461)

              at org.infinispan.manager.impl.AbstractDelegatingEmbeddedCacheManager.getCache(AbstractDelegatingEmbeddedCacheManager.java:151)

              at org.infinispan.server.infinispan.SecurityActions.lambda$startCache$4(SecurityActions.java:122)

              at org.infinispan.security.Security.doPrivileged(Security.java:76)

              at org.infinispan.server.infinispan.SecurityActions.doPrivileged(SecurityActions.java:69)

              at org.infinispan.server.infinispan.SecurityActions.startCache(SecurityActions.java:126)

              at org.jboss.as.clustering.infinispan.subsystem.CacheService.start(CacheService.java:91)

              at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:2032)

              at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1955)

              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

              at java.lang.Thread.run(Thread.java:745)

       

      Below is my standalone setting snippet  and java sample code that i am using to put and get the data :

      <local-cache name="mytestcache">

                          <string-keyed-jdbc-store name="STRING_KEYED_JDBC_STORE" datasource="java:jboss/datasources/myDataSource" shared="false" preload="true" passivation="false" purge="false">

                              <string-keyed-table prefix="ms">

                                  <id-column name="id" type="varchar(50)"/>

                                  <data-column name="datum" type="varchar(300)"/>

                                  <timestamp-column name="version" type="bigint"/>

                              </string-keyed-table>

                          </string-keyed-jdbc-store>

         </local-cache>

       

      Configuration configuration = new ConfigurationBuilder().addServer().host("127.0.0.1").port(11222).build();

      RemoteCacheManager cacheManager = new RemoteCacheManager(configuration);

      RemoteCache<Object, Object> cache = cacheManager.getCache("mytestcache");

      cacheManager.start();

      cache.put("test","firstdata" );

      //System.out.println(cache.get("test"));

      //cache.remove("test");

      cacheManager.stop();

       

      And my data is also in not human readable format, please find the database snippet (attachment) :

       

      Please help me on this !!