void shutDown() {
      synchronized (monitor) {
        shutdown = true;
        monitor.notifyAll();
      }
    }
Move the operation log into another log location that different from the dir created by
{@link HiveSessionImpl#setOperationLogSessionDir(File)},
this will avoid the operation log being cleaned when session/operation is closed, refer to
{@link HiveSessionImpl#close()}, so we can get the operation log handy for further optimization
and investigation after query completes.
The tree under the log location looks like:
- ${@link SessionManager#operationLogRootDir}_historic
   - hostname_thriftPort_startTime
      - sessionId
         - queryId (the operation log file)
<p>
while the origin tree would like:
- ${@link SessionManager#operationLogRootDir}
   - sessionId
      - queryId (the operation log file)
<p>
The removals of the operation log and log session dir are managed by a daemon called {@link OperationLogDirCleaner},
it scans through the historic log root dir for the expired operation logs, the operation log is being expired
and can be removed when the operation's query info does not cached in  {@link QueryInfoCache} and cannot be found
on the webui. If the log session dir has no operation logs under it and the session is closed,
then the cleaner will cleanup the log session dir.
service/src/java/org/apache/hive/service/cli/operation/OperationLogManager.java