Uploaded image for project: 'HttpComponents HttpCore'
  1. HttpComponents HttpCore
  2. HTTPCORE-751

Memory Consumption and GC Performance Issues with HttpClient-5.2.1 in HTTP/2 Communication

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Fixed
    • 5.2.1
    • 5.2.2
    • HttpCore
    • None

    Description

      After upgrading from version 5.1 to 5.2.1 of the HttpClient library for HTTP/2 communication, we encountered an issue. When connecting to any endpoint exposed by ALB (Application Load Balancer), our application consumes a significant amount of memory and fails to release it efficiently, leading to increased time spent on garbage collection (GC).

       

      Some analysis already done:- 

      This is what happens: both endpoints, the client and server, transmit their settings approximately at about the same time. The client states it can handle 64K frames at max, whereas the server states it can handle 16MB frames. The client ACKs the server settings because its MAX_FRAME_SIZE is lesser than that of the server. The server, however, just ACKs the client settings without re-sending its settings with a smaller MAX_FRAME_SIZE. I suppose what means is the server acknowledges the client settings including the limit and states its intent to respect it and the client can be reasonably sure it will never get hit with a frame greater than 64K, but I have to got to revisit the HTTP/2 specification to be sure.

       

      For more details please follow below link:

      https://stackoverflow.com/questions/76439023/memory-consumption-and-gc-performance-issues-with-httpclient-5-2-1-in-http-2-com

      Attachments

        Activity

          People

            Unassigned Unassigned
            sandeep_gaur Sandeep_gaur
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 20m
                20m