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

Reduce contention in the RPC timeout handling

XMLWordPrintable

    • Icon: Task Task
    • Resolution: Obsolete
    • Icon: Minor Minor
    • None
    • 8.0.0.Beta2
    • Core

      Most of the RPC timeout tasks are cancelled way before their timeout expires. This means the scheduler spends a lot of time reordering the elements of its DelayQueue.

      It should be possible to store the tasks with a long timeout (e.g. 1s) in a queue and only move them to the scheduler's priority queue when they have less than 1s to expiration (e.g. by a worker thread that runs every 0.5s)

      Storing all the tasks in a single queue may be impractical because the worker thread would have more and work to do as load increases and the RPCs take longer to finish, so a hashed timing wheel may be needed.

              Unassigned Unassigned
              dberinde@redhat.com Dan Berindei (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: