Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
Reviewed
Description
updating priority is blocked when using FairScheduler, the command is as follows:
bin/yarn application -appId application_1550834280474_0003 -updatePriority 500
The RM rpc handler thread is blocked in the future.get(), although FairScheduler does not support priority currently, it is not friendly to user when executing updatePriority.
The trace of handler is:
"IPC Server handler 44 on 18040" #258 daemon prio=5 os_prio=0 tid=0x00007f8e65701000 nid=0x1b9f1 waiting on condition [0x00007f8e29123000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x0000000671f13da0> (a com.google.common.util.concurrent.AbstractFuture$Sync) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836) at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:997) at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304) at com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:275) at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:111) at org.apache.hadoop.yarn.server.resourcemanager.RMAppManager.getChecked(RMAppManager.java:225) at org.apache.hadoop.yarn.server.resourcemanager.RMAppManager.updateApplicationPriority(RMAppManager.java:734) - locked <0x000000067872ed98> (a org.apache.hadoop.yarn.api.records.impl.pb.ApplicationIdPBImpl) at org.apache.hadoop.yarn.server.resourcemanager.ClientRMService.updateApplicationPriority(ClientRMService.java:1658) at org.apache.hadoop.yarn.api.impl.pb.service.ApplicationClientProtocolPBServiceImpl.updateApplicationPriority(ApplicationClientProtocolPBServiceImpl.java:622) at org.apache.hadoop.yarn.proto.ApplicationClientProtocol$ApplicationClientProtocolService$2.callBlockingMethod(ApplicationClientProtocol.java:659) at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:524) at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:1025) at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:881) at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:827) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:422) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1844) at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2699)