memory leak in GCL cache hash table
The open GCL cache (as implemented in
libep hash tables (
ep/ep_hash.c). They in turn use resource pools (
ep/ep_rpool.c). Resource pools only release memory when the entire pool is released, which implies that long-lived hash tables that are update-intense will leak memory over time. The hash table implementation re-uses entries in the hash chain if the key remains the same, but each new key will allocate slightly more memory.
The problem will exhibit most obviously in
gdplogd, which will process lots of different log names over time, resulting in a slow but inevitable memory leak.
This should really be fixed in the
libep hash table implementation, either by doing memory management internally (rather than using resource pools) or by changing resource pools to be smarter about re-using memory.