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

Remote cache calls from client listener get stuck

    XMLWordPrintable

Details

    • Bug
    • Resolution: Obsolete
    • Major
    • None
    • 9.4.12.Final, 10.0.0.Beta3, 13.0.1.Final
    • Listeners, Remote Protocols
    • Workaround Exists
    • Hide

      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.

      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());
            }
      
         }
      
      }
      
      Show
      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. 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()); } } }

    Description

      Remote cache get() call from within a ClientListener callback gets stuck, e.g.

      @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()));
            }
      
         }
      
      }
      

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              rh-ee-galder Galder ZamarreƱo
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: