I enabled glog of mesos driver. Log below for scenario — sequence as follows:
1) shutdown slave 2) monitor agent status in mesos until it shows as “LOST” 3) start slave back up 4) Logs below from executor driver code: https://github.com/mesos/mesos-go/blob/master/api/v0/executor/executor.go#L484-L501 <https://github.com/mesos/mesos-go/blob/master/api/v0/executor/executor.go#L484-L501> I0721 22:20:20.007127 27249 executor.go:377] Executor driver reconnect I0721 22:20:20.007156 27249 executor.go:387] Received reconnect request from slave &SlaveID{Value:*7716ab68-bf95-4fd6-9d07-aa3fd4a65349-S9,XXX_unrecognized:[],} I0721 22:20:20.008659 27249 executor.go:340] Executor driver reregistered I0721 22:20:20.008674 27249 executor.go:351] Re-registered on slave &SlaveID{Value:*7716ab68-bf95-4fd6-9d07-aa3fd4a65349-S9,XXX_unrecognized:[],} I0721 22:20:20.008704 27249 main.go:52] Re-registered Executor on slave I0721 22:20:22.988835 27249 executor.go:509] Executor driver received shutdown I0721 22:20:22.988854 27249 executor.go:516] Executor driver is asked to shutdown I0721 22:20:22.988878 27249 executor.go:602] Stopping the executor driver I0721 22:20:22.988885 27249 messenger.go:295] stopping messenger executor(1)@127.0.0.1:52644.. I0721 22:20:22.988896 27249 http_transporter.go:447] stopping HTTP transport I also put a sleep in Shutdown callback: https://github.com/mesos/mesos-go/blob/master/api/v0/examples/executor/main.go#L110 <https://github.com/mesos/mesos-go/blob/master/api/v0/examples/executor/main.go#L110> However, I expected Shutdown callback getting invoked but don’t see in logs.. it seems likely that executor got terminated abruptly. May be abort or stop is invoked prior to shutdown?. Would you verify behavior from your end for this scenario.. Thanks, Jiamin > On Jul 18, 2017, at 5:42 PM, Zhu Jiamin <jiamin.zhu...@gmail.com> wrote: > > mesos-go executor driver calls driver.stop() after invoking shutdown of > executor > > // this is from mesos-go executor driver > driver.withExecutor(func(e Executor) { e.Shutdown(driver) }) > driver.stop() > > So executor should print log firstly then exit since driver stop happen > after invoking shutdown. > > Will try to enable GLOG and come back to you. > > Many thanks, > Jiamin > > > > > >> On Jul 18, 2017, at 5:24 PM, Vinod Kone <vinodk...@apache.org >> <mailto:vinodk...@apache.org>> wrote: >> >> On Tue, Jul 18, 2017 at 2:11 PM, Zhu Jiamin <jiamin.zhu...@gmail.com >> <mailto:jiamin.zhu...@gmail.com>> wrote: >> >>> 2017/07/18 20:49:19 Stop driver >>> >> >> Am I reading this correctly that mesos-go executor calls `stop()` on the >> driver? Do you know if it calls it when it gets a `shutdown()`? If yes, >> that would explain the behavior. >> >> Looking at the driver code, looks like when it gets a shutdown message from >> the agent the shutdown grace period should be respected. The only way a >> driver would terminate early is if an executor called `stop()` or `abort()` >> in the interim. >> >> Is there any way you could set `GLOG_v=1` in the environment of your >> executor so that driver logs get output? That would make debugging this >> much easier. >