Thanks Ben. Just posted a patch: https://reviews.apache.org/r/62252/.

- Chun-Hung

On Mon, Sep 11, 2017 at 9:15 PM, Benjamin Hindman <b...@mesosphere.io>
wrote:

> Quick clarification: you'll have a single `process::Executor` and queue up
> all the rmdirs on that, correct? So you'll still tie up a worker thread,
> but only one of them.
>
> Either way it makes sense to add `process::Executor::execute()`. I'm
> happy to shepherd that for you Chun, send me a patch!
>
> On Mon, Sep 11, 2017 at 7:32 PM, Chun-Hung Hsiao <chhs...@mesosphere.io>
> wrote:
>
>> Hi,
>>
>> I'm thinking about extending `process::Executor` with a new `execute()`
>> interface.
>> The need of this new interface surfaced when I'm working on
>> https://issues.apache.org/jira/browse/MESOS-7964
>> Summary:
>> 1. A disk GC might execute multiple `rmdirs` callbacks, and some of them
>> are heavy duty. We don't want to run them on `GarbageCollectorProcess` so
>> that it won't block other events of the process.
>> Currently we do the following:
>> async(rmdirs).onAny(...);
>> 2. `async` puts each `rmdir` callback in an actor. When there are many
>> heavy-duty `rmdirs` callbacks, the actors end up occupying all worker
>> threads and blocking other actors for minutes.
>>
>> Yan suggested me to use `process::Executor` such that:
>> 1. The `rmdirs` callbacks are not executed on `GarbaceGollectorProcess`
>> 2. All `rmdirs` callbacks are executed on a single thread
>> Since the `Executor` class only contains a `defer()` function that
>> returns a `_Deferred` structure,
>> I'm doing the following:
>> executor.defer(rmdirs).operator std::function<Future<Nothing>(
>> )>()().onAny(...)
>>
>> Would it make sense to add another `execute()` function to directly
>> return a `Future`?
>>
>> - Chun-Hung
>>
>>
>
>
> --
> Benjamin Hindman
> Founder of Mesosphere and Co-Creator of Apache Mesos
> Mesosphere Inc.  <http://www.mesosphere.io/>
>
> Follow us on Twitter: @mesosphere <http://twitter.com/mesosphere>
>
> [image: All New DC/OS 1.10]
> <http://smart.mesosphere.io/v2/a/dcos1_10_ver3/59b75f7429a6455da34fd9e4-g0PWg/httpsmesosphere.comblogdcos-1_10-kubernetes>
>
>

Reply via email to