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

Eviction get stuck with <off-heap> configuration and optimistic transactions

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 10.0.0.Final, 9.4.17.Final
    • None
    • None
    • None
    • Hide

      Configuration:
      <distributed-cache name="ExpirationCache">
      <locking isolation="READ_COMMITTED" striping="false"/>
      <transaction mode="NON_XA" locking="OPTIMISTIC"/>
      <memory>
      <off-heap eviction="COUNT" size="120"/>
      </memory>
      <expiration lifespan="60000" interval="-1"/>
      </distributed-cache>

      Simple HotRod remote client to put an entry every second or so

      Show
      Configuration: <distributed-cache name="ExpirationCache"> <locking isolation="READ_COMMITTED" striping="false"/> <transaction mode="NON_XA" locking="OPTIMISTIC"/> <memory> <off-heap eviction="COUNT" size="120"/> </memory> <expiration lifespan="60000" interval="-1"/> </distributed-cache> Simple HotRod remote client to put an entry every second or so

      If the cache is configured as followed adding entries every second will end up in an unresponsive server.
      The client will stop after 120sec (eviction count reached) with

      Exception in thread "main" org.infinispan.client.hotrod.exceptions.TransportException:: java.net.SocketTimeoutException: PutOperation

      {ExpirationCache, key=[B0x033E17323031392D..[26], value=[B0x033F280058585858..[10244], flags=4} timed out after 60000 ms
      at org.infinispan.client.hotrod.impl.Util.rewrap(Util.java:54)
      at org.infinispan.client.hotrod.impl.Util.await(Util.java:27)
      at org.infinispan.client.hotrod.impl.RemoteCacheImpl.put(RemoteCacheImpl.java:335)
      at org.infinispan.client.hotrod.impl.RemoteCacheSupport.put(RemoteCacheSupport.java:129)
      at org.infinispan.wfink.hotrod.client.HotRodConstantLoadExpirationClient.putWithExpiration(HotRodConstantLoadExpirationClient.java:48)
      at org.infinispan.wfink.hotrod.client.HotRodConstantLoadExpirationClient.testLoop(HotRodConstantLoadExpirationClient.java:84)
      at org.infinispan.wfink.hotrod.client.HotRodConstantLoadExpirationClient.main(HotRodConstantLoadExpirationClient.java:160)
      Caused by: java.net.SocketTimeoutException: PutOperation{ExpirationCache, key=[B0x033E17323031392D..[26], value=[B0x033F280058585858..[10244], flags=4}

      timed out after 60000 ms
      at org.infinispan.client.hotrod.impl.operations.HotRodOperation.run(HotRodOperation.java:172)
      at io.netty.util.concurrent.PromiseTask$RunnableAdapter.call(PromiseTask.java:38)
      at io.netty.util.concurrent.ScheduledFutureTask.run(ScheduledFutureTask.java:127)
      at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
      at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404)
      at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:322)
      at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
      at java.lang.Thread.run(Thread.java:748)

              wburns@redhat.com Will Burns
              rhn-support-wfink Wolf Fink
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: