Na Li created ATLAS-3204: ---------------------------- Summary: HMS hook fails to process create_table event due to ATLAS-3197 Key: ATLAS-3204 URL: https://issues.apache.org/jira/browse/ATLAS-3204 Project: Atlas Issue Type: New Feature Components: atlas-core Affects Versions: 2.0.0 Reporter: Na Li
ATLAS-3197 creates Hive DDL entity even in HMS hook when processing create_table event, where the HiveContext is null. That causes NullPointerException. The fix should generate AtlasEntity based on its in HiveHook or HMS hook. {code} 2019-05-09 23:15:37,936 ERROR - [main:] ~ HiveMetastoreHook.handleEvent(org.apache.hadoop.hive.metastore.events.CreateTableEvent@1850f2da): failed to process operation {} (HiveMetastoreHookImpl$HiveMetastoreHook:169) java.lang.NullPointerException at org.apache.atlas.hive.hook.events.BaseHiveEvent.createHiveDDLEntity(BaseHiveEvent.java:692) at org.apache.atlas.hive.hook.events.BaseHiveEvent.createHiveDDLEntity(BaseHiveEvent.java:671) at org.apache.atlas.hive.hook.events.CreateTable.processTable(CreateTable.java:153) at org.apache.atlas.hive.hook.events.CreateTable.getHiveMetastoreEntities(CreateTable.java:77) at org.apache.atlas.hive.hook.events.CreateTable.getNotificationMessages(CreateTable.java:52) at org.apache.atlas.hive.hook.HiveMetastoreHookImpl$HiveMetastoreHook.handleEvent(HiveMetastoreHookImpl.java:166) at org.apache.atlas.hive.hook.HiveMetastoreHookImpl.onCreateTable(HiveMetastoreHookImpl.java:77) at org.apache.hadoop.hive.metastore.MetaStoreListenerNotifier$20.notify(MetaStoreListenerNotifier.java:92) at org.apache.hadoop.hive.metastore.MetaStoreListenerNotifier.notifyEvent(MetaStoreListenerNotifier.java:267) at org.apache.hadoop.hive.metastore.MetaStoreListenerNotifier.notifyEvent(MetaStoreListenerNotifier.java:329) at org.apache.hadoop.hive.metastore.MetaStoreListenerNotifier.notifyEvent(MetaStoreListenerNotifier.java:367) at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.create_table_core(HiveMetaStore.java:1999) at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.create_table_core(HiveMetaStore.java:1786) at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.create_table_with_environment_context(HiveMetaStore.java:2035) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.hadoop.hive.metastore.RetryingHMSHandler.invokeInternal(RetryingHMSHandler.java:147) at org.apache.hadoop.hive.metastore.RetryingHMSHandler.invoke(RetryingHMSHandler.java:108) at com.sun.proxy.$Proxy28.create_table_with_environment_context(Unknown Source) at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.create_table_with_environment_context(HiveMetaStoreClient.java:2867) at org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient.create_table_with_environment_context(SessionHiveMetaStoreClient.java:121) at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.createTable(HiveMetaStoreClient.java:837) at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.createTable(HiveMetaStoreClient.java:822) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.invoke(RetryingMetaStoreClient.java:212) at com.sun.proxy.$Proxy29.createTable(Unknown Source) at org.apache.hadoop.hive.ql.metadata.Hive.createTable(Hive.java:921) at org.apache.hadoop.hive.ql.metadata.Hive.createTable(Hive.java:937) at org.apache.hadoop.hive.ql.exec.DDLTask.createTable(DDLTask.java:4954) at org.apache.hadoop.hive.ql.exec.DDLTask.execute(DDLTask.java:428) at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:205) at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:97) at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:2664) at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:2335) at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:2011) at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1709) at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1698) at org.apache.atlas.impala.ImpalaLineageITBase.runCommandWithDelay(ImpalaLineageITBase.java:234) at org.apache.atlas.impala.ImpalaLineageITBase.runCommandWithDelay(ImpalaLineageITBase.java:229) at org.apache.atlas.impala.ImpalaLineageITBase.runCommand(ImpalaLineageITBase.java:225) at org.apache.atlas.impala.ImpalaLineageITBase.createTable(ImpalaLineageITBase.java:174) at org.apache.atlas.impala.ImpalaLineageITBase.createTable(ImpalaLineageITBase.java:170) at org.apache.atlas.impala.ImpalaLineageITBase.createTable(ImpalaLineageITBase.java:165) at org.apache.atlas.impala.hook.ImpalaLineageHookIT.testCreateView(ImpalaLineageHookIT.java:61) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:85) at org.testng.internal.Invoker.invokeMethod(Invoker.java:659) at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:845) at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1153) at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125) at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:108) at org.testng.TestRunner.privateRun(TestRunner.java:771) at org.testng.TestRunner.run(TestRunner.java:621) at org.testng.SuiteRunner.runTest(SuiteRunner.java:357) at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:352) at org.testng.SuiteRunner.privateRun(SuiteRunner.java:310) at org.testng.SuiteRunner.run(SuiteRunner.java:259) at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) at org.testng.TestNG.runSuitesSequentially(TestNG.java:1199) at org.testng.TestNG.runSuitesLocally(TestNG.java:1124) at org.testng.TestNG.run(TestNG.java:1032) at org.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:72) {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)