As I proposed this change let me work on this and propose a patch. Thanks for all the replies.
Stay tuned, Norman > On 5 Oct 2016, at 10:58, Chris Hegarty <chris.hega...@oracle.com> wrote: > > I filed the following issue to track this: > https://bugs.openjdk.java.net/browse/JDK-8167161 > > -Chris. > > On 04/10/16 13:52, David M. Lloyd wrote: >> On 10/04/2016 03:58 AM, Langer, Christoph wrote: >>> Hi, >>> >>> I think I would also support replacing >>> sun.net.ConnectionResetException with a publicly available >>> java.net.ConnectionResetException that subclasses >>> java.net.SocketException. But, as Chris mentions. a usage example >>> would be helpful. >> >> At present you're going to be hard-pressed to find exiting code that >> detects a connection reset IOException. The reason is that, while you >> *can* search for "Connection reset by peer" in the exception message, >> that text varies by platform and, more importantly, by locale. So it is >> essentially impossible to detect reliably. >> >> But Norman's use case is dead on: a connection reset happens under >> common circumstances. In particular, when a TCP socket is closed by the >> peer before the peer has read all pending data, an RST is returned. This >> happens very often - when a peer process is terminated for example, or >> the peer encounters an unrelated exception and terminates the connection >> abruptly, both of which happen very, very commonly in networked >> applications. For servers the choice today is to fill the log with >> meaningless exception traces or lose potentially more serious problems >> (EIO for example is something that almost always indicates Bad Things). >> >> I also support this proposal. >> >>>> -----Original Message----- >>>> From: net-dev [mailto:net-dev-boun...@openjdk.java.net] On Behalf Of >>>> Chris >>>> Hegarty >>>> Sent: Montag, 12. September 2016 17:07 >>>> To: Florian Weimer <fwei...@redhat.com>; Norman Maurer >>>> <norman.mau...@googlemail.com>; net-dev@openjdk.java.net >>>> Subject: Re: Introduce IOException subclass for ECONNRESET >>>> >>>> On 12/09/16 14:50, Florian Weimer wrote: >>>>> On 08/23/2016 09:40 AM, Norman Maurer wrote: >>>>>> Hi all, >>>>>> >>>>>> I first asked this on nio-dev[0] but was asked to move this over to >>>>>> here: >>>>>> >>>>>> I wonder if it would be possible to add a new IOException sub-class >>>>>> for ECONNRESET. Often you receive these errors if a remote peer closed >>>>>> the connection and you try to read from it while using NIO. This is >>>>>> very often not really something that concerns people and can just be >>>>>> handled the same as a “normal close”. >>>> >>>> So what are the other cases, where ECONNRESET may occur? What is >>>> equivalent on non-Unix platforms, Windows for example? >>>> >>>> >> At the moment the only way to >>>>>> detect this is to inspect the IOException message which is really >>>>>> hacky. >>>> >>>> Do you have examples of code that does this today? >>>> >>>>>> I wonder if we could not add a special IOException sub-class >>>>>> for this. Something like: >>>>>> >>>>>> ConnectionResetException extends IOException { >>>>>> } >>>>> >>>>> Shouldn't it be a subclass of SocketException? >>>> >>>> I think it would have to be a subclass of SocketException too, for >>>> compatibility at least, since that is the type that is thrown >>>> today. >>>> >>>> sun.net.ConnectionResetException exists today, but I don't think >>>> that it ever finds its way outside of the implementation. And is >>>> of course not part of Java SE. >>>> >>>> -Chris. >>>> >>> >>