[ https://issues.apache.org/jira/browse/HBASE-19338?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16264808#comment-16264808 ]
Chia-Ping Tsai commented on HBASE-19338: ---------------------------------------- Could we use [orElseGet|https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html#orElseGet-java.util.function.Supplier-] to rewrite the patch? It is simpler and more graceful I think. > Performance regression in RegionServerRpcQuotaManager to get ugi > ----------------------------------------------------------------- > > Key: HBASE-19338 > URL: https://issues.apache.org/jira/browse/HBASE-19338 > Project: HBase > Issue Type: Improvement > Affects Versions: 3.0.0, 2.0.0-beta-2 > Reporter: binlijin > Assignee: binlijin > Priority: Critical > Attachments: 19338.master.003.patch, HBASE-19338.master.001.patch, > HBASE-19338.master.002.patch > > > we find hbase-2.0.0-beta-1.SNAPSHOT have performance regression with yscb put > and have some finding. > {code} > "RpcServer.default.FPBQ.Fifo.handler=131,queue=17,port=16020" #245 daemon > prio=5 os_prio=0 tid=0x00007fc82b22e000 nid=0x3a5db waiting for monitor entry > [0x00007fc50fafa000] > java.lang.Thread.State: BLOCKED (on object monitor) > at > org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:647) > - waiting to lock <0x00007fcaedc20830> (a java.lang.Class for > org.apache.hadoop.security.UserGroupInformation) > at > org.apache.hadoop.hbase.security.User$SecureHadoopUser.<init>(User.java:264) > at org.apache.hadoop.hbase.security.User.getCurrent(User.java:162) > at > org.apache.hadoop.hbase.quotas.RegionServerRpcQuotaManager.checkQuota(RegionServerRpcQuotaManager.java:179) > at > org.apache.hadoop.hbase.quotas.RegionServerRpcQuotaManager.checkQuota(RegionServerRpcQuotaManager.java:162) > at > org.apache.hadoop.hbase.regionserver.RSRpcServices.multi(RSRpcServices.java:2521) > at > org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:41560) > at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:406) > at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:130) > at > org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:325) > at > org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:305) > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)