We're using it for streaming realtime logs to the framework. In our short-lived 
framework for building Docker images, the executor streams back stdout/stderr 
logs from the build to the client for ease of use/debugging and the 
executor->framework best-effort messaging stuff made this effortless.


--


Tom Arnfeld

Developer // DueDil

On Mon, Jun 29, 2015 at 10:48 PM, Benjamin Mahler
<benjamin.mah...@gmail.com> wrote:

> FYI Some folks reached out off thread that they are using this optimization
> for distributed health checking of tasks. This is on the order of O(10,000)
> framework messages per second for them, which may not be possible through
> the master.
> On Tue, Jun 23, 2015 at 6:08 PM, Benjamin Mahler <benjamin.mah...@gmail.com>
> wrote:
>> The existing Mesos API provides unreliable messaging passing for framework
>> <-> executor communication:
>>
>> --> Schedulers can call 'sendFrameworkMessage(executor, slave, data)' on
>> the driver [1], this sends a message to the executor. This has a
>> best-effort optimization to bypass the master, and send the message to the
>> slave directly.
>>
>> --> Executors can call 'sendFrameworkMessage(data)' on the driver [2],
>> which sends a message to the scheduler. This has a best-effort optimization
>> to bypass the master, and send the message to the scheduler driver directly
>> (via the slave).
>>
>> As part of the HTTP API [3], schedulers can only make Calls against the
>> master, and all Events must be streamed back on the scheduler-initiated
>> connection to the master. This means that we can no longer easily support
>> bypassing the master as an optimization.
>>
>> The plan is also to remove this optimization in the existing driver, in
>> order to conform to the upcoming Event/Call messages [4] used in the HTTP
>> API, so:
>>
>>
>> *** If anyone is relying on this best-effort optimization, please chime
>> in! ***
>>
>>
>> [1]
>> https://github.com/apache/mesos/blob/0.22.1/include/mesos/scheduler.hpp#L289
>> [2]
>> https://github.com/apache/mesos/blob/0.22.1/include/mesos/executor.hpp#L185
>> [3]
>> https://docs.google.com/document/d/1pnIY_HckimKNvpqhKRhbc9eSItWNFT-priXh_urR-T0/edit
>> [4]
>> https://github.com/apache/mesos/blob/0.22.1/include/mesos/scheduler/scheduler.proto
>>

Reply via email to