> On Aug. 20, 2020, 2:17 a.m., Qian Zhang wrote:
> > src/slave/csi_server.cpp
> > Lines 280 (patched)
> > <https://reviews.apache.org/r/72779/diff/3/?file=2238503#file2238503line284>
> >
> > So here we erase the plugin while `plugin.initialized` is already associated
at line 249 and `CSIServerProcess::publishVolume()` or `CSIServerProcess::unpublishVolume`
may already be waiting on `plugins.at(name).initialized.future()`, will the erasing cause
any problems?
We should be OK here since this callback is deferred onto the CSI server actor. If this `repair()`
callback is invoked, that means that `plugins.at(name).initialized` has failed, which means
that any callbacks chained onto `plugins.at(name).initialized` by `publishVolume()` or `unpublishVolume()`
will be executed. By the time the deferred `repair()` callback is executed on the CSI server
actor, failures will have already been returned for any previously-pending publish/unpublish
calls. Does that make sense?
- Greg
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/72779/#review221653
-----------------------------------------------------------
On Aug. 20, 2020, 11:14 p.m., Greg Mann wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/72779/
> -----------------------------------------------------------
>
> (Updated Aug. 20, 2020, 11:14 p.m.)
>
>
> Review request for mesos and Qian Zhang.
>
>
> Repository: mesos
>
>
> Description
> -------
>
> Initialized plugins lazily in the CSI server.
>
>
> Diffs
> -----
>
> src/slave/csi_server.hpp f5ec7663926731483589c5e30e7060751ed01e55
> src/slave/csi_server.cpp 2ba4f22b92370b019722d845d6113fb37f1b876a
>
>
> Diff: https://reviews.apache.org/r/72779/diff/4/
>
>
> Testing
> -------
>
> `sudo bin/mesos-tests.sh --gtest_filter="*CSIServerTest*"`
>
>
> Thanks,
>
> Greg Mann
>
>
|