On Wed, May 15, 2019 at 2:25 PM Mark Thomas <ma...@apache.org> wrote:

> On 15/05/2019 12:56, r...@apache.org wrote:
> > This is an automated email from the ASF dual-hosted git repository.
> >
> > remm pushed a commit to branch master
> > in repository https://gitbox.apache.org/repos/asf/tomcat.git
> >
> >
> > The following commit(s) were added to refs/heads/master by this push:
> >      new 4691266  Fix build
> > 4691266 is described below
> >
> > commit 4691266ee48f084e0698ef0233036c0089492248
> > Author: remm <r...@apache.org>
> > AuthorDate: Wed May 15 13:56:42 2019 +0200
> >
> >     Fix build
> >
> >     Maybe it isn't such a good idea to remove throws IOException ... I
> can
> >     add it back depending on the feedback, even if it serves no purpose.
>
> My current thinking is that I like it. Close the socket and handle
> (i.e.log) the potential exception in a single place. It isn't as if the
> calling code is going to do anything different depending on whether the
> socket closed cleanly or not.
>

Ok. I'm pretty sure I had removed it in the previous refactoring, but I put
it back in before commit to avoid breaking the API. This time I got lead
from one change to the other and I did make some changes to doClose, so I
left it in.

I revisited the close issue again along with the multiple pollers feature,
since I had looked recently at the ApacheCon 2017 presentation from Huxing
("The Challenges Tomcat Faces in High Throughput Production Systems"), and
I understood that:
- Robust close and recycle is good (no putting channel twice in the stack
...)
- More than one poller helps mess things up
The bugs got fixed some time ago of course (and maybe refixed some more),
but ultimately it is hard to verify and I preferred to remove all that
stuff since it wasn't not needed.

Also it should do item 3 of tomcat-next, except the tracing part.

Rémy


>
> Mark
>
>
> > ---
> >  java/org/apache/coyote/http2/Http2UpgradeHandler.java               | 6
> +-----
> >  .../apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java  | 2
> +-
> >  2 files changed, 2 insertions(+), 6 deletions(-)
> >
> > diff --git a/java/org/apache/coyote/http2/Http2UpgradeHandler.java
> b/java/org/apache/coyote/http2/Http2UpgradeHandler.java
> > index 134e501..585a0e5 100644
> > --- a/java/org/apache/coyote/http2/Http2UpgradeHandler.java
> > +++ b/java/org/apache/coyote/http2/Http2UpgradeHandler.java
> > @@ -1066,11 +1066,7 @@ class Http2UpgradeHandler extends AbstractStream
> implements InternalHttpUpgradeH
> >              // longer required (also notifies any threads waiting for
> allocations).
> >              stream.receiveReset(Http2Error.CANCEL.getCode());
> >          }
> > -        try {
> > -            socketWrapper.close();
> > -        } catch (IOException ioe) {
> > -            log.debug(sm.getString("upgradeHandler.socketCloseFailed"),
> ioe);
> > -        }
> > +        socketWrapper.close();
> >      }
> >
> >
> > diff --git
> a/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java
> b/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java
> > index 301d25c..0cd91ef 100644
> > ---
> a/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java
> > +++
> b/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java
> > @@ -220,7 +220,7 @@ public class WsRemoteEndpointImplServer extends
> WsRemoteEndpointImplBase {
> >          }
> >          try {
> >              socketWrapper.close();
> > -        } catch (IOException e) {
> > +        } catch (Exception e) {
> >              if (log.isInfoEnabled()) {
> >                  
> > log.info(sm.getString("wsRemoteEndpointServer.closeFailed"),
> e);
> >              }
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> > For additional commands, e-mail: dev-h...@tomcat.apache.org
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: dev-h...@tomcat.apache.org
>
>

Reply via email to