You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Todd Lipcon (JIRA)" <ji...@apache.org> on 2012/05/02 04:30:48 UTC

[jira] [Created] (HBASE-5912) org.apache.hadoop.hbase.ipc.ProtocolSignature.getFingerprint takes significant CPU

Todd Lipcon created HBASE-5912:
----------------------------------

             Summary: org.apache.hadoop.hbase.ipc.ProtocolSignature.getFingerprint takes significant CPU
                 Key: HBASE-5912
                 URL: https://issues.apache.org/jira/browse/HBASE-5912
             Project: HBase
          Issue Type: Improvement
          Components: ipc, performance
    Affects Versions: 0.94.1
            Reporter: Todd Lipcon
            Assignee: Todd Lipcon


I ran oprofile on a YCSB client and found that a large percentage of the CPU time was going to this function:

51991     0.4913  25361.jo                 java                     java.lang.reflect.Method[] java.lang.Class.copyMethods(java.lang.reflect.Method[])
51384     0.4856  25361.jo                 java                     int org.apache.hadoop.hbase.ipc.ProtocolSignature.getFingerprint(java.lang.reflect.Method)
50428     0.4766  25361.jo                 java                     void java.util.Arrays.sort1(int[], int, int)

We should introduce a simple cache to avoid this overhead.

--
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] (HBASE-5912) org.apache.hadoop.hbase.ipc.ProtocolSignature.getFingerprint takes significant CPU

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

Todd Lipcon commented on HBASE-5912:
------------------------------------

I think the test failures are unrelated, even though TestServerCustomProtocol sounds like something that would be related
                
> org.apache.hadoop.hbase.ipc.ProtocolSignature.getFingerprint takes significant CPU
> ----------------------------------------------------------------------------------
>
>                 Key: HBASE-5912
>                 URL: https://issues.apache.org/jira/browse/HBASE-5912
>             Project: HBase
>          Issue Type: Improvement
>          Components: ipc, performance
>    Affects Versions: 0.94.1
>            Reporter: Todd Lipcon
>            Assignee: Todd Lipcon
>         Attachments: hbase-5912.txt
>
>
> I ran oprofile on a YCSB client and found that a large percentage of the CPU time was going to this function:
> 51991     0.4913  25361.jo                 java                     java.lang.reflect.Method[] java.lang.Class.copyMethods(java.lang.reflect.Method[])
> 51384     0.4856  25361.jo                 java                     int org.apache.hadoop.hbase.ipc.ProtocolSignature.getFingerprint(java.lang.reflect.Method)
> 50428     0.4766  25361.jo                 java                     void java.util.Arrays.sort1(int[], int, int)
> We should introduce a simple cache to avoid this overhead.

--
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] (HBASE-5912) org.apache.hadoop.hbase.ipc.ProtocolSignature.getFingerprint takes significant CPU

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

Hadoop QA commented on HBASE-5912:
----------------------------------

-1 overall.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12525251/hbase-5912.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 hadoop23.  The patch compiles against the hadoop 0.23.x profile.

    +1 javadoc.  The javadoc tool did not generate any warning messages.

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

    -1 findbugs.  The patch appears to introduce 1 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:
                       org.apache.hadoop.hbase.regionserver.TestServerCustomProtocol
                  org.apache.hadoop.hbase.master.TestSplitLogManager

Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/1716//testReport/
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/1716//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html
Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/1716//console

This message is automatically generated.
                
> org.apache.hadoop.hbase.ipc.ProtocolSignature.getFingerprint takes significant CPU
> ----------------------------------------------------------------------------------
>
>                 Key: HBASE-5912
>                 URL: https://issues.apache.org/jira/browse/HBASE-5912
>             Project: HBase
>          Issue Type: Improvement
>          Components: ipc, performance
>    Affects Versions: 0.94.1
>            Reporter: Todd Lipcon
>            Assignee: Todd Lipcon
>         Attachments: hbase-5912.txt
>
>
> I ran oprofile on a YCSB client and found that a large percentage of the CPU time was going to this function:
> 51991     0.4913  25361.jo                 java                     java.lang.reflect.Method[] java.lang.Class.copyMethods(java.lang.reflect.Method[])
> 51384     0.4856  25361.jo                 java                     int org.apache.hadoop.hbase.ipc.ProtocolSignature.getFingerprint(java.lang.reflect.Method)
> 50428     0.4766  25361.jo                 java                     void java.util.Arrays.sort1(int[], int, int)
> We should introduce a simple cache to avoid this overhead.

--
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] (HBASE-5912) org.apache.hadoop.hbase.ipc.ProtocolSignature.getFingerprint takes significant CPU

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

Todd Lipcon updated HBASE-5912:
-------------------------------

    Status: Patch Available  (was: Open)
    
> org.apache.hadoop.hbase.ipc.ProtocolSignature.getFingerprint takes significant CPU
> ----------------------------------------------------------------------------------
>
>                 Key: HBASE-5912
>                 URL: https://issues.apache.org/jira/browse/HBASE-5912
>             Project: HBase
>          Issue Type: Improvement
>          Components: ipc, performance
>    Affects Versions: 0.94.1
>            Reporter: Todd Lipcon
>            Assignee: Todd Lipcon
>         Attachments: hbase-5912.txt
>
>
> I ran oprofile on a YCSB client and found that a large percentage of the CPU time was going to this function:
> 51991     0.4913  25361.jo                 java                     java.lang.reflect.Method[] java.lang.Class.copyMethods(java.lang.reflect.Method[])
> 51384     0.4856  25361.jo                 java                     int org.apache.hadoop.hbase.ipc.ProtocolSignature.getFingerprint(java.lang.reflect.Method)
> 50428     0.4766  25361.jo                 java                     void java.util.Arrays.sort1(int[], int, int)
> We should introduce a simple cache to avoid this overhead.

--
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] (HBASE-5912) org.apache.hadoop.hbase.ipc.ProtocolSignature.getFingerprint takes significant CPU

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

Todd Lipcon updated HBASE-5912:
-------------------------------

    Attachment: hbase-5912.txt
    
> org.apache.hadoop.hbase.ipc.ProtocolSignature.getFingerprint takes significant CPU
> ----------------------------------------------------------------------------------
>
>                 Key: HBASE-5912
>                 URL: https://issues.apache.org/jira/browse/HBASE-5912
>             Project: HBase
>          Issue Type: Improvement
>          Components: ipc, performance
>    Affects Versions: 0.94.1
>            Reporter: Todd Lipcon
>            Assignee: Todd Lipcon
>         Attachments: hbase-5912.txt
>
>
> I ran oprofile on a YCSB client and found that a large percentage of the CPU time was going to this function:
> 51991     0.4913  25361.jo                 java                     java.lang.reflect.Method[] java.lang.Class.copyMethods(java.lang.reflect.Method[])
> 51384     0.4856  25361.jo                 java                     int org.apache.hadoop.hbase.ipc.ProtocolSignature.getFingerprint(java.lang.reflect.Method)
> 50428     0.4766  25361.jo                 java                     void java.util.Arrays.sort1(int[], int, int)
> We should introduce a simple cache to avoid this overhead.

--
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] (HBASE-5912) org.apache.hadoop.hbase.ipc.ProtocolSignature.getFingerprint takes significant CPU

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

Todd Lipcon commented on HBASE-5912:
------------------------------------

Adding a simple cache dropped the CPU time for my million-read workload on 0.94 from 1m40s to 1m30s, and improved average latency by a few % as well.
                
> org.apache.hadoop.hbase.ipc.ProtocolSignature.getFingerprint takes significant CPU
> ----------------------------------------------------------------------------------
>
>                 Key: HBASE-5912
>                 URL: https://issues.apache.org/jira/browse/HBASE-5912
>             Project: HBase
>          Issue Type: Improvement
>          Components: ipc, performance
>    Affects Versions: 0.94.1
>            Reporter: Todd Lipcon
>            Assignee: Todd Lipcon
>         Attachments: hbase-5912.txt
>
>
> I ran oprofile on a YCSB client and found that a large percentage of the CPU time was going to this function:
> 51991     0.4913  25361.jo                 java                     java.lang.reflect.Method[] java.lang.Class.copyMethods(java.lang.reflect.Method[])
> 51384     0.4856  25361.jo                 java                     int org.apache.hadoop.hbase.ipc.ProtocolSignature.getFingerprint(java.lang.reflect.Method)
> 50428     0.4766  25361.jo                 java                     void java.util.Arrays.sort1(int[], int, int)
> We should introduce a simple cache to avoid this overhead.

--
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