tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Filip Hanik - Dev Lists <devli...@hanik.com>
Subject Re: svn commit: r416444 [1/2] - in /tomcat/tc6.0.x/trunk/java/org/apache: coyote/http11/Http11NioProcessor.java coyote/http11/InternalNioInputBuffer.java tomcat/util/net/NioEndpoint.java
Date Thu, 22 Jun 2006 20:06:21 GMT
Thanks for the help on this.
I am now catching those exceptions, I have the correct speed, but after 
the test is done, the poller is going ape-sh#@ and takes 100% of cpu, 
making future tests really slow.
I need to figure out why it isn't letting go of the connections

Filip

Remy Maucherat wrote:
> fhanik@apache.org wrote:
>> Author: fhanik
>> Date: Thu Jun 22 12:05:02 2006
>> New Revision: 416444
>>
>> URL: http://svn.apache.org/viewvc?rev=416444&view=rev
>> Log:
>> Fix so that we don't do a busy read, instead we are properly doing a 
>> NIO poller wait
>> This way, we can achieve blocking read, without wasting CPU cycles.
>> Since we are using Java 5, I will be changing this implementation 
>> from using synchronized to using the Exchanger, this is also to avoid 
>> anyi locks that can happen. For example, in the current 
>> implementation the poller can call notify before we have had a chance 
>> to call wait
>
> This is a little bit better (2300 r/s now), but:
> - I get some cancelled key exceptions (most likely they could be caught):
> 22 juin 2006 21:32:38 org.apache.tomcat.util.net.NioEndpoint$Poller 
> events
> GRAVE:
> java.nio.channels.CancelledKeyException
>         at sun.nio.ch.SelectionKeyImpl.ensureValid(Unknown Source)
>         at sun.nio.ch.SelectionKeyImpl.interestOps(Unknown Source)
>         at 
> org.apache.coyote.http11.InternalNioInputBuffer$1.run(InternalNioInputBuffer.java:573)

>
>         at 
> org.apache.tomcat.util.net.NioEndpoint$Poller.events(NioEndpoint.java:1120) 
>
>         at 
> org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:1176)
>         at java.lang.Thread.run(Unknown Source)
> - I get a problem in the poller thread after a while:
> Exception in thread "http-8081-Poller-0" java.lang.NullPointerException
>         at sun.nio.ch.WindowsSelectorImpl$FdMap.remove(Unknown Source)
>         at sun.nio.ch.WindowsSelectorImpl$FdMap.access$3000(Unknown 
> Source)
>         at sun.nio.ch.WindowsSelectorImpl.implDereg(Unknown Source)
>         at sun.nio.ch.SelectorImpl.processDeregisterQueue(Unknown Source)
>         at sun.nio.ch.WindowsSelectorImpl.doSelect(Unknown Source)
>         at sun.nio.ch.SelectorImpl.lockAndDoSelect(Unknown Source)
>         at sun.nio.ch.SelectorImpl.select(Unknown Source)
>         at 
> org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:1182)
>         at java.lang.Thread.run(Unknown Source)
>
> However, performance without keepalive (no -k) is down.
>
> Rémy
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: dev-help@tomcat.apache.org
>
>


-- 


Filip Hanik

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Mime
View raw message