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

Optimize unacknowledged messages queue for FULL_SYNC caches

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 2.12
    • None
    • None
    • Docs Required, Release Notes Required

    Description

      Apache Ignite queues all unacknowledged messages in the GridNioRecoveryDescriptor#msgReqs queue. Size of this queue is effectively controlled by the TcpCommunicationSpi.ackSendThreshold property, which is 32 by default.

      Queuing PUTs of large entries results in significant heap memory usage.

      Please check if we really need to queue PUTs into FULL_SYNC caches. It seems to me we should not since a failure to write to a backup would be sent back to the client right away without any retries. If that is the case then please optimize the heap usage by not queueing FULL_SYNC cache update messages.

      See the heap usage example attached:

      Attachments

        1. apache-ignite-msgReqs-heap-usage.png
          556 kB
          Alexey Kukushkin

        Activity

          People

            Unassigned Unassigned
            kukushal Alexey Kukushkin
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:

              Time Tracking

                Estimated:
                Original Estimate - 80h
                80h
                Remaining:
                Remaining Estimate - 80h
                80h
                Logged:
                Time Spent - Not Specified
                Not Specified