This is ticket is related to the latest issue discussed on
SERVER-17456. The key features of the test involve:
- relatively large number of collections (16k)
- 16 threads each looping through 1k of the 16k collections writing a record and doing a createIndex (on an existing index, not a new index).
Memory outside WT cache is observed to steadily grow over a period of hours in a test on 3.0.5:
- allocated memory outside of WT cache (3rd line) grows steadily.
- there is a sudden increase corresponding to the known issue with WT journal allocation in 3.0.5.
- aside from that sudden jump the growth in non-cache memory is linear over time.
- number of cached cursors is also growing and that is a known potential user of memory, but the shape of the growth curve for number of cursors does not match the linear shape of the growth of non-cached memory.
Memory profiling using tcmalloc HEAPPROFILE shows the following as a candidate for the culprit: various allocations within in __checkpoint_worker (labeled "A" below) steadily grow, and account for about 1.5 GB of non-cache memory by the end of this run: