You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Andrew Sherman (JIRA)" <ji...@apache.org> on 2017/07/19 19:55:00 UTC

[jira] [Created] (HIVE-17128) Operation Logging leaks file descriptors as the log4j Appender is never closed

Andrew Sherman created HIVE-17128:
-------------------------------------

             Summary: Operation Logging leaks file descriptors as the log4j Appender is never closed
                 Key: HIVE-17128
                 URL: https://issues.apache.org/jira/browse/HIVE-17128
             Project: Hive
          Issue Type: Bug
          Components: Logging
            Reporter: Andrew Sherman
            Assignee: Andrew Sherman


[HIVE-16061] and [HIVE-16400] changed operation logging to use the Log4j2 RoutingAppender to automatically output the log for each query into each individual operation log file. As log4j does not know when a query is finished it keeps the OutputStream in the Appender open even when the query completes. The stream holds a file descriptor and so we leak file descriptors. Note that we are already careful to close any streams reading from the operation log file.

h2. Fix

To fix this we use a technique described in [LOG4J2-510] which uses reflection to close the appender. The test in TestOperationLoggingLayout will be extended to check that the Appender is closed.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)