John Mattucci created ATLAS-391:
-----------------------------------

             Summary: Hive hook fails when capturing create/alter table in hive
                 Key: ATLAS-391
                 URL: https://issues.apache.org/jira/browse/ATLAS-391
             Project: Atlas
          Issue Type: Bug
    Affects Versions: 0.5.1-incubating
         Environment: HDP-2.3.2.0-2950 hdp
centOS 6.7
            Reporter: John Mattucci
            Priority: Critical


Getting the following error as a result of attempting  to create/alter hive 
table and the hive hook fails to create hive_table type in Atlas 

Please note when I attempt to run the query

...:21000/api/atlas/discovery/search/dsl?query= hive_db where name = 'tsz' and 
clusterName = 'primary' it fails with the same error however if I modify the 
query and alter one of param letters to uppercase it runs fine 
...21000/api/atlas/discovery/search/dsl?query= hive_db where name = 'Tsz' and 
clusterName = 'primary'

In the atlas application.log we see the following 

2015-12-15 13:29:06,200 ERROR - [346859523@qtp-240063939-34 - 
25e162ee-56c1-4cb1-ac3a-65f472489c21:] ~ graph rollback due to exception  
(GraphTransactionInterceptor:47)
org.apache.atlas.discovery.DiscoveryException: Invalid expression : hive_db 
where name = 'tsz' and clusterName = 'primary'
        at 
org.apache.atlas.discovery.graph.GraphBackedDiscoveryService.evaluate(GraphBackedDiscoveryService.java:140)
        at 
org.apache.atlas.discovery.graph.GraphBackedDiscoveryService.searchByDSL(GraphBackedDiscoveryService.java:124)
        at 
org.apache.atlas.GraphTransactionInterceptor.invoke(GraphTransactionInterceptor.java:41)
        at 
org.apache.atlas.web.resources.MetadataDiscoveryResource.searchUsingQueryDSL(MetadataDiscoveryResource.java:128)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at 
com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
        at 
com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)
        at 
com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
        at 
com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:288)
        at 
com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
        at 
com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
        at 
com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
        at 
com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
        at 
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1469)
        at 
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1400)
        at 
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1349)
        at 
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1339)
        at 
com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409)
        at 
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:558)
        at 
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:733)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at 
com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:287)
        at 
com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:277)
        at 
com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:182)
        at 
com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
        at 
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:85)
        at 
org.apache.atlas.web.filters.AuditFilter.doFilter(AuditFilter.java:67)
        at 
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
        at 
com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:119)
        at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:133)
        at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:130)
        at 
com.google.inject.servlet.GuiceFilter$Context.call(GuiceFilter.java:203)
        at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:130)
        at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
        at 
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
        at 
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
        at 
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
        at 
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
        at 
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
        at org.mortbay.jetty.Server.handle(Server.java:326)
        at 
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
        at 
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
        at 
org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
        at 
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
Caused by: java.lang.NullPointerException
        at 
org.apache.atlas.repository.graph.GraphBackedMetadataRepository$GraphToTypedInstanceMapper.mapGraphToTypedInstance(GraphBackedMetadataRepository.java:882)
        at 
org.apache.atlas.discovery.graph.DefaultGraphPersistenceStrategy.constructInstance(DefaultGraphPersistenceStrategy.java:149)
        at 
org.apache.atlas.query.GremlinEvaluator$$anonfun$2.apply(GremlinEvaluator.scala:89)
        at 
scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
        at 
scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
        at scala.collection.Iterator$class.foreach(Iterator.scala:727)
        at scala.collection.AbstractIterator.foreach(Iterator.scala:1157)
        at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
        at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
        at scala.collection.TraversableLike$class.map(TraversableLike.scala:244)
        at scala.collection.AbstractTraversable.map(Traversable.scala:105)
        at 
org.apache.atlas.query.GremlinEvaluator.evaluate(GremlinEvaluator.scala:87)
        at 
org.apache.atlas.discovery.graph.GraphBackedDiscoveryService.evaluate(GraphBackedDiscoveryService.java:150)
        at 
org.apache.atlas.discovery.graph.GraphBackedDiscoveryService.evaluate(GraphBackedDiscoveryService.java:135)
        ... 50 more


And in the hive hiveserver2.log we see 


2015-12-15 13:29:06,217 INFO  [Atlas Logger 1]: hook.HiveHook 
(HiveHook.java:run(168)) - Atlas hook failed
org.apache.atlas.AtlasServiceException: Metadata service API SEARCH_DSL failed 
with status 400(Bad Request) Response Body ({"error":"Invalid expression : 
hive_db where name = 'tsz' and clusterName = 
'primary'","stackTrace":"org.apache.atlas.discovery.DiscoveryException: Invalid 
expression : hive_db where name = 'tsz' and clusterName = 'primary'\n\tat 
org.apache.atlas.discovery.graph.GraphBackedDiscoveryService.evaluate(GraphBackedDiscoveryService.java:140)\n\tat
 
org.apache.atlas.discovery.graph.GraphBackedDiscoveryService.searchByDSL(GraphBackedDiscoveryService.java:124)\n\tat
 
org.apache.atlas.GraphTransactionInterceptor.invoke(GraphTransactionInterceptor.java:41)\n\tat
 
org.apache.atlas.web.resources.MetadataDiscoveryResource.searchUsingQueryDSL(MetadataDiscoveryResource.java:128)\n\tat
 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n\tat 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)\n\tat
 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\tat
 java.lang.reflect.Method.invoke(Method.java:606)\n\tat 
com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)\n\tat
 
com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)\n\tat
 
com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)\n\tat
 
com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:288)\n\tat
 
com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)\n\tat
 
com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)\n\tat
 
com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)\n\tat
 
com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)\n\tat
 
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1469)\n\tat
 
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1400)\n\tat
 
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1349)\n\tat
 
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1339)\n\tat
 
com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409)\n\tat
 
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:558)\n\tat
 
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:733)\n\tat
 javax.servlet.http.HttpServlet.service(HttpServlet.java:820)\n\tat 
com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:287)\n\tat
 
com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:277)\n\tat
 
com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:182)\n\tat
 
com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)\n\tat
 
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:85)\n\tat
 org.apache.atlas.web.filters.AuditFilter.doFilter(AuditFilter.java:67)\n\tat 
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)\n\tat
 
com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:119)\n\tat
 com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:133)\n\tat 
com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:130)\n\tat 
com.google.inject.servlet.GuiceFilter$Context.call(GuiceFilter.java:203)\n\tat 
com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:130)\n\tat 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)\n\tat
 org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)\n\tat 
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)\n\tat
 org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)\n\tat 
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)\n\tat 
org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)\n\tat 
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)\n\tat 
org.mortbay.jetty.Server.handle(Server.java:326)\n\tat 
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)\n\tat 
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)\n\tat
 org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)\n\tat 
org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)\n\tat 
org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)\n\tat 
org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)\n\tat
 
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)\nCaused
 by: java.lang.NullPointerException\n\tat 
org.apache.atlas.repository.graph.GraphBackedMetadataRepository$GraphToTypedInstanceMapper.mapGraphToTypedInstance(GraphBackedMetadataRepository.java:882)\n\tat
 
org.apache.atlas.discovery.graph.DefaultGraphPersistenceStrategy.constructInstance(DefaultGraphPersistenceStrategy.java:149)\n\tat
 
org.apache.atlas.query.GremlinEvaluator$$anonfun$2.apply(GremlinEvaluator.scala:89)\n\tat
 
scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)\n\tat
 
scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)\n\tat
 scala.collection.Iterator$class.foreach(Iterator.scala:727)\n\tat 
scala.collection.AbstractIterator.foreach(Iterator.scala:1157)\n\tat 
scala.collection.IterableLike$class.foreach(IterableLike.scala:72)\n\tat 
scala.collection.AbstractIterable.foreach(Iterable.scala:54)\n\tat 
scala.collection.TraversableLike$class.map(TraversableLike.scala:244)\n\tat 
scala.collection.AbstractTraversable.map(Traversable.scala:105)\n\tat 
org.apache.atlas.query.GremlinEvaluator.evaluate(GremlinEvaluator.scala:87)\n\tat
 
org.apache.atlas.discovery.graph.GraphBackedDiscoveryService.evaluate(GraphBackedDiscoveryService.java:150)\n\tat
 
org.apache.atlas.discovery.graph.GraphBackedDiscoveryService.evaluate(GraphBackedDiscoveryService.java:135)\n\t...
 50 more\n"})
        at 
org.apache.atlas.AtlasClient.callAPIWithResource(AtlasClient.java:365)
        at 
org.apache.atlas.AtlasClient.callAPIWithResource(AtlasClient.java:346)
        at org.apache.atlas.AtlasClient.searchByDSL(AtlasClient.java:276)
        at 
org.apache.atlas.hive.bridge.HiveMetaStoreBridge.getEntityReferenceFromDSL(HiveMetaStoreBridge.java:188)
        at 
org.apache.atlas.hive.bridge.HiveMetaStoreBridge.getDatabaseReference(HiveMetaStoreBridge.java:169)
        at 
org.apache.atlas.hive.bridge.HiveMetaStoreBridge.registerDatabase(HiveMetaStoreBridge.java:103)
        at org.apache.atlas.hive.hook.HiveHook.handleCreateDB(HiveHook.java:267)
        at org.apache.atlas.hive.hook.HiveHook.fireAndForget(HiveHook.java:189)
        at org.apache.atlas.hive.hook.HiveHook.access$200(HiveHook.java:54)
        at org.apache.atlas.hive.hook.HiveHook$2.run(HiveHook.java:166)
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to