Hi. I'm toying with the mesos scheduler (C++) API and running into
unexpected race conditions. I have *not* synchronised access to attributes
of my Scheduler-derived class. Is the mesos library code threaded and
network communication asynchronous? What it *looks like* I'm seeing is my
statusUpdate() callback being executed before the return of
resourceOffers(). Naturally I call driver->launchTasks() inside
resourceOffers(). This is intermittent but generally triggered by tasks
that report status changes very quickly; eg. a task that fails instantly.

Can anyone point me in the right direction of any online API docs that
explain how callbacks are invoked? Distributed over a pool of worker
threads?

Also are the state transitions documented? Eg.
mesos::TASK_STAGING -> mesos::TASK_STARTING -> etc.

Cheers,

Jim

--
Senior Code Pig
Industrial Light & Magic

Reply via email to