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.
> >>>
> >>
> >
>
>

Reply via email to