Phil Sorber created TS-2854:
-------------------------------

             Summary: BACKPORT - HdrHeap::coalesce_str_heaps doesn't properly 
calculate new heap size
                 Key: TS-2854
                 URL: https://issues.apache.org/jira/browse/TS-2854
             Project: Traffic Server
          Issue Type: Bug
          Components: Core
    Affects Versions: 4.2.1, 5.0.0
            Reporter: Brian Geffon
            Assignee: Phil Sorber
             Fix For: 5.0.0


HdrHeap::coalesce_str_heaps doesn't properly calculate the new heap size for a 
few reasons:

 1) It doesn't current walk the HdrHeap chain (m_next).
 2) It doesn't account for HdrHeap objects that point to the same string in the 
HdrStrHeap.

The easiest fix for this is to completely walk all of the HdrHeap objects in 
the chain and sum up the size of every string; obviously this approach means 
that strings that were previously aliased will now become independent copies on 
coalesce; however, the alternative solution that allows continued aliasing 
would be pretty messy.

I'm proposing we just properly determine the size but allow the user to 
minimizing coalescing by making the read only heap sizes configurable and the 
StrHdrHeap and HdrHeap default sizes configurable.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to