Uploaded image for project: 'Accumulo'
  1. Accumulo
  2. ACCUMULO-4041

Java reflection eats too much CPU

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.7.0
    • Fix Version/s: 1.6.5, 1.7.1, 1.8.0
    • Component/s: tserver
    • Labels:
      None
    • Environment:

      Ubuntu 15.10, jdk1.8.0_60

      Description

      This is called so many times that it eats too much CPU, even more than the snappy compressor: http://i.imgur.com/vqX4pFi.png
      Perhaps the annotation data should be copied into regular variables which can be accessed without reflection.

      • org.apache.accumulo.core.client.impl.Tables.getZooCache()
      • org.apache.accumulo.server.client.HdfsZooInstance.getZooKeepersSessionTimeOut()
      • org.apache.accumulo.core.conf.AccumuloConfiguration.getTimeInMillis()
      • org.apache.accumulo.core.conf.SiteConfiguration.get()
      • org.apache.accumulo.core.conf.Property.isSensitive()
      • org.apache.accumulo.core.conf.Property.hasAnnotation()
      • java.lang.Class.getField()

        Attachments

        1. ACCUMULO-4041-01.patch
          2 kB
          Eric C. Newton
        2. ACCUMULO-4041-experiment.patch
          2 kB
          Keith Turner
        3. profiling.jpg
          79 kB
          Josh Elser

          Issue Links

            Activity

              People

              • Assignee:
                ecn Eric C. Newton
                Reporter:
                volth Volth
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 50m
                  50m