[infinispan-issues] [JBoss JIRA] (ISPN-10130) Remote cache calls from client listener get stuck

Galder Zamarreño (Jira) issues at jboss.org
Thu Apr 11 05:00:01 EDT 2019


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

Galder Zamarreño updated ISPN-10130:
------------------------------------
    Workaround Description: 
If value information is needed, an existing converter can be used whereby the value created gets shipped back as part of the listener callback, e.g.

{code}
public class RemoteCacheGetFromListenerTest extends SingleHotRodServerTest {

   public void test000() throws InterruptedException {
      final RemoteCache<String, Object> remoteCache = remoteCacheManager.getCache();
      remoteCache.addClientListener(new RemoteListener2(remoteCache));

      final String key = UUID.randomUUID().toString();
      remoteCache.put(key, 12345);
      Thread.sleep(1000);

      remoteCache.put(key, 23456);
   }

   @ClientListener(converterFactoryName = "key-value-with-previous-converter-factory")
   private static class RemoteListener2 {

      private final RemoteCache<String, Object> remoteCache;

      public RemoteListener2(RemoteCache<String, Object> remoteCache) {
         this.remoteCache = remoteCache;
      }

      @ClientCacheEntryCreated
      public void handleCreatedEvent(ClientCacheEntryCustomEvent<KeyValueWithPrevious<String, Object>> event) {
         System.out.println("RemoteListener.handleCreatedEvent: " + event);
         System.out.println(event.getEventData().getValue());
      }

   }

}
{code}
                Workaround: Workaround Exists


> Remote cache calls from client listener get stuck
> -------------------------------------------------
>
>                 Key: ISPN-10130
>                 URL: https://issues.jboss.org/browse/ISPN-10130
>             Project: Infinispan
>          Issue Type: Bug
>          Components: Listeners, Remote Protocols
>    Affects Versions: 9.4.12.Final, 10.0.0.Beta3
>            Reporter: Galder Zamarreño
>            Priority: Major
>              Labels: rhdemo-2019
>
> Remote cache get() call from within a ClientListener callback gets stuck, e.g.
> {code}
> @Test(testName = "client.hotrod.MusaTest")
> public class RemoteCacheGetFromListenerTest extends SingleHotRodServerTest {
>    public void test000() throws InterruptedException {
>       final RemoteCache<String, Object> remoteCache = remoteCacheManager.getCache();
>       remoteCache.addClientListener(new RemoteListener2(remoteCache));
>       remoteCache.put(UUID.randomUUID().toString(), 12345);
>       Thread.sleep(1000);
>    }
>    @ClientListener()
>    private static class RemoteListener2 {
>       private final RemoteCache<String, Object> remoteCache;
>       public RemoteListener2(RemoteCache<String, Object> remoteCache) {
>          this.remoteCache = remoteCache;
>       }
>       @ClientCacheEntryCreated
>       public void handleCreatedEvent(ClientCacheEntryCreatedEvent<String> event) {
>          System.out.println("RemoteListener.handleCreatedEvent: " + event);
>          System.out.println(remoteCache.get(event.getKey()));
>       }
>    }
> }
> {code}



--
This message was sent by Atlassian Jira
(v7.12.1#712002)



More information about the infinispan-issues mailing list