[ 
https://issues.apache.org/jira/browse/OAK-4735?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15487483#comment-15487483
 ] 

Timothee Maret edited comment on OAK-4735 at 9/13/16 3:16 PM:
--------------------------------------------------------------

One observation is that {{f.channel().closeFuture().sync();}} does not actually 
triggers closing the channel, but rather wait until the channel is closed.

I can't reproduce, but what _may_ happen is that the connection timeout is 
miss-configured. If timeouts are disabled and if the client does not write, the 
socket may remain open forever even if the instance at the other side of the 
socket is dead.

By default, it seems the channel is setup with a {{ReadTimeoutHandler}} 
configured to timeout after 60 seconds.
However, it seems the {{ReadTimeoutHandler}} is removed from the pipeline in 
{{org.apache.jackrabbit.oak.segment.standby.client.StandbyClientHandler#setHead}}
 and never set back. This may explain the socket never closing.


was (Author: marett):
One observation is that {{f.channel().closeFuture().sync();}} does not actually 
triggers closing the channel, but rather wait until the channel is closed.

I can't reproduce, but what _may_ happen is that the connection timeout is 
miss-configured. If timeouts are disabled and if the client does not write, the 
socket may remain open forever even if the server is dead.

By default, it seems the channel is setup with a {{ReadTimeoutHandler}} 
configured to timeout after 60 seconds.
However, it seems the {{ReadTimeoutHandler}} is removed from the pipeline in 
{{org.apache.jackrabbit.oak.segment.standby.client.StandbyClientHandler#setHead}}
 and never set back. This may explain the socket never closing. 

> Fix unit tests in DataStoreTestBase
> -----------------------------------
>
>                 Key: OAK-4735
>                 URL: https://issues.apache.org/jira/browse/OAK-4735
>             Project: Jackrabbit Oak
>          Issue Type: Technical task
>          Components: segment-tar
>            Reporter: Andrei Dulceanu
>            Assignee: Andrei Dulceanu
>             Fix For: Segment Tar 0.0.12
>
>         Attachments: OAK-4735-01.patch
>
>
> Currently failing tests (8/8):
> * {{testSync()}}
> * {{testProxySkippedBytes()}}
> * {{testProxySkippedBytesIntermediateChange()}}
> * {{testProxyFlippedStartByte()}}
> * {{testProxyFlippedIntermediateByte()}}
> * {{testProxyFlippedIntermediateByte2()}}
> * {{testProxyFlippedIntermediateByteChange()}}
> * {{testProxyFlippedIntermediateByteChange2()}}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to