> On Sep 8, 2016, at 7:55 AM, Sudheer Vinukonda 
> <sudheervinuko...@yahoo.com.INVALID> wrote:
> 
> 
> 
>> On Sep 7, 2016, at 10:09 PM, James Peach <jpe...@apache.org> wrote:
>> 
>> 
>>> On Sep 7, 2016, at 9:16 PM, Sudheer Vinukonda 
>>> <sudheervinuko...@yahoo.com.INVALID> wrote:
>>> 
>>> 
>>> 
>>>> On Sep 7, 2016, at 8:48 PM, James Peach <jpe...@apache.org> wrote:
>>>> 
>>>> 
>>>>> On Sep 7, 2016, at 8:30 PM, Sudheer Vinukonda 
>>>>> <sudheervinuko...@yahoo.com.INVALID> wrote:
>>>>> 
>>>>> I was replying to this - 
>>>>> 
>>>>>> "I don’t think this is any different from allowing SPDY or HTTP/2 to 
>>>>>> mark their transactions as non-internal."
>>>>> 
>>>>> Marking Spdy/H2 as non-internal works because of the special handling 
>>>>> done via FetchSM. With the proposed new API, you are intending to mark 
>>>>> plugin generated requests as non-internal. My point is that it'd likely 
>>>>> cause issues. I'll try to find some time to dig and provide specifics.
>>>> 
>>>> That would be great, because I’m struggling to see the special case here :)
>>> 
>>> Below are a couple of recent related jiras, there's likely more.
>>> 
>>> TS-3404
>>> TS-3777
>> 
>> Hmm, that’s a bit scary. It doesn’t seem like checking whether a transaction 
>> is internal is a very reliable fix.
> 
> It's been a while, so I can't recall all the details well, but, basically yes 
> - the fix based on txn's internal state didn't seem reliable enough to me. I 
> thought I had a more comprehensive fix, but IIRC, jacksontj veto'ed it with 
> his fix he claimed to be running in prod :) 
> 
> Regardless, I believe the txn's internal state has been used to hack around a 
> bunch of (rather harmful) corner cases and allowing arbitrary plugin control 
> without cleaning up the hacks, could cause some (very bad) regressions.
> 
>> I guess there is a corresponding hack for HTTP/2 so it can be non-internal 
>> and not fall into this hole?
>> 
> 
> There well could be, but can't recall from the top of my head. I think it 
> might be a little different with Spdy/H2, since streams (txn), are 
> multiplexed at the connection level and the connections are generally 
> persistent (as opposed to plugin initiated "internal" requests which just 
> hang since there's no multiplexing involved).

Thanks for the info Sudheer. I filed TS-4836 to address fixing this up. In the 
meantime, I can get along with using TSHttpTxnPluginTagGet(), so I'll abandon 
this API until it is safe.

J

Reply via email to