Omar AitMous created MESOS-9476:
-----------------------------------
Summary: XFS project IDs aren't released upon task completion
Key: MESOS-9476
URL: https://issues.apache.org/jira/browse/MESOS-9476
Project: Mesos
Issue Type: Bug
Components: agent
Affects Versions: 1.7.0
Reporter: Omar AitMous
Attachments: Vagrantfile, build.sh
The XFS isolation doesn't release project IDs when a task finishes on Mesos 1.7
(branch 1.7.x), and once all project IDs are taken, scheduling new tasks fails
with:
`{color:#FF0000}Failed to assign project ID, range exhausted{color}`
Attached is a vagrant configuration that sets up a VM with an XFS disk (mounted
on /var/opt/mesos), zookeeper 3.4.12, mesos 1.7 and marathon 1.6.
Once the box is ready, start zookeeper, mesos-master, mesos-agent (using the
XFS disk) and marathon:
* sudo bin/zkServer.sh start
* sudo /home/vagrant/mesos/build/bin/mesos-master.sh --ip=192.168.33.10
--work_dir=/mnt/mesos
* sudo /home/vagrant/mesos/build/bin/mesos-agent.sh
--master=192.168.33.10:5050 --work_dir=/var/opt/mesos
--enforce_container_disk_quota --isolation=disk/xfs
--xfs_project_range=[5000-5009]
* sudo
MESOS_NATIVE_JAVA_LIBRARY="/home/vagrant/mesos/build/src/.libs/libmesos.so" sbt
'run --master 192.168.33.10:5050 --zk zk://localhost:2181/marathon'
Create an app on marathon, for example:
{"id": "/test", "cmd": "sleep 3600", "cpus": 0.01, "mem": 32, "disk": 1,
"instances": 5}
You should see 5 project IDs being used:
$ sudo xfs_quota -x -c "report -a -n -L 5000 -U 5009" | grep '^#[1-9][0-9]*'
#5000 4 1024 1024 00 [--------]
#5001 4 1024 1024 00 [--------]
#5002 4 1024 1024 00 [--------]
#5003 4 1024 1024 00 [--------]
#5004 4 1024 1024 00 [--------]
If you scale down to 0 instances, the project IDs aren't released.
If you scale back up to 8 instances, only 5 of them will start, the remaining 3
will fail with errors like this:
E1213 14:38:36.190430 20813 slave.cpp:6204] Container
'064b8a6b-c42d-4905-b2a7-632318aa2b83' for executor
'test.c5e88a67-fee4-11e8-9cc6-0800278a1a98' of framework
0473e272-04f7-4b1d-ae1d-f7177940e295-0000 failed to start: Failed to assign
project ID, range exhausted
On Mesos 1.4, the project IDs are properly released when a task finishes.
(I haven't tested other versions)
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)