> On March 19, 2019, 5:06 p.m., Benjamin Bannier wrote:
> > src/csi/v0_volume_manager.cpp
> > Line 120 (original), 142-144 (patched)
> > <https://reviews.apache.org/r/70215/diff/2/?file=2132473#file2132473line142>
> >
> >     Shouldn't we evaluate this when we actually send the operation in 
> > `_attachVolume`? I am worrying about the potential of interleaved, 
> > multistep transitions.
> >     
> >     Here and in all other handlers.
> 
> Chun-Hung Hsiao wrote:
>     All of the methods prepended with an underscore are meant to be 
> compositional building blocks, and the public-facing functions (the ones 
> without underscores) are responsible to run the building block functions in a 
> volume's sequence. So as long as the sequence exists, the volume itself 
> should exist as well.

Ah I got what you mean. Because we add a `Deferred` in the sequence, it is 
possible that the `Deferred` is enqueued, then the volume itself is destructed 
before the the `Deferred` got dispatched. This should not be possible if we 
only destruct the volume in the sequence.


> On March 19, 2019, 5:06 p.m., Benjamin Bannier wrote:
> > src/csi/v0_volume_manager.cpp
> > Lines 251 (patched)
> > <https://reviews.apache.org/r/70215/diff/2/?file=2132473#file2132473line251>
> >
> >     `Future<T>` can be constructed from a `Try<T, E>`,
> >     ```
> >     return result;
> >     ```

But, `Future<ControlFlow<T>>` cannot be constructed from `Try<T, E>` ;) 
Dropping.


- Chun-Hung


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/70215/#review213808
-----------------------------------------------------------


On March 15, 2019, 11:38 p.m., Chun-Hung Hsiao wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/70215/
> -----------------------------------------------------------
> 
> (Updated March 15, 2019, 11:38 p.m.)
> 
> 
> Review request for mesos, Benjamin Bannier, Jie Yu, and Jan Schlicht.
> 
> 
> Bugs: MESOS-9622
>     https://issues.apache.org/jira/browse/MESOS-9622
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> The attachment and publishment are implemented with internal helpers,
> each individually deals with one steady and two transient states and
> makes a proper CSI call to achieve its goal state. If the given volume
> is not in the designed state, it would recursively call other helpers
> to transition the volume to the designed state first.
> 
> These helper functions are sequentialized through the volume's own
> sequence in the public-facing functions to avoid racing operations on
> the same volume.
> 
> 
> Diffs
> -----
> 
>   src/csi/v0_volume_manager.cpp PRE-CREATION 
>   src/csi/v0_volume_manager_process.hpp PRE-CREATION 
> 
> 
> Diff: https://reviews.apache.org/r/70215/diff/2/
> 
> 
> Testing
> -------
> 
> make check
> 
> 
> Thanks,
> 
> Chun-Hung Hsiao
> 
>

Reply via email to