Browse Source

HADOOP-13854. KMS should log error details in KMSExceptionsProvider.

(cherry picked from commit c4b5c32669423b9a792f33f9f8333d95528f2515)
Xiao Chen 8 năm trước cách đây
mục cha
commit
aaf533e8a0

+ 1 - 1
hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMS.java

@@ -70,7 +70,7 @@ public class KMS {
   private KeyProviderCryptoExtension provider;
   private KMSAudit kmsAudit;
 
-  private static final Logger LOG = LoggerFactory.getLogger(KMS.class);
+  static final Logger LOG = LoggerFactory.getLogger(KMS.class);
 
   public KMS() throws Exception {
     provider = KMSWebApp.getKeyProvider();

+ 4 - 0
hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSExceptionsProvider.java

@@ -43,6 +43,7 @@ import java.io.IOException;
 public class KMSExceptionsProvider implements ExceptionMapper<Exception> {
   private static Logger LOG =
       LoggerFactory.getLogger(KMSExceptionsProvider.class);
+  private final static Logger EXCEPTION_LOG = KMS.LOG;
 
   private static final String ENTER = System.getProperty("line.separator");
 
@@ -100,6 +101,9 @@ public class KMSExceptionsProvider implements ExceptionMapper<Exception> {
           KMSMDCFilter.getMethod(),
           KMSMDCFilter.getURL(), getOneLineMessage(exception));
     }
+    EXCEPTION_LOG.warn("User {} request {} {} caused exception.",
+        KMSMDCFilter.getUgi(), KMSMDCFilter.getMethod(),
+        KMSMDCFilter.getURL(), exception);
     return createResponse(status, throwable);
   }