Replying to my own thread here ;) It is also possible that resourceOffers()
is called more than once before the first statusUpdate() is received. That
is more likely.

Some links to state transitions, and any threading model would be handy
though. Or at least how and when callbacks are invoked. Just so I know what
I need to protect access to ;)

Cheers,

Jim


On 9 June 2015 at 16:58, James Vanns <jvanns....@gmail.com> wrote:

> 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
>



-- 
--
Senior Code Pig
Industrial Light & Magic

Reply via email to