Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-5398

Optimize allocations in RendezvousAffinityFunction

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.0
    • 2.1
    • cache
    • None

    Description

      Currently RendezvousAffinityFunction allocates a new array of tuples (Long, ClusterNode) in order to create a sorted structure for the partition assignment. This structure is allocated for each cache and each partition, which leads to excessive GC pressure during partition map exchange.

      I suggest we create a special container which is allocated once per context and reused for all partition assignments. This container can be reused efficiently for all caches because it's size is equal to the number of nodes in the assignment.

      Attachments

        Activity

          People

            agoncharuk Alexey Goncharuk
            agoncharuk Alexey Goncharuk
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: