[
https://issues.apache.org/jira/browse/MESOS-6575?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16382948#comment-16382948
]
James Peach commented on MESOS-6575:
------------------------------------
{quote}
When the resource is updated in the xfs handler they are not tracked, but
instead are added up.
{quote}
This is because the XFS isolator doesn't support path volumes so there's no
need to track any paths. It might be interesting to refactor a unified way to
tracking disk resource, as a prerequisite to any other XFS changes, but AFAICT
that's not actually required here.
{quote}
The idea behind the "diff_bytes" would be that you'd take the hard limit of any
given task and subtract that amount of bytes to create a soft_limit below the
hard limit.
{quote}
Thinking about this some more, I'm not sure that we need to do anything with
soft limits at all. Let's assume that we implement this for task sandboxes by
applying a hard limit that is "disk_resource + some_constant_slop". We still
need to have the isolator periodically check the usage in order to raise the
limitation, so it doesn't really matter whether we have a soft limit. All we
really need to do is check the current usage against the resource limit.
> Change `disk/xfs` isolator to terminate executor when it exceeds quota
> ----------------------------------------------------------------------
>
> Key: MESOS-6575
> URL: https://issues.apache.org/jira/browse/MESOS-6575
> Project: Mesos
> Issue Type: Task
> Components: agent, containerization
> Reporter: Santhosh Kumar Shanmugham
> Assignee: James Peach
> Priority: Major
>
> Unlike {{disk/du}} isolator which sends a {{ContainerLimitation}} protobuf
> when the executor exceeds the quota, {{disk/xfs}} isolator, which relies on
> XFS's internal quota enforcement, silently fails the {{write}} operation,
> that causes the quota limit to be exceeded, without surfacing the quota
> breach information.
> This task is to change the `disk/xfs` isolator so that, a
> {{ContainerLimitation}} message is triggered when the quota is exceeded.
> This feature will rely on the underlying filesystem being mounted with
> {{pqnoenforce}} (accounting-only mode), so that XFS does not silently causes
> a {{EDQUOT}} error on writes that causes the quota to be exceeded. Now the
> isolator can track the disk quota via {{xfs_quota}}, very much like
> {{disk/du}} using {{du}}, every {{container_disk_watch_interval}} and surface
> the disk quota limit exceed event via a {{ContainerLimitation}} protobuf,
> causing the executor to be terminated. This feature can then be turned on/off
> via the existing {{enforce_container_disk_quota}} option.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)