Details
-
Bug
-
Status: Resolved
-
Blocker
-
Resolution: Fixed
-
1.7.0, 1.7.1, 1.7.2, 1.8.0
-
Storage: RI-14 Sprint 46
-
2
Description
Before MESOS-8906, UriDiskProfileAdaptor only update its promise for watchers if the polled profile matrix becomes larger in size, and this prevents the following code in the watch function from creating an infinite chain of futures when the profile matrix keeps the same:
https://github.com/apache/mesos/blob/fa410f2fb8efb988590f4da2d4cfffbb2ce70637/src/resource_provider/storage/uri_disk_profile_adaptor.cpp#L159-L160
However, the patch of MESOS-8906 removes the size check in the notify function to allow profile selectors to be updated. As a result, once the watch function is called, the returned future will be chained with a new promise every time a poll is made, hence creating a memory leak.
A jemalloc call graph for a 2hr trace is attached.