Repository: incubator-atlas Updated Branches: refs/heads/master 4b2e6ba9e -> 0596c9fc3
ATLAS-1160 Update Atlas hive hook to read configuration from atlas-application.properties instead of hive-site.xml (mneethiraj via kevalbhatt) Project: http://git-wip-us.apache.org/repos/asf/incubator-atlas/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-atlas/commit/0596c9fc Tree: http://git-wip-us.apache.org/repos/asf/incubator-atlas/tree/0596c9fc Diff: http://git-wip-us.apache.org/repos/asf/incubator-atlas/diff/0596c9fc Branch: refs/heads/master Commit: 0596c9fc3edcd4fbf9dae5a0bedf31e99cabc930 Parents: 4b2e6ba Author: kevalbhatt <[email protected]> Authored: Fri Sep 9 22:15:05 2016 +0530 Committer: kevalbhatt <[email protected]> Committed: Fri Sep 9 22:15:05 2016 +0530 ---------------------------------------------------------------------- .../org/apache/atlas/hive/hook/HiveHook.java | 51 +++++++++++--------- release-log.txt | 1 + 2 files changed, 28 insertions(+), 24 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/0596c9fc/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/HiveHook.java ---------------------------------------------------------------------- diff --git a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/HiveHook.java b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/HiveHook.java index 14359c5..fdd0199 100755 --- a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/HiveHook.java +++ b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/HiveHook.java @@ -97,7 +97,7 @@ public class HiveHook extends AtlasHook implements ExecuteWithHookContext { // wait time determines how long we wait before we exit the jvm on // shutdown. Pending requests after that will not be sent. private static final int WAIT_TIME = 3; - private static ExecutorService executor; + private static ExecutorService executor = null; private static final int minThreadsDefault = 1; private static final int maxThreadsDefault = 5; @@ -110,28 +110,32 @@ public class HiveHook extends AtlasHook implements ExecuteWithHookContext { try { // initialize the async facility to process hook calls. We don't // want to do this inline since it adds plenty of overhead for the query. - int minThreads = atlasProperties.getInt(MIN_THREADS, minThreadsDefault); - int maxThreads = atlasProperties.getInt(MAX_THREADS, maxThreadsDefault); - long keepAliveTime = atlasProperties.getLong(KEEP_ALIVE_TIME, keepAliveTimeDefault); - int queueSize = atlasProperties.getInt(QUEUE_SIZE, queueSizeDefault); - - executor = new ThreadPoolExecutor(minThreads, maxThreads, keepAliveTime, TimeUnit.MILLISECONDS, - new LinkedBlockingQueue<Runnable>(queueSize), - new ThreadFactoryBuilder().setNameFormat("Atlas Logger %d").build()); - - Runtime.getRuntime().addShutdownHook(new Thread() { - @Override - public void run() { - try { - executor.shutdown(); - executor.awaitTermination(WAIT_TIME, TimeUnit.SECONDS); - executor = null; - } catch (InterruptedException ie) { - LOG.info("Interrupt received in shutdown."); + boolean isSync = atlasProperties.getBoolean(CONF_SYNC, Boolean.FALSE); + + if(!isSync) { + int minThreads = atlasProperties.getInt(MIN_THREADS, minThreadsDefault); + int maxThreads = atlasProperties.getInt(MAX_THREADS, maxThreadsDefault); + long keepAliveTime = atlasProperties.getLong(KEEP_ALIVE_TIME, keepAliveTimeDefault); + int queueSize = atlasProperties.getInt(QUEUE_SIZE, queueSizeDefault); + + executor = new ThreadPoolExecutor(minThreads, maxThreads, keepAliveTime, TimeUnit.MILLISECONDS, + new LinkedBlockingQueue<Runnable>(queueSize), + new ThreadFactoryBuilder().setNameFormat("Atlas Logger %d").build()); + + Runtime.getRuntime().addShutdownHook(new Thread() { + @Override + public void run() { + try { + executor.shutdown(); + executor.awaitTermination(WAIT_TIME, TimeUnit.SECONDS); + executor = null; + } catch (InterruptedException ie) { + LOG.info("Interrupt received in shutdown."); + } + // shutdown client } - // shutdown client - } - }); + }); + } setupOperationMap(); } catch (Exception e) { @@ -174,8 +178,7 @@ public class HiveHook extends AtlasHook implements ExecuteWithHookContext { event.setQueryStartTime(hookContext.getQueryPlan().getQueryStartTime()); event.setQueryType(hookContext.getQueryPlan().getQueryPlan().getQueryType()); - boolean sync = conf.get(CONF_SYNC, "false").equals("true"); - if (sync) { + if (executor == null) { fireAndForget(event); } else { executor.submit(new Runnable() { http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/0596c9fc/release-log.txt ---------------------------------------------------------------------- diff --git a/release-log.txt b/release-log.txt index 10765f9..8bbed03 100644 --- a/release-log.txt +++ b/release-log.txt @@ -10,6 +10,7 @@ ATLAS-1060 Add composite indexes for exact match performance improvements for al ATLAS-1127 Modify creation and modification timestamps to Date instead of Long(sumasai) ALL CHANGES: +ATLAS-1160 Update Atlas hive hook to read configuration from atlas-application.properties instead of hive-site.xml (mneethiraj via kevalbhatt) ATLAS-1154 Errors in Eclipse with web.xml (davidrad via dkantor) ATLAS-1147 UI: column name doesn't show up in schema tab for hive table (Kalyanikashikar via kevalbhatt) ATLAS-772 Ordering of columns is not maintained in schema query response, where as hive table entity response maintains the ordering ([email protected] via kevalbhatt)
