Review Board 1.7.22


HIVE-4513 - disable hivehistory logs by default

Review Request #11029 - Created May 9, 2013 and updated

Thejas Nair
HIVE-4513
Reviewers
hive
hive-git
HiveHistory log files (hive_job_log_hive_*.txt files) store information about hive query such as query string, plan , counters and MR job progress information.

There is no mechanism to delete these files and as a result they get accumulated over time, using up lot of disk space. 
I don't think this is used by most people, so I think it would better to turn this off by default. Jobtracker logs already capture most of this information, though it is not as structured as history logs.

The change :
A new config parameter hive.session.history.enabled controls if the history-log is enabled. By default it is set to false.
SessionState initializes the HiveHIstory object. When this config is set to false, it creates a Proxy object that does not do anything. I did this instead of having SessionState return null, because that would add null checks in too many places. This keeps the code cleaner and avoids possibility of NPE.
As the proxy only works against interfaces, i created a HiveHistory interface, moved the implementation to HiveHistoryImpl. static functions were moved to HiveHistoryUtil .


 
Total:
1
Open:
0
Resolved:
0
Dropped:
1
Status:
From:
Description From Last Updated Status
Review request changed
Updated (Aug. 10, 2013, 4:24 p.m.)
HIVE-4513.6.patch - addresses review comments. Fixes race condition that was causing the TestHiveServerSessions.testSessionVars test failure.