From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Tue, 22 May 2018 10:07:16 +0300 From: Kirill Yukhin Subject: Re: [tarantool-patches] [PATCH 2/2] replication: display downstream status at upstream Message-ID: <20180522070716.fnrhrzkmnmedaspe@tarantool.org> References: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: To: tarantool-patches@freelists.org Cc: vdavydov@tarantool.org, georgy@tarantool.org, kostja@tarantool.org List-ID: Hello Kostya, On 21 мая 20:07, Konstantin Belyavskiy wrote: > This fix improves 'box.info.replication' output. > If downstream fails and thus disconnects from upstream, improve > logging by printing 'status: disconnected' and error message on > both sides (master and replica). > > Closes #3365 > --- > diff --git a/src/box/lua/info.c b/src/box/lua/info.c > index 9dbc3f92c..8f358d04e 100644 > --- a/src/box/lua/info.c > +++ b/src/box/lua/info.c > @@ -148,6 +148,23 @@ lbox_pushreplica(lua_State *L, struct replica *replica) > if (relay_get_state(replica->relay) == RELAY_FOLLOW) { > lua_pushstring(L, "downstream"); > lbox_pushrelay(L, relay); > + lua_settable(L, -3); > + } else if (relay_get_state(replica->relay) == RELAY_STOPPED) { > + lua_pushstring(L, "downstream"); > + > + lua_newtable(L); > + lua_pushstring(L, "status"); > + lua_pushstring(L, "stopped"); > + lua_settable(L, -3); > + > + assert(replica->relay); Few lines above you dereferenced replica (in if-stmt). Why this assert? If it is necessary, please note that relay is a pointer and should be compared against NULL according to coding style. -- Regards, Kirill Yukhin