You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "András Győri (Jira)" <ji...@apache.org> on 2022/02/24 17:35:00 UTC
[jira] [Commented] (HADOOP-18143) toString method of RpcCall throws IllegalArgumentException
[ https://issues.apache.org/jira/browse/HADOOP-18143?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17497588#comment-17497588 ]
András Győri commented on HADOOP-18143:
---------------------------------------
Created a PR for it, in which I wrap the affected functions with a mutex. As getRequestHeader is more like getOrCreateRequestHeader, I did not see the benefit of dividing the lock as separate read/write locks (as in both methods we would just end up using the write lock anyway). Not sure whether it is acceptable in terms of performance.
cc [~vinayakumarb]
> toString method of RpcCall throws IllegalArgumentException
> ----------------------------------------------------------
>
> Key: HADOOP-18143
> URL: https://issues.apache.org/jira/browse/HADOOP-18143
> Project: Hadoop Common
> Issue Type: Bug
> Reporter: András Győri
> Assignee: András Győri
> Priority: Critical
> Labels: pull-request-available
> Time Spent: 10m
> Remaining Estimate: 0h
>
> We have observed breaking tests such as TestApplicationACLs. We have located the root cause, which is HADOOP-18082. It seems that there is a concurrency issue within ProtobufRpcEngine2. When using a debugger, the missing fields are there, hence the suspicion of concurrency problem. The stack trace:
> {noformat}
> java.lang.IllegalArgumentException
> at java.nio.Buffer.position(Buffer.java:244)
> at org.apache.hadoop.ipc.RpcWritable$ProtobufWrapper.readFrom(RpcWritable.java:131)
> at org.apache.hadoop.ipc.RpcWritable$Buffer.getValue(RpcWritable.java:232)
> at org.apache.hadoop.ipc.ProtobufRpcEngine2$RpcProtobufRequest.getRequestHeader(ProtobufRpcEngine2.java:645)
> at org.apache.hadoop.ipc.ProtobufRpcEngine2$RpcProtobufRequest.toString(ProtobufRpcEngine2.java:663)
> at java.lang.String.valueOf(String.java:3425)
> at java.lang.StringBuilder.append(StringBuilder.java:516)
> at org.apache.hadoop.ipc.Server$RpcCall.toString(Server.java:1328)
> at java.lang.String.valueOf(String.java:3425)
> at java.lang.StringBuilder.append(StringBuilder.java:516)
> at org.apache.hadoop.ipc.Server$Handler.run(Server.java:3097){noformat}
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: common-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-issues-help@hadoop.apache.org