tillrohrmann commented on a change in pull request #11408: 
[FLINK-15989][FLINK-16225] Improve direct and metaspace out-of-memory error 
handling
URL: https://github.com/apache/flink/pull/11408#discussion_r395652754
 
 

 ##########
 File path: flink-core/src/main/java/org/apache/flink/util/ExceptionUtils.java
 ##########
 @@ -109,6 +131,59 @@ public static boolean 
isJvmFatalOrOutOfMemoryError(Throwable t) {
                return isJvmFatalError(t) || t instanceof OutOfMemoryError;
        }
 
+       /**
+        * Generates new {@link OutOfMemoryError} with more detailed message.
+        *
+        * <p>This method improves error message for direct and metaspace 
{@link OutOfMemoryError}.
+        * It adds description of possible causes and ways of resolution.
+        *
+        * @param exception The exception to enrich.
+        * @return either enriched exception if needed or the original one.
+        */
+       public static Throwable enrichTaskManagerOutOfMemoryError(Throwable 
exception) {
+               if (isMetaspaceOutOfMemoryError(exception)) {
+                       return changeOutOfMemoryErrorMessage(exception, 
TM_METASPACE_OOM_ERROR_MESSAGE);
+               } else if (isDirectOutOfMemoryError(exception)) {
+                       return changeOutOfMemoryErrorMessage(exception, 
TM_DIRECT_OOM_ERROR_MESSAGE);
+               }
+               return exception;
+       }
+
+       private static OutOfMemoryError changeOutOfMemoryErrorMessage(Throwable 
exception, String newMessage) {
 
 Review comment:
   Maybe we should only change the message iff `exception.getClass() == 
OutOfMemoryError.class`.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to