> On Jun 17, 2019, at 4: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.
That’s not what I meant :).
I believe things that does process management, such as stop / start / check
status etc. etc. all belongs in the mgmt APIs. Meaning, you signal
traffic_manager what your intent is, and it does the appropriate marshaling and
scheduling of events. Then the local manager handler for this event calls
“ink_emergency()” inside of traffic_server, on behalf of the management API.
I understand your point though, this would be something a plugin would do as an
extreme Error() call. If this is what we want, then I agree with bcall in that
it should be like TSError(), e.g. TSEmergency().
While looking at this, I noticed that we call Emergency when parsing
records.config, that’s a really bad idea :-/. Commit #7f08ad6044, I will file
an Issue, we should remove that.
Cheers,
— Leif
>
> 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.
>>>
>>
>