[
https://issues.apache.org/jira/browse/OAK-4735?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15487483#comment-15487483
]
Timothee Maret commented on OAK-4735:
-------------------------------------
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)