atlas-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ayub Khan (JIRA)" <j...@apache.org>
Subject [jira] [Created] (ATLAS-285) Hive process lineage graph API request is broken, it always returns 404.
Date Thu, 05 Nov 2015 19:39:27 GMT
Ayub Khan created ATLAS-285:
-------------------------------

             Summary: Hive process lineage graph API request is broken, it always returns
404.
                 Key: ATLAS-285
                 URL: https://issues.apache.org/jira/browse/ATLAS-285
             Project: Atlas
          Issue Type: Bug
    Affects Versions: 0.5-incubating
            Reporter: Ayub Khan
            Assignee: Erik Bergenholtz


Hive process lineage graph API request is broken, it always returns 404.

1. Hive: create table as select 
create table table_1265 as select employee.salary as salary from employee

2. Check the table is created in ATLAS
{noformat}
curl 'http://localhost:21000/api/atlas/entities/ff0d1738-d672-4906-a761-4ea419f58518' -H 'Accept:
application/json, text/plain, */*' -H 'Connection: keep-alive' -H 'Accept-Encoding: gzip,
deflate, sdch' -H 'Referer: http://localhost:21000/' -H 'Accept-Language: en-US,en;q=0.8'
-H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML,
like Gecko) Chrome/46.0.2490.80 Safari/537.36' --compressed | python -m json.tool
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1399    0  1399    0     0  35155      0 --:--:-- --:--:-- --:--:-- 35871
{
    "GUID": "ff0d1738-d672-4906-a761-4ea419f58518",
    "definition": {
        "id": {
            "id": "ff0d1738-d672-4906-a761-4ea419f58518",
            "jsonClass": "org.apache.atlas.typesystem.json.InstanceSerialization$_Id",
            "typeName": "hive_table",
            "version": 0
        },
        "jsonClass": "org.apache.atlas.typesystem.json.InstanceSerialization$_Reference",
        "traitNames": [],
        "traits": {},
        "typeName": "hive_table",
        "values": {
            "columns": [
                {
                    "id": {
                        "id": "823df549-29ae-4926-bb46-4f4c73c4657a",
                        "jsonClass": "org.apache.atlas.typesystem.json.InstanceSerialization$_Id",
                        "typeName": "hive_column",
                        "version": 0
                    },
                    "jsonClass": "org.apache.atlas.typesystem.json.InstanceSerialization$_Reference",
                    "traitNames": [],
                    "traits": {},
                    "typeName": "hive_column",
                    "values": {
                        "comment": null,
                        "name": "salary",
                        "type": "string"
                    }
                }
            ],
            "comment": null,
            "createTime": 1446751132,
            "db": {
                "id": "37199c37-919e-499c-b7df-d14aad02a67f",
                "jsonClass": "org.apache.atlas.typesystem.json.InstanceSerialization$_Id",
                "typeName": "hive_db",
                "version": 0
            },
            "description": null,
            "lastAccessTime": 0,
            "name": "primary.default.table_1265",
            "owner": "apathan",
            "parameters": {
                "COLUMN_STATS_ACCURATE": "true",
                "numFiles": "1",
                "numRows": "0",
                "rawDataSize": "0",
                "totalSize": "0",
                "transient_lastDdlTime": "1446751132"
            },
            "partitionKeys": null,
            "retention": 0,
            "sd": null,
            "tableName": "table_1265",
            "tableType": "MANAGED_TABLE",
            "temporary": false,
            "viewExpandedText": null,
            "viewOriginalText": null
        }
    },
    "requestId": "qtp1610708593-14 - 65774a18-33e9-4195-8ad4-914e20dd59f8"
}
{noformat}


3. Now query for the corresponding hive process graph, it always returns 404..

{noformat}
curl -v 'http://localhost:21000/api/atlas/lineage/hive/table/create%20table%20table_1265%20as%20select%20employee.salary%20as%20salary%20from%20employee/outputs/graph'
-H 'Accept: application/json, text/plain, */*' -H 'Connection: keep-alive' -H 'Accept-Encoding:
gzip, deflate, sdch' -H 'Referer: http://localhost:21000/' -H 'Accept-Language: en-US,en;q=0.8'
-H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML,
like Gecko) Chrome/46.0.2490.80 Safari/537.36' --compressed
*   Trying ::1...
* Connected to localhost (::1) port 21000 (#0)
> GET /api/atlas/lineage/hive/table/create%20table%20table_1265%20as%20select%20employee.salary%20as%20salary%20from%20employee/outputs/graph
HTTP/1.1
> Host: localhost:21000
> Accept: application/json, text/plain, */*
> Connection: keep-alive
> Accept-Encoding: gzip, deflate, sdch
> Referer: http://localhost:21000/
> Accept-Language: en-US,en;q=0.8
> User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML,
like Gecko) Chrome/46.0.2490.80 Safari/537.36
>
< HTTP/1.1 404 Not Found
< Date: Thu, 05 Nov 2015 19:35:57 GMT
< Content-Type: application/json; charset=UTF-8
< Transfer-Encoding: chunked
< Server: Jetty(9.2.12.v20150709)
<
{"error":"create table table_1265 as select employee.salary as salary from employee does not
exist","stackTrace":"org.apache.atlas.repository.EntityNotFoundException: create table table_1265
as select employee.salary as salary from employee does not exist\n\tat org.apache.atlas.discovery.HiveLineageService.validateTableExists(HiveLineageService.java:216)\n\tat
org.apache.atlas.discovery.HiveLineageService.getOutputsGraph(HiveLineageService.java:135)\n\tat
org.apache.atlas.GraphTransactionInterceptor.invoke(GraphTransactionInterceptor.java:42)\n\tat
org.apache.atlas.web.resources.HiveLineageResource.outputsGraph(HiveLineageResource.java:113)\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:790)\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.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)\n\tat
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)\n\tat org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)\n\tat
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)\n\tat org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)\n\tat
org.eclipse.jetty.server.* Connection #0 to host localhost left intact
handler.ContextHandler.doHandle(ContextHandler.java:1127)\n\tat org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)\n\tat
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)\n\tat org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)\n\tat
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)\n\tat org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)\n\tat
org.eclipse.jetty.server.Server.handle(Server.java:499)\n\tat org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)\n\tat
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)\n\tat org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)\n\tat
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)\n\tat org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)\n\tat
java.lang.Thread.run(Thread.java:745)\n"}
{noformat}



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

Mime
View raw message