[ 
https://issues.apache.org/jira/browse/HDDS-1954?focusedWorklogId=293349&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-293349
 ]

ASF GitHub Bot logged work on HDDS-1954:
----------------------------------------

                Author: ASF GitHub Bot
            Created on: 12/Aug/19 20:01
            Start Date: 12/Aug/19 20:01
    Worklog Time Spent: 10m 
      Work Description: adoroszlai commented on pull request #1283: HDDS-1954. 
StackOverflowError in OzoneClientInvocationHandler
URL: https://github.com/apache/hadoop/pull/1283
 
 
   ## What changes were proposed in this pull request?
   
   Including `proxy` in the trace message causes stack overflow, since it 
results in a call to `proxy.toString()`, which also wants to log, etc.
   
   I would also argue that `target` is more interesting for logging than 
`proxy`: eg. `org.apache.hadoop.ozone.client.rpc.RpcClient@5c3d4f05` vs. 
`com.sun.proxy.$Proxy87`.
   
   https://issues.apache.org/jira/browse/HDDS-1954
   
   ## How was this patch tested?
   
   Set root log level to TRACE and ran some integration tests via Maven (eg. 
`TestOzoneRpcClientWithRatis`).  Verified that `surefire-reports` has no 
`StackOverflowError`, but has messages like:
   
   ```
   TRACE client.OzoneClient (OzoneClientInvocationHandler.java:invoke(51)) - 
Invoking method public abstract org.apache.hadoop.ozone.client.OzoneVolume 
org.apache.hadoop.ozone.client.protocol.ClientProtocol.getVolumeDetails(java.lang.String)
 throws java.io.IOException on target 
org.apache.hadoop.ozone.client.rpc.RpcClient@5c3d4f05
   ```
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
-------------------

            Worklog Id:     (was: 293349)
            Time Spent: 10m
    Remaining Estimate: 0h

> StackOverflowError in OzoneClientInvocationHandler
> --------------------------------------------------
>
>                 Key: HDDS-1954
>                 URL: https://issues.apache.org/jira/browse/HDDS-1954
>             Project: Hadoop Distributed Data Store
>          Issue Type: Bug
>          Components: Ozone Client
>            Reporter: Doroszlai, Attila
>            Assignee: Doroszlai, Attila
>            Priority: Trivial
>              Labels: pull-request-available
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Happens if log level for {{org.apache.hadoop.ozone.client}} is set to TRACE.
> {code}
> SLF4J: Failed toString() invocation on an object of type 
> [com.sun.proxy.$Proxy85]
> Reported exception:
> java.lang.StackOverflowError
> ...
>       at org.slf4j.impl.Log4jLoggerAdapter.trace(Log4jLoggerAdapter.java:156)
>       at 
> org.apache.hadoop.ozone.client.OzoneClientInvocationHandler.invoke(OzoneClientInvocationHandler.java:51)
>       at com.sun.proxy.$Proxy85.toString(Unknown Source)
>       at 
> org.slf4j.helpers.MessageFormatter.safeObjectAppend(MessageFormatter.java:299)
>       at 
> org.slf4j.helpers.MessageFormatter.deeplyAppendParameter(MessageFormatter.java:271)
>       at 
> org.slf4j.helpers.MessageFormatter.arrayFormat(MessageFormatter.java:233)
>       at 
> org.slf4j.helpers.MessageFormatter.arrayFormat(MessageFormatter.java:173)
>       at org.slf4j.helpers.MessageFormatter.format(MessageFormatter.java:151)
>       at org.slf4j.impl.Log4jLoggerAdapter.trace(Log4jLoggerAdapter.java:156)
>       at 
> org.apache.hadoop.ozone.client.OzoneClientInvocationHandler.invoke(OzoneClientInvocationHandler.java:51)
>       at com.sun.proxy.$Proxy85.toString(Unknown Source)
> ...
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org

Reply via email to