YARN-10726. Log the size of DelegationTokenRenewer event queue in case of too many pending events. Contributed by Qi Zhu.
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/security/DelegationTokenRenewer.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/security/DelegationTokenRenewer.java
index b4da08f..d8368eb 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/security/DelegationTokenRenewer.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/security/DelegationTokenRenewer.java
@@ -89,6 +89,8 @@
       new Text("HDFS_DELEGATION_TOKEN");
   public static final String SCHEME = "hdfs";
 
+  private volatile int lastEventQueueSizeLogged = 0;
+
   // global single timer (daemon)
   private Timer renewalTimer;
   private RMContext rmContext;
@@ -228,6 +230,13 @@
         futures.put(evt, future);
       } else {
         pendingEventQueue.add(evt);
+        int qSize = pendingEventQueue.size();
+        if (qSize != 0 && qSize % 1000 == 0
+            && lastEventQueueSizeLogged != qSize) {
+          lastEventQueueSizeLogged = qSize;
+          LOG.info("Size of pending " +
+              "DelegationTokenRenewerEvent queue is " + qSize);
+        }
       }
     } finally {
       serviceStateLock.readLock().unlock();