You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@trafficserver.apache.org by Sanjay Singh <ss...@linkedin.com.INVALID> on 2021/05/28 00:33:01 UTC

Proposal to update existing TS API : TSHttpTxnAborted

Hi all,

I'd like to propose a change to an existing TS API, "TSHttpTxnAborted".

The current function signature:
TSReturnCode
TSHttpTxnAborted(TSHttpTxn txnp)

Propsed change:
TSReturnCode
TSHttpTxnAborted(TSHttpTxn txnp, bool *client_abort)

Currently, the purpose of the API is limited to providing success/error on overall transaction aborts. This change addresses a particular use case (recently encountered at LinkedIn), where we want to distinguish client-side aborts from the actual server aborts. While client aborts may not be indicative of any direct problems with downstream servers, it's the server aborts that can be used as passive health-checks for the downstream origin hosts. Also, this makes troubleshooting the 'transaction aborts' easier because now we are able to eliminate an entire set of either client-side or server-side investigations, due to the ability to distinguish between them.

Related PR - https://github.com/apache/trafficserver/pull/7901/files
Related gh issue - https://github.com/apache/trafficserver/issues/7902

Please provide your feedback and let me know if more information is needed from my side.

Thanks,

Sanjay


Re: [E] Proposal to update existing TS API : TSHttpTxnAborted

Posted by Walt Karas <wk...@verizonmedia.com.INVALID>.
Oh I see, for cases where there is no status?

On Tue, Jun 1, 2021 at 10:13 AM Walt Karas <wk...@verizonmedia.com> wrote:

> Hmm, you can't use TSHttpHdrStatusGet() ?
>
> On Sat, May 29, 2021 at 9:19 AM Sanjay Singh <ss...@linkedin.com.invalid>
> wrote:
>
>> Hi all,
>>
>> I'd like to propose a change to an existing TS API, "TSHttpTxnAborted".
>>
>> The current function signature:
>> TSReturnCode
>> TSHttpTxnAborted(TSHttpTxn txnp)
>>
>> Propsed change:
>> TSReturnCode
>> TSHttpTxnAborted(TSHttpTxn txnp, bool *client_abort)
>>
>> Currently, the purpose of the API is limited to providing success/error
>> on overall transaction aborts. This change addresses a particular use case
>> (recently encountered at LinkedIn), where we want to distinguish
>> client-side aborts from the actual server aborts. While client aborts may
>> not be indicative of any direct problems with downstream servers, it's the
>> server aborts that can be used as passive health-checks for the downstream
>> origin hosts. Also, this makes troubleshooting the 'transaction aborts'
>> easier because now we are able to eliminate an entire set of either
>> client-side or server-side investigations, due to the ability to
>> distinguish between them.
>>
>> Related PR -
>> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apache_trafficserver_pull_7901_files&d=DwIFAw&c=sWW_bEwW_mLyN3Kx2v57Q8e-CRbmiT9yOhqES_g_wVY&r=bRwMsdu0uyXK0N-ngQ91KF2IzpTwU-AXjOlCZnyKc_4&m=qYzq-K1DFB-0WtAYFEqLglCWduKafWjkWiuFVkNJ32o&s=vzW3keuEw7ZayW8TrKNgcut5vkUYNnvx0UiTi6xtHs0&e=
>> Related gh issue -
>> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apache_trafficserver_issues_7902&d=DwIFAw&c=sWW_bEwW_mLyN3Kx2v57Q8e-CRbmiT9yOhqES_g_wVY&r=bRwMsdu0uyXK0N-ngQ91KF2IzpTwU-AXjOlCZnyKc_4&m=qYzq-K1DFB-0WtAYFEqLglCWduKafWjkWiuFVkNJ32o&s=UL5cp-5P8f3U_Wb69key5fOQSdYiY-c5VLtmxD0amfw&e=
>>
>> Please provide your feedback and let me know if more information is
>> needed from my side.
>>
>> Thanks,
>>
>> Sanjay
>>
>>

Re: [E] Proposal to update existing TS API : TSHttpTxnAborted

Posted by Walt Karas <wk...@verizonmedia.com.INVALID>.
Hmm, you can't use TSHttpHdrStatusGet() ?

On Sat, May 29, 2021 at 9:19 AM Sanjay Singh <ss...@linkedin.com.invalid>
wrote:

> Hi all,
>
> I'd like to propose a change to an existing TS API, "TSHttpTxnAborted".
>
> The current function signature:
> TSReturnCode
> TSHttpTxnAborted(TSHttpTxn txnp)
>
> Propsed change:
> TSReturnCode
> TSHttpTxnAborted(TSHttpTxn txnp, bool *client_abort)
>
> Currently, the purpose of the API is limited to providing success/error on
> overall transaction aborts. This change addresses a particular use case
> (recently encountered at LinkedIn), where we want to distinguish
> client-side aborts from the actual server aborts. While client aborts may
> not be indicative of any direct problems with downstream servers, it's the
> server aborts that can be used as passive health-checks for the downstream
> origin hosts. Also, this makes troubleshooting the 'transaction aborts'
> easier because now we are able to eliminate an entire set of either
> client-side or server-side investigations, due to the ability to
> distinguish between them.
>
> Related PR -
> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apache_trafficserver_pull_7901_files&d=DwIFAw&c=sWW_bEwW_mLyN3Kx2v57Q8e-CRbmiT9yOhqES_g_wVY&r=bRwMsdu0uyXK0N-ngQ91KF2IzpTwU-AXjOlCZnyKc_4&m=qYzq-K1DFB-0WtAYFEqLglCWduKafWjkWiuFVkNJ32o&s=vzW3keuEw7ZayW8TrKNgcut5vkUYNnvx0UiTi6xtHs0&e=
> Related gh issue -
> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apache_trafficserver_issues_7902&d=DwIFAw&c=sWW_bEwW_mLyN3Kx2v57Q8e-CRbmiT9yOhqES_g_wVY&r=bRwMsdu0uyXK0N-ngQ91KF2IzpTwU-AXjOlCZnyKc_4&m=qYzq-K1DFB-0WtAYFEqLglCWduKafWjkWiuFVkNJ32o&s=UL5cp-5P8f3U_Wb69key5fOQSdYiY-c5VLtmxD0amfw&e=
>
> Please provide your feedback and let me know if more information is needed
> from my side.
>
> Thanks,
>
> Sanjay
>
>

Re: Proposal to update existing TS API : TSHttpTxnAborted

Posted by Bryan Call <bc...@apache.org>.
Thank you for the PR and issue!

I am OK with the change.  It looks like there are some build issue with it on GitHub.  Please make sure it passes all the tests: https://github.com/apache/trafficserver/pull/7901 <https://github.com/apache/trafficserver/pull/7901>

Since it is an incompatible change, it won’t go out until our 10.0.0 release.

-Bryan


> On May 27, 2021, at 5:33 PM, Sanjay Singh <ss...@linkedin.com.INVALID> wrote:
> 
> Hi all,
> 
> I'd like to propose a change to an existing TS API, "TSHttpTxnAborted".
> 
> The current function signature:
> TSReturnCode
> TSHttpTxnAborted(TSHttpTxn txnp)
> 
> Propsed change:
> TSReturnCode
> TSHttpTxnAborted(TSHttpTxn txnp, bool *client_abort)
> 
> Currently, the purpose of the API is limited to providing success/error on overall transaction aborts. This change addresses a particular use case (recently encountered at LinkedIn), where we want to distinguish client-side aborts from the actual server aborts. While client aborts may not be indicative of any direct problems with downstream servers, it's the server aborts that can be used as passive health-checks for the downstream origin hosts. Also, this makes troubleshooting the 'transaction aborts' easier because now we are able to eliminate an entire set of either client-side or server-side investigations, due to the ability to distinguish between them.
> 
> Related PR - https://github.com/apache/trafficserver/pull/7901/files
> Related gh issue - https://github.com/apache/trafficserver/issues/7902
> 
> Please provide your feedback and let me know if more information is needed from my side.
> 
> Thanks,
> 
> Sanjay
>