okumin commented on code in PR #5562:
URL: https://github.com/apache/hive/pull/5562#discussion_r1862206780


##########
ql/src/java/org/apache/hadoop/hive/ql/exec/mapjoin/MapJoinMemoryExhaustionHandler.java:
##########
@@ -96,7 +96,12 @@ public void checkMemoryStatus(long tableContainerSize, long 
numRows)
         + tableContainerSize + "\tMemory usage:\t" + usedMemory + 
"\tpercentage:\t" + percentageNumberFormat.format(percentage);
     console.printInfo(msg);
     if(percentage > maxMemoryUsage) {
-      throw new MapJoinMemoryExhaustionError(msg);
+      System.gc();

Review Comment:
   First, I might not have sufficient knowledge to give this +1. I've never 
faced this error.
   Reading the source code, I found that only Hive on MapReduce uses 
`MemoryExhaustionChecker`. So, not only LLAP but also Tez are not involved with 
this error. My original concern, i.e., the entire LLAP daemon could get 
degraded, is gone.
   But I am still wondering why Hive on MapReduce needs 
`MemoryExhaustionChecker`. We may remove the class and let MapReduce crush with 
OOM when creating a giant hash table.



-- 
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.

To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org
For additional commands, e-mail: gitbox-h...@hive.apache.org

Reply via email to