[ 
https://issues.apache.org/jira/browse/TEZ-4157?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17100367#comment-17100367
 ] 

Jonathan Turner Eagles commented on TEZ-4157:
---------------------------------------------

It can be difficult to debug Http as java does things under the hood without 
logging. I have tried to debug by enabling logging in sun's http code.

Here are the instructions to enable logging.

{noformat}
$ cat tez-plugins/tez-aux-services/src/test/resources/logging.properties
handlers= java.util.logging.ConsoleHandler
java.util.logging.ConsoleHandler.level = FINEST
sun.net.www.protocol.http.HttpURLConnection.level=ALL
{noformat}

I then instructed the IDE to enable logging using this properties file
{noformat:title=jvm}
-Djava.util.logging.config.file=/Users/jeagles/hadoop/tez/tez-plugins/tez-aux-services/src/test/resources/logging.properties
{noformat}

{noformat:title=First connect}
May 05, 2020 7:46:21 PM sun.net.www.protocol.http.HttpURLConnection 
plainConnect0
FINEST: ProxySelector Request for 
http://127.0.0.1:57603/mapOutput?job=job_12345_1&dag=1&reduce=1&map=attempt_12345_1_m_1_0
May 05, 2020 7:46:21 PM sun.net.www.protocol.http.HttpURLConnection 
plainConnect0
FINEST: Proxy used: DIRECT
May 05, 2020 7:46:21 PM sun.net.www.protocol.http.HttpURLConnection 
writeRequests
FINE: sun.net.www.MessageHeader@d737b897 pairs: {GET 
/mapOutput?job=job_12345_1&dag=1&reduce=1&map=attempt_12345_1_m_1_0 HTTP/1.1: 
null}{name: mapreduce}{version: 1.0.0}{User-Agent: Java/1.8.0_202}{Host: 
127.0.0.1:57603}{Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; 
q=.2}{Connection: keep-alive}
{noformat}

{noformat:title=First response}
May 05, 2020 7:46:21 PM sun.net.www.http.HttpClient logFinest
FINEST: KeepAlive stream used: 
http://127.0.0.1:57603/mapOutput?job=job_12345_1&dag=1&reduce=1&map=attempt_12345_1_m_1_0
May 05, 2020 7:46:21 PM sun.net.www.protocol.http.HttpURLConnection 
getInputStream0
FINE: sun.net.www.MessageHeader@8519cb44 pairs: {null: HTTP/1.1 200 
OK}{Content-Length: 2900000}{Connection: keep-alive}{keep-alive: timeout=60}
May 05, 2020 7:46:21 PM sun.net.www.protocol.http.HttpURLConnection 
plainConnect0
FINEST: ProxySelector Request for 
http://127.0.0.1:57603/mapOutput?job=job_12345_1&dag=1&reduce=1&map=attempt_12345_1_m_1_0&keepAlive=true
May 05, 2020 7:46:21 PM sun.net.www.http.HttpClient logFinest
FINEST: KeepAlive stream retrieved from the cache, 
sun.net.www.http.HttpClient(http://127.0.0.1:57603/mapOutput?job=job_12345_1&dag=1&reduce=1&map=attempt_12345_1_m_1_0)
May 05, 2020 7:46:21 PM sun.net.www.protocol.http.HttpURLConnection 
plainConnect0
FINEST: Proxy used: DIRECT
May 05, 2020 7:46:21 PM sun.net.www.protocol.http.HttpURLConnection 
writeRequests
FINE: sun.net.www.MessageHeader@35dab4eb7 pairs: {GET 
/mapOutput?job=job_12345_1&dag=1&reduce=1&map=attempt_12345_1_m_1_0&keepAlive=true
 HTTP/1.1: null}{name: mapreduce}{version: 1.0.0}{User-Agent: 
Java/1.8.0_202}{Host: 127.0.0.1:57603}{Accept: text/html, image/gif, 
image/jpeg, *; q=.2, */*; q=.2}{Connection: keep-alive}
{noformat}

{noformat:title=Second connect}
May 05, 2020 7:46:21 PM sun.net.www.protocol.http.HttpURLConnection 
getInputStream0
FINE: sun.net.www.MessageHeader@2d901eb01 pairs: {Content-type: unknown/unknown}

java.io.IOException: Invalid Http response

        at 
sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1606)
        at 
sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)
        at 
org.apache.tez.auxservices.TestShuffleHandler.testKeepAlive(TestShuffleHandler.java:461)
{noformat}

> ShuffleHandler: upgrade to netty4
> ---------------------------------
>
>                 Key: TEZ-4157
>                 URL: https://issues.apache.org/jira/browse/TEZ-4157
>             Project: Apache Tez
>          Issue Type: Bug
>            Reporter: László Bodor
>            Assignee: László Bodor
>            Priority: Major
>         Attachments: TEZ-4157.01.patch, TEZ-4157.02.patch
>
>
> -In the dependency tree, there are 2 occurrences of compile scope direct 
> netty dependencies, however, they're not used at all. I compiled locally 
> successfully without them. E.g. when investigating blackduck alerts 
> (complaining about netty deps for current 3.10.5.Final), it would be cleaner 
> to start from a dependency tree where Tez doesn't depend on netty directly in 
> order to eliminate its responsibility (and move the focus to underlying 
> hadoop for instance).-
> Tez depends on netty3 almost only in ShuffleHandler and some related classes. 
> We can eliminate netty3 by upgrading it, but this effort might involve some 
> testing due to fundamental [changes from 
> netty3->netty4|https://netty.io/wiki/new-and-noteworthy-in-4.0.html] + we 
> don't have a reference yet, as [hadoop's 
> ShuffleHandler|https://github.com/apache/hadoop/blob/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-shuffle/src/main/java/org/apache/hadoop/mapred/ShuffleHandler.java]
>  is still on netty3.
> As per the netty documentation, we can also expect some performance 
> improvement (e.g. Pooled buffers).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to