Repository: ambari Updated Branches: refs/heads/branch-feature-AMBARI-18901 4942deaf5 -> 5c239d11d
AMBARI-18955. Cleanup 'LLAP package' folder(s) before a given Hive Server Interactive (HSI) start/restart. Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/5c239d11 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/5c239d11 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/5c239d11 Branch: refs/heads/branch-feature-AMBARI-18901 Commit: 5c239d11dac96f72e205b819ac6527712a2b0c19 Parents: 4942dea Author: Swapan Shridhar <[email protected]> Authored: Mon Nov 21 16:47:00 2016 -0800 Committer: Swapan Shridhar <[email protected]> Committed: Mon Nov 21 17:04:32 2016 -0800 ---------------------------------------------------------------------- .../package/scripts/hive_server_interactive.py | 35 ++++++++++++++++++++ 1 file changed, 35 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/5c239d11/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_server_interactive.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_server_interactive.py b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_server_interactive.py index 2c6d4b0..00e5fc1 100644 --- a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_server_interactive.py +++ b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_server_interactive.py @@ -269,6 +269,9 @@ class HiveServerInteractiveDefault(HiveServerInteractive): Logger.info("LLAP app '{0}' is not running. llap will be started.".format(LLAP_APP_NAME)) pass + # Call for cleaning up the earlier run(s) LLAP package folders. + self._cleanup_past_llap_package_dirs() + Logger.info("Starting LLAP") LLAP_PACKAGE_CREATION_PATH = Script.get_tmp_dir() @@ -342,6 +345,38 @@ class HiveServerInteractiveDefault(HiveServerInteractive): raise """ + Checks and deletes previous run 'LLAP package' folders, ignoring three latest packages. + Last three are are ignore for debugging/reference purposes. + Helps in keeping check on disk space used. + """ + def _cleanup_past_llap_package_dirs(self): + try: + import params + Logger.info("Determining previous run 'LLAP package' folder(s) to be deleted ....") + llap_package_folder_name_prefix = "llap-slider" # Package name is like : llap-sliderYYYY-MM-DD-HH:MM:SS + num_folders_to_retain = 3 # Hardcoding it as of now, as no considerable use was found to provide an env param. + file_names = [dir_name for dir_name in os.listdir(Script.get_tmp_dir()) + if dir_name.startswith(llap_package_folder_name_prefix)] + + file_names.sort() + del file_names[-num_folders_to_retain:] # Ignore 'num_folders_to_retain' latest package folders. + Logger.info("Previous run 'LLAP package' folder(s) to be deleted = {0}".format(file_names)) + + if file_names: + for path in file_names: + abs_path = Script.get_tmp_dir()+"/"+path + if os.path.isdir(abs_path): + shutil.rmtree(abs_path) + Logger.info("Deleted previous run 'LLAP package' folder : {0}".format(abs_path)) + else: + Logger.info("No '{0}*' folder deleted.".format(llap_package_folder_name_prefix)) + except Exception as e: + Logger.info("Exception while doing cleanup for past 'LLAP package(s)'.") + traceback.print_exc() + + + + """ Does kinit and copies keytab for Hive/LLAP to HDFS. """ def setup_security(self):
