Re: Http2 tomact server taking time in responding when 1st StreamId is a large integer value like 2147483641

2020-05-22 Thread Mark Thomas
On 22/05/2020 04:46, Prateek Kohli wrote:
> Thanks Mark.
> 
> Do we need to raise a bug for this?

Generally, if the committers know about a bug it will get fixed. Having
a Bugzilla issue is not a requirement for a bug to get fixed. This is on
my TODO list for today unless someone beats me to it.

That said, opening a Bugzilla issue is generally a useful thing to do
because:
- it provides a reference to the specific issue (helpful if duplicates
  are reported)
- it won't get forgotten about if the committers get distracted by some
  bigger /more urgent issue

Kind regards,

Mark


> 
> Regards,
> Prateek Kohli
> 
> -Original Message-
> From: Mark Thomas  
> Sent: Thursday, May 21, 2020 8:43 PM
> To: users@tomcat.apache.org
> Subject: Re: Http2 tomact server taking time in responding when 1st StreamId 
> is a large integer value like 2147483641
> 
> On 21/05/2020 13:30, Prateek Kohli wrote:
>> Hi,
>>
>> I debugged this further and the problem seems to be because of the below 
>> code in Http2UpgradeHandler class:
>>
>> private void closeIdleStreams(int newMaxActiveRemoteStreamId) throws 
>> Http2Exception {
>> for (int i = maxActiveRemoteStreamId + 2; i < 
>> newMaxActiveRemoteStreamId; i += 2) {
>> Stream stream = getStream(i, false);
>> if (stream != null) {
>> stream.closeIfIdle();
>> }
>> }
>> maxActiveRemoteStreamId = newMaxActiveRemoteStreamId;
>> }
>>
>> When we take 1st StreamId as 2147483641, the above loop takes around 4~5 
>> seconds to execute and hence, the response is delayed.
> 
> That is where I suspected the issue would be but hadn't got around to 
> confirming it. This will get fixed for the next release round (due in a 
> couple of weeks).
> 
> Mark
> 
> 
>>
>> Regards,
>> Prateek Kohli
>>
>> -----Original Message-----
>> From: Manuel Dominguez Sarmiento 
>> Sent: Thursday, May 21, 2020 3:34 PM
>> To: Tomcat Users List ; Prateek Kohli 
>> 
>> Subject: Re: Http2 tomact server taking time in responding when 1st 
>> StreamId is a large integer value like 2147483641
>>
>> I must say that we're also seeing weird, seemingly random response 
>> delays from Tomcat on HTTP/2 We haven't looked into it at such a low 
>> level though. We're currently on
>> 9.0.35 but we've been seeing this on previous versions as well.
>>
>> *Manuel Dominguez Sarmiento*
>>
>> On 21/05/2020 05:32, Prateek Kohli wrote:
>>>
>>> Hello,
>>>
>>> Tomcat version : 9.0.29
>>>
>>> We are running a Tomcat Http2 Server and a Jetty http2 client.
>>>
>>> When we send 1^st request from Jetty client to tomcat server with 
>>> streamId number as 1, tomcat sends the WINDOW_UPDATE header and the 
>>> response in 1~2 milliseconds.
>>>
>>> Packet number 164 is the response in the below tcpdump.
>>>
>>> But when we send the 1st request from jetty client to tomcat server 
>>> with streamId as 2147483641, the 1^st response from tomcat comes 
>>> after almost 5 seconds
>>>
>>> And the response for subsequent requests comes within 1~2 milliseconds.
>>>
>>> In the below tcpdump it can be seen that the response packet number
>>> 167 comes after almost 5 seconds from the tomcat server.
>>>
>>> Would you please be able to explain why the response from tomcat 
>>> server is getting delayed when the 1^st StreamId number is a large 
>>> integer i.e. 2147483641.
>>>
>>> Regards,
>>>
>>> Prateek Kohli
>>>
>>
>>
>> -
>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
>> For additional commands, e-mail: users-h...@tomcat.apache.org
>>
> 
> 
> -
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
> 
> 
> -
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
> 


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



RE: Http2 tomact server taking time in responding when 1st StreamId is a large integer value like 2147483641

2020-05-21 Thread Prateek Kohli
Thanks Mark.

Do we need to raise a bug for this?

Regards,
Prateek Kohli

-Original Message-
From: Mark Thomas  
Sent: Thursday, May 21, 2020 8:43 PM
To: users@tomcat.apache.org
Subject: Re: Http2 tomact server taking time in responding when 1st StreamId is 
a large integer value like 2147483641

On 21/05/2020 13:30, Prateek Kohli wrote:
> Hi,
> 
> I debugged this further and the problem seems to be because of the below code 
> in Http2UpgradeHandler class:
> 
> private void closeIdleStreams(int newMaxActiveRemoteStreamId) throws 
> Http2Exception {
> for (int i = maxActiveRemoteStreamId + 2; i < 
> newMaxActiveRemoteStreamId; i += 2) {
> Stream stream = getStream(i, false);
> if (stream != null) {
> stream.closeIfIdle();
> }
> }
> maxActiveRemoteStreamId = newMaxActiveRemoteStreamId;
> }
> 
> When we take 1st StreamId as 2147483641, the above loop takes around 4~5 
> seconds to execute and hence, the response is delayed.

That is where I suspected the issue would be but hadn't got around to 
confirming it. This will get fixed for the next release round (due in a couple 
of weeks).

Mark


> 
> Regards,
> Prateek Kohli
> 
> -Original Message-
> From: Manuel Dominguez Sarmiento 
> Sent: Thursday, May 21, 2020 3:34 PM
> To: Tomcat Users List ; Prateek Kohli 
> 
> Subject: Re: Http2 tomact server taking time in responding when 1st 
> StreamId is a large integer value like 2147483641
> 
> I must say that we're also seeing weird, seemingly random response 
> delays from Tomcat on HTTP/2 We haven't looked into it at such a low 
> level though. We're currently on
> 9.0.35 but we've been seeing this on previous versions as well.
> 
> *Manuel Dominguez Sarmiento*
> 
> On 21/05/2020 05:32, Prateek Kohli wrote:
>>
>> Hello,
>>
>> Tomcat version : 9.0.29
>>
>> We are running a Tomcat Http2 Server and a Jetty http2 client.
>>
>> When we send 1^st request from Jetty client to tomcat server with 
>> streamId number as 1, tomcat sends the WINDOW_UPDATE header and the 
>> response in 1~2 milliseconds.
>>
>> Packet number 164 is the response in the below tcpdump.
>>
>> But when we send the 1st request from jetty client to tomcat server 
>> with streamId as 2147483641, the 1^st response from tomcat comes 
>> after almost 5 seconds
>>
>> And the response for subsequent requests comes within 1~2 milliseconds.
>>
>> In the below tcpdump it can be seen that the response packet number
>> 167 comes after almost 5 seconds from the tomcat server.
>>
>> Would you please be able to explain why the response from tomcat 
>> server is getting delayed when the 1^st StreamId number is a large 
>> integer i.e. 2147483641.
>>
>> Regards,
>>
>> Prateek Kohli
>>
> 
> 
> -
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
> 


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: Http2 tomact server taking time in responding when 1st StreamId is a large integer value like 2147483641

2020-05-21 Thread Mark Thomas
On 21/05/2020 13:30, Prateek Kohli wrote:
> Hi, 
> 
> I debugged this further and the problem seems to be because of the below code 
> in Http2UpgradeHandler class:
> 
> private void closeIdleStreams(int newMaxActiveRemoteStreamId) throws 
> Http2Exception {
> for (int i = maxActiveRemoteStreamId + 2; i < 
> newMaxActiveRemoteStreamId; i += 2) {
> Stream stream = getStream(i, false);
> if (stream != null) {
> stream.closeIfIdle();
> }
> }
> maxActiveRemoteStreamId = newMaxActiveRemoteStreamId;
> }
> 
> When we take 1st StreamId as 2147483641, the above loop takes around 4~5 
> seconds to execute and hence, the response is delayed.

That is where I suspected the issue would be but hadn't got around to
confirming it. This will get fixed for the next release round (due in a
couple of weeks).

Mark


> 
> Regards,
> Prateek Kohli
> 
> -Original Message-
> From: Manuel Dominguez Sarmiento  
> Sent: Thursday, May 21, 2020 3:34 PM
> To: Tomcat Users List ; Prateek Kohli 
> 
> Subject: Re: Http2 tomact server taking time in responding when 1st StreamId 
> is a large integer value like 2147483641
> 
> I must say that we're also seeing weird, seemingly random response delays 
> from Tomcat on HTTP/2 We haven't looked into it at such a low level though. 
> We're currently on
> 9.0.35 but we've been seeing this on previous versions as well.
> 
> *Manuel Dominguez Sarmiento*
> 
> On 21/05/2020 05:32, Prateek Kohli wrote:
>>
>> Hello,
>>
>> Tomcat version : 9.0.29
>>
>> We are running a Tomcat Http2 Server and a Jetty http2 client.
>>
>> When we send 1^st request from Jetty client to tomcat server with 
>> streamId number as 1, tomcat sends the WINDOW_UPDATE header and the 
>> response in 1~2 milliseconds.
>>
>> Packet number 164 is the response in the below tcpdump.
>>
>> But when we send the 1st request from jetty client to tomcat server 
>> with streamId as 2147483641, the 1^st response from tomcat comes after 
>> almost 5 seconds
>>
>> And the response for subsequent requests comes within 1~2 milliseconds.
>>
>> In the below tcpdump it can be seen that the response packet number
>> 167 comes after almost 5 seconds from the tomcat server.
>>
>> Would you please be able to explain why the response from tomcat 
>> server is getting delayed when the 1^st StreamId number is a large 
>> integer i.e. 2147483641.
>>
>> Regards,
>>
>> Prateek Kohli
>>
> 
> 
> -
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
> 


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



RE: Http2 tomact server taking time in responding when 1st StreamId is a large integer value like 2147483641

2020-05-21 Thread Prateek Kohli
Hi, 

I debugged this further and the problem seems to be because of the below code 
in Http2UpgradeHandler class:

private void closeIdleStreams(int newMaxActiveRemoteStreamId) throws 
Http2Exception {
for (int i = maxActiveRemoteStreamId + 2; i < 
newMaxActiveRemoteStreamId; i += 2) {
Stream stream = getStream(i, false);
if (stream != null) {
stream.closeIfIdle();
}
}
maxActiveRemoteStreamId = newMaxActiveRemoteStreamId;
}

When we take 1st StreamId as 2147483641, the above loop takes around 4~5 
seconds to execute and hence, the response is delayed.

Regards,
Prateek Kohli

-Original Message-
From: Manuel Dominguez Sarmiento  
Sent: Thursday, May 21, 2020 3:34 PM
To: Tomcat Users List ; Prateek Kohli 

Subject: Re: Http2 tomact server taking time in responding when 1st StreamId is 
a large integer value like 2147483641

I must say that we're also seeing weird, seemingly random response delays from 
Tomcat on HTTP/2 We haven't looked into it at such a low level though. We're 
currently on
9.0.35 but we've been seeing this on previous versions as well.

*Manuel Dominguez Sarmiento*

On 21/05/2020 05:32, Prateek Kohli wrote:
>
> Hello,
>
> Tomcat version : 9.0.29
>
> We are running a Tomcat Http2 Server and a Jetty http2 client.
>
> When we send 1^st request from Jetty client to tomcat server with 
> streamId number as 1, tomcat sends the WINDOW_UPDATE header and the 
> response in 1~2 milliseconds.
>
> Packet number 164 is the response in the below tcpdump.
>
> But when we send the 1st request from jetty client to tomcat server 
> with streamId as 2147483641, the 1^st response from tomcat comes after 
> almost 5 seconds
>
> And the response for subsequent requests comes within 1~2 milliseconds.
>
> In the below tcpdump it can be seen that the response packet number
> 167 comes after almost 5 seconds from the tomcat server.
>
> Would you please be able to explain why the response from tomcat 
> server is getting delayed when the 1^st StreamId number is a large 
> integer i.e. 2147483641.
>
> Regards,
>
> Prateek Kohli
>


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: Http2 tomact server taking time in responding when 1st StreamId is a large integer value like 2147483641

2020-05-21 Thread Manuel Dominguez Sarmiento
I must say that we're also seeing weird, seemingly random response 
delays from Tomcat on HTTP/2
We haven't looked into it at such a low level though. We're currently on 
9.0.35 but we've been seeing this on previous versions as well.


*Manuel Dominguez Sarmiento*

On 21/05/2020 05:32, Prateek Kohli wrote:


Hello,

Tomcat version : 9.0.29

We are running a Tomcat Http2 Server and a Jetty http2 client.

When we send 1^st request from Jetty client to tomcat server with 
streamId number as 1, tomcat sends the WINDOW_UPDATE header and the 
response in 1~2 milliseconds.


Packet number 164 is the response in the below tcpdump.

But when we send the 1st request from jetty client to tomcat server 
with streamId as 2147483641, the 1^st response from tomcat comes after 
almost 5 seconds


And the response for subsequent requests comes within 1~2 milliseconds.

In the below tcpdump it can be seen that the response packet number 
167 comes after almost 5 seconds from the tomcat server.


Would you please be able to explain why the response from tomcat 
server is getting delayed when the 1^st StreamId number is a large 
integer i.e. 2147483641.


Regards,

Prateek Kohli





Http2 tomact server taking time in responding when 1st StreamId is a large integer value like 2147483641

2020-05-21 Thread Prateek Kohli
Hello,

Tomcat version : 9.0.29

We are running a Tomcat Http2 Server and a Jetty http2 client.

When we send 1st request from Jetty client to tomcat server with streamId 
number as 1, tomcat sends the WINDOW_UPDATE header and the response in 1~2 
milliseconds.
Packet number 164 is the response in the below tcpdump.

[cid:image001.jpg@01D62F78.71F08F20]


But when we send the 1st request from jetty client to tomcat server with 
streamId as 2147483641, the 1st response from tomcat comes after almost 5 
seconds
And the response for subsequent requests comes within 1~2 milliseconds.

In the below tcpdump it can be seen that the response packet number 167 comes 
after almost 5 seconds from the tomcat server.

[cid:image002.jpg@01D62F78.71F08F20]

Would you please be able to explain why the response from tomcat server is 
getting delayed when the 1st StreamId number is a large integer i.e. 2147483641.

Regards,
Prateek Kohli