I think it is already logging it right now, leif had a new PR for it just recently to remove the Emergency call.
Regards, Fei Deng On Wed, Jun 19, 2019 at 11:18 AM Sudheer Vinukonda <sudheervinuko...@yahoo.com.invalid> wrote: > >>> ....while on a config reload it should not call it and fall back to > the previous configuration. > Is there a way we can alert this (at a minimum, an Error log?)? > Falling back to old config (definitely preferable), but, silently is a bit > misleading and confusing. > > - Sudheer > > On Wednesday, June 19, 2019, 9:13:44 AM PDT, Fei Deng < > duke8...@gmail.com> wrote: > > Adding some notes here from the discussion we had just now: > > - *Fatal* and *Emergency* both need to be exposed to plugins, where > *Emergency* keeps traffic server down and *Fatal* will try and restart > (just like the core functions). > - When reading configs for the first time and fails, traffic server > should call *Emergency*, while on a config reload it should not call it > and fall back to the previous configuration. > > If I forgot something we just talked about please add to this note @Alan > @Bryan. > > Regards, > Fei Deng > > > On Tue, Jun 18, 2019 at 10:11 AM Fei Deng <duke8...@gmail.com> wrote: > > > So this is what it looks like now: > > > > tsapi void > > TSEmergency(const char *fmt, ...) > > { > > va_list args; > > > > va_start(args, fmt); > > EmergencyV(fmt, args); > > va_end(args); > > } > > > > Regards, > > Fei Deng > > > > > > On Tue, Jun 18, 2019 at 9:41 AM Fei Deng <duke8...@gmail.com> wrote: > > > >> Yes, this is suggested by Alan and Susan, since sometimes we need > plugins > >> to be able to abort and not try to restart (say if some important files > are > >> missing). I'll change the name to TSEmergency(). > >> > >> And I'll look at TSDebug and TSError, and make it similar to those. > >> > >> Regards, > >> Fei Deng > >> > >> > >> On Mon, Jun 17, 2019 at 5:59 PM Bryan Call <bc...@apache.org> wrote: > >> > >>> Looking how Emergency() vs ink_emergency() works. The only difference > >>> is Emergency() calls Diags::cleanup_func() with is only defined in > >>> traffic_manager. > >>> > >>> Here is the call stack for Emergency(): > >>> Emergency > DiagsError > diags->error > error_va > ink_emergency_va > > >>> ::exit(UNRECOVERABLE_EXIT) > >>> > >>> Vs > >>> ink_emergency > ink_emergency_va > ::exit(UNRECOVERABLE_EXIT) > >>> > >>> -Bryan > >>> > >>> > >>> > On Jun 17, 2019, at 3:27 PM, Bryan Call <bc...@apache.org> wrote: > >>> > > >>> > I would assume he is going to be calling ink_emergency(), so it > >>> wouldn’t be a management API. > >>> > > >>> > Fei, can you add more details about what "This API is a wrapper for > >>> the "Emergency” call” is really going to do? > >>> > > >>> > -Bryan > >>> > > >>> > > >>> >> On Jun 17, 2019, at 3:22 PM, Leif Hedstrom <zw...@apache.org> > wrote: > >>> >> > >>> >> > >>> >> > >>> >>> On Jun 17, 2019, at 4:16 PM, Bryan Call <bc...@apache.org> wrote: > >>> >>> > >>> >>> I would recommend having it like TSDebug and TSError. > >>> >>> > >>> >>> tsapi void TSEmergency(const char *fmt, ...) TS_PRINTFLIKE(1, 2); > >>> >>> > >>> >>> TSDebug and TSError: > >>> >>> tsapi void TSDebug(const char *tag, const char *format_str, ...) > >>> TS_PRINTFLIKE(2, 3); > >>> >>> tsapi void TSError(const char *fmt, ...) TS_PRINTFLIKE(1, 2); > >>> >>> > >>> >> > >>> >> > >>> >> What I don’t like with the original idea is that we’re putting > >>> management APIs (which we have ts/mgmt.h for) into the plugin APIs. > There > >>> should be nothing stopping a plugin from using the management APIs I > don’t > >>> think? If there is, that’s yet another issue. > >>> >> > >>> >> I feel reasonably strongly about not merging ts/hmgmt.h > functionality > >>> into ts/ts.h. > >>> >> > >>> >> — Leif > >>> >> > >>> >>> > >>> >>> -Bryan > >>> >>> > >>> >>> > >>> >>>> On Jun 17, 2019, at 2:13 PM, Fei Deng <duke8...@apache.org> > wrote: > >>> >>>> > >>> >>>> void TSEmergencyShutdown(const char *log_msg); > >>> >>>> > >>> >>>> This API is a wrapper for the "Emergency" call, which signals > >>> >>>> traffic_manager to not restart traffic_server after the shutdown, > >>> i.e. this > >>> >>>> call should be used when something has gone wrong and cannot be > >>> recovered > >>> >>>> by a restart. > >>> >>> > >>> >> > >>> > > >>> > >>>