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

New client IdleStateHandler prevents using voidPromise on write

XMLWordPrintable

    • Icon: Task Task
    • Resolution: Done
    • Icon: Major Major
    • 15.1.0.Dev04
    • 15.1.0.Dev04
    • Hot Rod
    • None

      The new client installs an IdleStateHandler to promote sending PingOperations after a given time. This handler is configured at https://github.com/infinispan/infinispan/blob/d5eb07b4effdf4d375f0e9d985b3e6b27bf00ca2/client/hotrod-client-new/src/main/java/org/infinispan/client/hotrod/impl/transport/netty/ChannelInitializer.java#L104.

      This handler unfortunately unvoids the promise and installs its own listener. This is heavyweight for our use case. We can instead copy the handler and change it to just track the number as a write is invoked directly in the same call stack. This will prevent having to unvoid the write operation and no listener, which takes up a good chunk of CPU and allocations as found in JFR.

              wburns@redhat.com Will Burns
              wburns@redhat.com Will Burns
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: