http2/hpack: fix memory leak in headerFieldTable lookup maps

An earlier performance change,,
made headerFieldTable lookups O(1). The entries in the maps used to perform
these lookups were not evicted along with the original field elements, however
causing a gradual memory leak. This is most apparent when the headers have
highly variable content such as request IDs or timings.

Fixes golang/go#19756

Change-Id: Icdb51527eb671925216350ada15f2a1336ea3158
Reviewed-by: Brad Fitzpatrick <>
Reviewed-by: Tom Bergan <>
Run-TryBot: Brad Fitzpatrick <>
TryBot-Result: Gobot Gobot <>
2 files changed