Christoph,

as Tim mentioned before, your custom executor is responsible to handling
tasks correctly. Mesos does resource bookkeeping per executor; if the
executor reaches a limit (e.g. because of an OOM event), the whole executor
will be killed by Mesos (actually, by a containerizer and only if you have
isolators configured, but I assume this is your case).

Each task started by your executor adds its resources to executor's limit.
It's up to you, how (and whether) to track misbehaving tasks and what to do
with them. Mesos ensures that the whole "family" of tasks spawned by your
executor is under the total allowance.

An alternative is to start each task in its own executor (that is how
MesosExecutor works).

On Sun, Jun 21, 2015 at 11:01 PM, Christoph Heer <[email protected]>
wrote:

> Hi,
>
> > Essentially you'll need to launch your multiple executors with the right
> resources flags (-c, -m).
>
> I'm sorry I couldn't found information about resources flags. Could you
> provide a link with additional information about these flags?
>
> > We don't expose any API to get the current Task's cgroup root, but you
> essentially can look it up yourself by examining /proc/{pid} where pid is
> your current running executor's pid, and you can find out the current
> cgroup root that this process is under and setup cgroup_parent with it.
>
> Thank you for this hint. But this also mean it is required to start for
> every task an own executor that Mesos will create a new cgroup?
>
> > Hopefully that makes sense.
>
> Yes thank you very much.
>
>
> Kind regards
> Christoph

Reply via email to