[
https://issues.apache.org/jira/browse/HADOOP-12605?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15062057#comment-15062057
]
Masatake Iwasaki commented on HADOOP-12605:
-------------------------------------------
bq. Also, the failure happens for checkBlocking(1, 1, 1), so I'll discuss this
case here for simplicity. With the firstCallLatch in place in the test, I
didn't find anywhere the server can accept more connections.
Newly created {{Client}} sends client context whose call id is -3 at first.
Given the first message is processed by
{{Connection#processRpcOutOfBandRequest}} which does not use {{callQueue}},
reader thread taking the connection out of {{pendingConnections}} and
processing the connection context (in {{Reader#doRunLoop}}) will not block on
callQueue even if callQueue is filled. There is a chance for additional
connections to be taken out of {{pendingConnections}} before reader blocks on
the second message from the clients.
{code}
if (callId < 0) { // callIds typically used during connection setup
processRpcOutOfBandRequest(header, dis);
} else if (!connectionContextRead) {
throw new WrappedRpcServerException(
RpcErrorCodeProto.FATAL_INVALID_RPC_HEADER,
"Connection context not established");
} else {
processRpcRequest(header, dis);
}
{code}
> Fix intermittent failure of TestIPC.testIpcWithReaderQueuing
> ------------------------------------------------------------
>
> Key: HADOOP-12605
> URL: https://issues.apache.org/jira/browse/HADOOP-12605
> Project: Hadoop Common
> Issue Type: Bug
> Components: test
> Reporter: Masatake Iwasaki
> Assignee: Masatake Iwasaki
> Priority: Minor
> Attachments: HADOOP-12605.001.patch
>
>
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)