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