> On July 23, 2018, 10:22 p.m., James Peach wrote: > > src/slave/containerizer/mesos/isolators/xfs/disk.hpp > > Lines 24 (patched) > > <https://reviews.apache.org/r/67914/diff/3/?file=2061719#file2061719line24> > > > > Let's use a pull gauge here for sampling performance reasons. > > > > We can decrement it in `recover` and `nextProjectId`, and increment it > > in `returnProjectId`.
*push gauge* :) - James ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/67914/#review206351 ----------------------------------------------------------- On July 19, 2018, 11:12 p.m., Ilya Pronin wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/67914/ > ----------------------------------------------------------- > > (Updated July 19, 2018, 11:12 p.m.) > > > Review request for mesos and James Peach. > > > Bugs: MESOS-9007 > https://issues.apache.org/jira/browse/MESOS-9007 > > > Repository: mesos > > > Description > ------- > > Currently upon container destruction its project ID is unallocated by > the isolator and removed from the container work directory. However due > to API limitations we can't unset project IDs on symlinks that may exist > inside the directory. Because of that the project may still exist until > the container directory is garbage collected. If the project ID is > reused for a new container, any lingering symlinks that still have that > project ID will contribute to disk usage of the new container. Typically > symlinks don't take much space, but still this leads to inaccuracy in > disk space usage accounting. > > This patch postpones project ID reclaiming until sandbox GC time. The > isolator periodically checks if sandboxes of terminated containers still > exist and deallocates project IDs of the ones that were removed. This > mechanism can be improved in the future if we introduce a way for the > isolators to learn about disk GCs. > > Current number of available project IDs can be tracked with the new > "containerizer/mesos/disk/project_ids_free" metric. > > > Diffs > ----- > > src/slave/containerizer/mesos/isolators/xfs/disk.hpp > 0891f7709aa4f98758a727856d58e6177d46adca > src/slave/containerizer/mesos/isolators/xfs/disk.cpp > 25f52a43b34b141bdaf7c448817423cf4264e22a > src/slave/flags.hpp eeb9708f9ec76d83b6719541f4a012544c7c0cbe > src/slave/flags.cpp 58cdc0f1100fe244e5bf1036e1ccf39478d5d478 > src/tests/containerizer/xfs_quota_tests.cpp > dc18a8a59d1eb7fae3592ef6ba8c046e4f46ee4a > > > Diff: https://reviews.apache.org/r/67914/diff/3/ > > > Testing > ------- > > Added `ROOT_XFS_QuotaTest.ProjectIDReclaiming` test that verifies that > project ID is reclaimed and reused after sandbox GC. Ran `sudo make check`. > > > Thanks, > > Ilya Pronin > >