Sorry I just noticed this would better be asked on nio.dev. Will ask there.

Bye
Norman


> On 11. May 2018, at 20:10, Norman Maurer <norman.mau...@googlemail.com> wrote:
> 
> Hi all,
> 
> I recently started to test Netty [1] with Java11 and found that we have two 
> tests that are currently failing due some changes in Java 11 compared to 
> earlier versions.
> 
> I wanted to get your thoughts on the behaviour changes:
> 
> 1) SocketChannelImpl.close() will trigger shutdown(…,SHUT_WR) if the channel 
> is connected before do the actual close(…).
> 
> This is different to earlier version where it was just closed via close(…). 
> We noticed this because we have a unit test that basically set SO_LINGER 0 
> and verifies that the remote peer sees a ECONNRESET when channel is closed. 
> This is not the case here anymore as the shutdown will cause an EOF. 
> I wonder depending on the connection reset is just plain wrong from our side 
> as its an implementation detail, but at least it was super surprising to me 
> that a shutdown(…) was called during the close operation. Especially as 
> shutdownOutput() is exposed directly as well.
> 
> 
> 2) SocketChannelImpl.close() will not directly close the fd but add it to a 
> queue that will be processed by the Selector.
> 
> Again this is different to earlier versions and had the effect that one test 
> failed that expected that the fd is really closed when close() returns. 
> 
> 
> I worked around these differences via [2] but I wanted to ask if this is 
> expected.
> 
> 
> Java version:
> 
> java version "11-ea" 2018-09-25
> Java(TM) SE Runtime Environment 18.9 (build 11-ea+12)
> Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11-ea+12, mixed mode)
> 
> 
> [1] http://netty.io <http://netty.io/>
> [2] https://github.com/netty/netty/pull/7926 
> <https://github.com/netty/netty/pull/7926>
> 
> 

Reply via email to