[ https://issues.apache.org/jira/browse/HBASE-17676?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15878058#comment-15878058 ]
Hudson commented on HBASE-17676: -------------------------------- SUCCESS: Integrated in Jenkins build HBase-Trunk_matrix #2550 (See [https://builds.apache.org/job/HBase-Trunk_matrix/2550/]) HBASE-17676 Get class name once for all in AbstractFSWAL (liyu: rev 93e60153b0cef83ff6dafc03d771c9d41a23dc3a) * (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.java > Get class name once for all in AbstractFSWAL > -------------------------------------------- > > Key: HBASE-17676 > URL: https://issues.apache.org/jira/browse/HBASE-17676 > Project: HBase > Issue Type: Improvement > Components: Performance > Affects Versions: 2.0 > Reporter: Yu Li > Assignee: Yu Li > Fix For: 2.0 > > Attachments: HBASE-17676.patch, HBASE-17676.v2.patch, > HBASE-17676.v3.patch > > > While verifying HBASE-17471 with high write workload, observed several > handler thread at getting class name in jstack, as shown below: > {noformat} > "B.defaultRpcServer.handler=60,queue=3,port=16020" daemon prio=10 > tid=0x00007f0673835800 nid=0x4dec runnable [0x00007f06721b5000] > java.lang.Thread.State: RUNNABLE > at java.lang.Class.getEnclosingMethod0(Native Method) > at java.lang.Class.getEnclosingMethodInfo(Class.java:964) > at java.lang.Class.getEnclosingClass(Class.java:1137) > at java.lang.Class.getSimpleBinaryName(Class.java:1282) > at java.lang.Class.getSimpleName(Class.java:1174) > at > org.apache.hadoop.hbase.regionserver.wal.FSHLog.stampSequenceIdAndPublishToRingBuffer(FSHLog.java:1251) > at > org.apache.hadoop.hbase.regionserver.wal.FSHLog.append(FSHLog.java:1238) > at > org.apache.hadoop.hbase.regionserver.HRegion.doMiniBatchMutation(HRegion.java:3173) > at > org.apache.hadoop.hbase.regionserver.HRegion.batchMutate(HRegion.java:2874) > at > org.apache.hadoop.hbase.regionserver.HRegion.batchMutate(HRegion.java:2814) > at > org.apache.hadoop.hbase.regionserver.RSRpcServices.doBatchOp(RSRpcServices.java:823) > at > org.apache.hadoop.hbase.regionserver.RSRpcServices.doNonAtomicRegionMutation(RSRpcServices.java:785) > at > org.apache.hadoop.hbase.regionserver.RSRpcServices.multi(RSRpcServices.java:2259) > at > org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:32213) > at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:848) > at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:102) > at > org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:133) > at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:108) > at java.lang.Thread.run(Thread.java:756) > {noformat} > We could get the class name in constructor and use it for all places needed. -- This message was sent by Atlassian JIRA (v6.3.15#6346)