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 "Todd Lipcon (JIRA)" <ji...@apache.org> on 2012/07/26 02:42:35 UTC

[jira] [Created] (HADOOP-8624) ProtobufRpcEngine should log all RPCs if TRACE logging is enabled

Todd Lipcon created HADOOP-8624:
-----------------------------------

             Summary: ProtobufRpcEngine should log all RPCs if TRACE logging is enabled
                 Key: HADOOP-8624
                 URL: https://issues.apache.org/jira/browse/HADOOP-8624
             Project: Hadoop Common
          Issue Type: Improvement
          Components: ipc
    Affects Versions: 3.0.0, 2.2.0-alpha
            Reporter: Todd Lipcon
            Assignee: Todd Lipcon
            Priority: Minor


Since all RPC requests/responses are now ProtoBufs, it's easy to add a TRACE level logging output for ProtobufRpcEngine that actually shows the full content of all calls. This is very handy especially when writing/debugging unit tests, but might also be useful to enable at runtime for short periods of time to debug certain production issues.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HADOOP-8624) ProtobufRpcEngine should log all RPCs if TRACE logging is enabled

Posted by "Aaron T. Myers (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HADOOP-8624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13422937#comment-13422937 ] 

Aaron T. Myers commented on HADOOP-8624:
----------------------------------------

+1, the patch looks good to me. I'm confident that the test failure is unrelated.

The javadoc warning is a little curious, though. Any explanation for that?
                
> ProtobufRpcEngine should log all RPCs if TRACE logging is enabled
> -----------------------------------------------------------------
>
>                 Key: HADOOP-8624
>                 URL: https://issues.apache.org/jira/browse/HADOOP-8624
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: ipc
>    Affects Versions: 3.0.0, 2.2.0-alpha
>            Reporter: Todd Lipcon
>            Assignee: Todd Lipcon
>            Priority: Minor
>         Attachments: hadoop-8624.txt
>
>
> Since all RPC requests/responses are now ProtoBufs, it's easy to add a TRACE level logging output for ProtobufRpcEngine that actually shows the full content of all calls. This is very handy especially when writing/debugging unit tests, but might also be useful to enable at runtime for short periods of time to debug certain production issues.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HADOOP-8624) ProtobufRpcEngine should log all RPCs if TRACE logging is enabled

Posted by "Hadoop QA (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HADOOP-8624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13422813#comment-13422813 ] 

Hadoop QA commented on HADOOP-8624:
-----------------------------------

-1 overall.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12537936/hadoop-8624.txt
  against trunk revision .

    +1 @author.  The patch does not contain any @author tags.

    -1 tests included.  The patch doesn't appear to include any new or modified tests.
                        Please justify why no new tests are needed for this patch.
                        Also please list what manual steps were performed to verify this patch.

    +1 javac.  The applied patch does not increase the total number of javac compiler warnings.

    -1 javadoc.  The javadoc tool appears to have generated -2 warning messages.

    +1 eclipse:eclipse.  The patch built with eclipse:eclipse.

    +1 findbugs.  The patch does not introduce any new Findbugs (version 1.3.9) warnings.

    +1 release audit.  The applied patch does not increase the total number of release audit warnings.

    -1 core tests.  The patch failed these unit tests in hadoop-common-project/hadoop-common:

                  org.apache.hadoop.ha.TestZKFailoverController

    +1 contrib tests.  The patch passed contrib unit tests.

Test results: https://builds.apache.org/job/PreCommit-HADOOP-Build/1221//testReport/
Console output: https://builds.apache.org/job/PreCommit-HADOOP-Build/1221//console

This message is automatically generated.
                
> ProtobufRpcEngine should log all RPCs if TRACE logging is enabled
> -----------------------------------------------------------------
>
>                 Key: HADOOP-8624
>                 URL: https://issues.apache.org/jira/browse/HADOOP-8624
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: ipc
>    Affects Versions: 3.0.0, 2.2.0-alpha
>            Reporter: Todd Lipcon
>            Assignee: Todd Lipcon
>            Priority: Minor
>         Attachments: hadoop-8624.txt
>
>
> Since all RPC requests/responses are now ProtoBufs, it's easy to add a TRACE level logging output for ProtobufRpcEngine that actually shows the full content of all calls. This is very handy especially when writing/debugging unit tests, but might also be useful to enable at runtime for short periods of time to debug certain production issues.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HADOOP-8624) ProtobufRpcEngine should log all RPCs if TRACE logging is enabled

Posted by "Todd Lipcon (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HADOOP-8624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13423321#comment-13423321 ] 

Todd Lipcon commented on HADOOP-8624:
-------------------------------------

The javadoc output must be unrelated - it says I fixed 2 warnings, but I didn't modify any javadoc in this patch at all. I'll commit this momentarily.
                
> ProtobufRpcEngine should log all RPCs if TRACE logging is enabled
> -----------------------------------------------------------------
>
>                 Key: HADOOP-8624
>                 URL: https://issues.apache.org/jira/browse/HADOOP-8624
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: ipc
>    Affects Versions: 3.0.0, 2.2.0-alpha
>            Reporter: Todd Lipcon
>            Assignee: Todd Lipcon
>            Priority: Minor
>         Attachments: hadoop-8624.txt
>
>
> Since all RPC requests/responses are now ProtoBufs, it's easy to add a TRACE level logging output for ProtobufRpcEngine that actually shows the full content of all calls. This is very handy especially when writing/debugging unit tests, but might also be useful to enable at runtime for short periods of time to debug certain production issues.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HADOOP-8624) ProtobufRpcEngine should log all RPCs if TRACE logging is enabled

Posted by "Todd Lipcon (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HADOOP-8624?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Todd Lipcon updated HADOOP-8624:
--------------------------------

    Status: Patch Available  (was: Open)
    
> ProtobufRpcEngine should log all RPCs if TRACE logging is enabled
> -----------------------------------------------------------------
>
>                 Key: HADOOP-8624
>                 URL: https://issues.apache.org/jira/browse/HADOOP-8624
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: ipc
>    Affects Versions: 3.0.0, 2.2.0-alpha
>            Reporter: Todd Lipcon
>            Assignee: Todd Lipcon
>            Priority: Minor
>         Attachments: hadoop-8624.txt
>
>
> Since all RPC requests/responses are now ProtoBufs, it's easy to add a TRACE level logging output for ProtobufRpcEngine that actually shows the full content of all calls. This is very handy especially when writing/debugging unit tests, but might also be useful to enable at runtime for short periods of time to debug certain production issues.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HADOOP-8624) ProtobufRpcEngine should log all RPCs if TRACE logging is enabled

Posted by "Todd Lipcon (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HADOOP-8624?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Todd Lipcon updated HADOOP-8624:
--------------------------------

       Resolution: Fixed
    Fix Version/s: 2.2.0-alpha
                   3.0.0
     Hadoop Flags: Reviewed
           Status: Resolved  (was: Patch Available)

Yep, I think this was committed during one of the JIRA outages last month. IT was committed in branch-2@1366128 and trunk@1366127
                
> ProtobufRpcEngine should log all RPCs if TRACE logging is enabled
> -----------------------------------------------------------------
>
>                 Key: HADOOP-8624
>                 URL: https://issues.apache.org/jira/browse/HADOOP-8624
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: ipc
>    Affects Versions: 3.0.0, 2.2.0-alpha
>            Reporter: Todd Lipcon
>            Assignee: Todd Lipcon
>            Priority: Minor
>             Fix For: 3.0.0, 2.2.0-alpha
>
>         Attachments: hadoop-8624.txt
>
>
> Since all RPC requests/responses are now ProtoBufs, it's easy to add a TRACE level logging output for ProtobufRpcEngine that actually shows the full content of all calls. This is very handy especially when writing/debugging unit tests, but might also be useful to enable at runtime for short periods of time to debug certain production issues.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Closed] (HADOOP-8624) ProtobufRpcEngine should log all RPCs if TRACE logging is enabled

Posted by "Arun C Murthy (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HADOOP-8624?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Arun C Murthy closed HADOOP-8624.
---------------------------------

    
> ProtobufRpcEngine should log all RPCs if TRACE logging is enabled
> -----------------------------------------------------------------
>
>                 Key: HADOOP-8624
>                 URL: https://issues.apache.org/jira/browse/HADOOP-8624
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: ipc
>    Affects Versions: 3.0.0, 2.0.2-alpha
>            Reporter: Todd Lipcon
>            Assignee: Todd Lipcon
>            Priority: Minor
>             Fix For: 3.0.0, 2.0.2-alpha
>
>         Attachments: hadoop-8624.txt
>
>
> Since all RPC requests/responses are now ProtoBufs, it's easy to add a TRACE level logging output for ProtobufRpcEngine that actually shows the full content of all calls. This is very handy especially when writing/debugging unit tests, but might also be useful to enable at runtime for short periods of time to debug certain production issues.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HADOOP-8624) ProtobufRpcEngine should log all RPCs if TRACE logging is enabled

Posted by "Eli Collins (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HADOOP-8624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13449042#comment-13449042 ] 

Eli Collins commented on HADOOP-8624:
-------------------------------------

This can be closed right?
                
> ProtobufRpcEngine should log all RPCs if TRACE logging is enabled
> -----------------------------------------------------------------
>
>                 Key: HADOOP-8624
>                 URL: https://issues.apache.org/jira/browse/HADOOP-8624
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: ipc
>    Affects Versions: 3.0.0, 2.2.0-alpha
>            Reporter: Todd Lipcon
>            Assignee: Todd Lipcon
>            Priority: Minor
>         Attachments: hadoop-8624.txt
>
>
> Since all RPC requests/responses are now ProtoBufs, it's easy to add a TRACE level logging output for ProtobufRpcEngine that actually shows the full content of all calls. This is very handy especially when writing/debugging unit tests, but might also be useful to enable at runtime for short periods of time to debug certain production issues.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (HADOOP-8624) ProtobufRpcEngine should log all RPCs if TRACE logging is enabled

Posted by "Todd Lipcon (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HADOOP-8624?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Todd Lipcon updated HADOOP-8624:
--------------------------------

    Attachment: hadoop-8624.txt

This patch implements the above for the client side. I didn't instrument the server side with extra tracing as of yet, but we could do that separately. In the context of unit tests where I"m using this, having one side of the connection is enough to be very useful.

It doesn't include new tests, but here is some example output:

{code}
2012-07-25 17:38:10,313 TRACE ipc.ProtobufRpcEngine (ProtobufRpcEngine.java:invoke(197)) - 46: Call -> null@/127.0.0.1:48275: getJournalState {jid { identifier: "testQuorumJournalManager" }}
2012-07-25 17:38:10,313 TRACE ipc.ProtobufRpcEngine (ProtobufRpcEngine.java:invoke(197)) - 45: Call -> null@/127.0.0.1:46462: getJournalState {jid { identifier: "testQuorumJournalManager" }}
2012-07-25 17:38:10,313 TRACE ipc.ProtobufRpcEngine (ProtobufRpcEngine.java:invoke(197)) - 47: Call -> null@/127.0.0.1:60394: getJournalState {jid { identifier: "testQuorumJournalManager" }}
2012-07-25 17:38:10,354 INFO  server.JournalNode (JournalNode.java:getOrCreateJournal(73)) - Initializing journal in directory build/test/data/dfs/journalnode-0/testQuorumJournalManager
2012-07-25 17:38:10,354 INFO  server.JournalNode (JournalNode.java:getOrCreateJournal(73)) - Initializing journal in directory build/test/data/dfs/journalnode-1/testQuorumJournalManager
2012-07-25 17:38:10,354 INFO  server.JournalNode (JournalNode.java:getOrCreateJournal(73)) - Initializing journal in directory build/test/data/dfs/journalnode-2/testQuorumJournalManager
2012-07-25 17:38:10,361 INFO  common.Storage (Storage.java:analyzeStorage(429)) - Storage directory /home/todd/git/hadoop-common/hadoop-hdfs-project/hadoop-hdfs/build/test/data/dfs/journalnode-0/testQuorumJournalManager does not exist.
2012-07-25 17:38:10,361 INFO  common.Storage (Storage.java:analyzeStorage(429)) - Storage directory /home/todd/git/hadoop-common/hadoop-hdfs-project/hadoop-hdfs/build/test/data/dfs/journalnode-1/testQuorumJournalManager does not exist.
2012-07-25 17:38:10,361 INFO  common.Storage (Storage.java:analyzeStorage(429)) - Storage directory /home/todd/git/hadoop-common/hadoop-hdfs-project/hadoop-hdfs/build/test/data/dfs/journalnode-2/testQuorumJournalManager does not exist.
2012-07-25 17:38:10,363 DEBUG ipc.ProtobufRpcEngine (ProtobufRpcEngine.java:invoke(217)) - Call: getJournalState took 240ms
2012-07-25 17:38:10,363 DEBUG ipc.ProtobufRpcEngine (ProtobufRpcEngine.java:invoke(217)) - Call: getJournalState took 240ms
2012-07-25 17:38:10,363 DEBUG ipc.ProtobufRpcEngine (ProtobufRpcEngine.java:invoke(217)) - Call: getJournalState took 240ms
2012-07-25 17:38:10,364 TRACE ipc.ProtobufRpcEngine (ProtobufRpcEngine.java:invoke(232)) - 47: Response <- null@/127.0.0.1:60394: getJournalState {lastPromisedEpoch: 0 httpPort: 60071}
2012-07-25 17:38:10,364 TRACE ipc.ProtobufRpcEngine (ProtobufRpcEngine.java:invoke(232)) - 45: Response <- null@/127.0.0.1:46462: getJournalState {lastPromisedEpoch: 0 httpPort: 48186}
2012-07-25 17:38:10,364 TRACE ipc.ProtobufRpcEngine (ProtobufRpcEngine.java:invoke(232)) - 46: Response <- null@/127.0.0.1:48275: getJournalState {lastPromisedEpoch: 0 httpPort: 50970}
{code}

The logs make it very clear what's going on under the hood, which helped me debug an issue.
                
> ProtobufRpcEngine should log all RPCs if TRACE logging is enabled
> -----------------------------------------------------------------
>
>                 Key: HADOOP-8624
>                 URL: https://issues.apache.org/jira/browse/HADOOP-8624
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: ipc
>    Affects Versions: 3.0.0, 2.2.0-alpha
>            Reporter: Todd Lipcon
>            Assignee: Todd Lipcon
>            Priority: Minor
>         Attachments: hadoop-8624.txt
>
>
> Since all RPC requests/responses are now ProtoBufs, it's easy to add a TRACE level logging output for ProtobufRpcEngine that actually shows the full content of all calls. This is very handy especially when writing/debugging unit tests, but might also be useful to enable at runtime for short periods of time to debug certain production issues.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira