atlas-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "David Kantor (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ATLAS-474) Server does not start if the type is updated with same super type class information
Date Thu, 03 Mar 2016 14:58:18 GMT

    [ https://issues.apache.org/jira/browse/ATLAS-474?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15177910#comment-15177910
] 

David Kantor commented on ATLAS-474:
------------------------------------

[~shwethags] Agreed that super types should be a set in the type system, and I will make that
change and re-submit.  However, the type store fix is still needed, as the problem of duplicate
edges from type store updates was not limited to super types.  Currently, a type system update
ends up duplicating all edges, including edges for attributes.  The other duplicate edges
are not fatal to system startup and so have existed undetected since day one.  There is specific
checking for duplicate super types in TypeSystem.TransientTypeSystem.validateSuperTypes()
and that is what causes the server startup issue described in this bug.  The type system vertices
are not duplicated during an update because there is a check to prevent duplicates in GraphBackedTypeStore.createVertex().
 There was no such check in GraphBackedTypeStore.addEdge(), and as result, duplicate edges
were written.  So I believe the existence check fix that I've added there is still needed.

> Server does not start if the type is updated with same super type class information
> -----------------------------------------------------------------------------------
>
>                 Key: ATLAS-474
>                 URL: https://issues.apache.org/jira/browse/ATLAS-474
>             Project: Atlas
>          Issue Type: Bug
>    Affects Versions: trunk
>         Environment: sandbox
>            Reporter: Chethana
>            Assignee: David Kantor
>            Priority: Blocker
>         Attachments: rb44100.patch
>
>
> Create a class with a superType class.
> Use update API and do not change the request used.
> Restart atlas server 
> Fails with exception
> K":1},"pattern":"static","timestamp":"1454921806183"} stored data: {"version":1,"subscription":{"ATLAS_HOOK":1},"pattern":"static","timestamp":"1454921372384"}
(ZkUtils$:68)
> 2016-02-09 00:00:02,149 INFO  - [ZkClient-EventThread-91-localhost:9026:] ~ I wrote this
conflicted ephemeral node [{"version":1,"subscription":{"ATLAS_HOOK":1},"pattern":"static","timestamp":"1454921806183"}]
at /consumers/atlas/ids/atlas_Chethanas-MBP.local-1454412213224-de1ce8e6 a while back in a
different session, hence I will backoff for this node to be deleted by Zookeeper and retry
(ZkUtils$:68)
> 2016-02-09 00:00:02,554 INFO  - [ProcessThread(sid:0 cport:-1)::] ~ Got user-level KeeperException
when processing sessionid:0x152a1b9238e0051 type:create cxid:0x3f0bf zxid:0x1c0ec txntype:-1
reqpath:n/a Error Path:/consumers/atlas/ids/atlas_Chethanas-MBP.local-1454412213224-de1ce8e6
Error:KeeperErrorCode = NodeExists for /consumers/atlas/ids/atlas_Chethanas-MBP.local-1454412213224-de1ce8e6
(PrepRequest...skipping...
>         at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
>         at org.eclipse.jetty.server.Server.doStart(Server.java:354)
>         at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
>         at org.apache.atlas.web.service.EmbeddedServer.start(EmbeddedServer.java:88)
>         at org.apache.atlas.Atlas.main(Atlas.java:107)
> Caused by: java.lang.RuntimeException: org.apache.atlas.AtlasException: Type classa3ozcd7yra
extends superType superClassa3ozcd7yra multiple times
>         at org.apache.atlas.services.DefaultMetadataService.restoreTypeSystem(DefaultMetadataService.java:113)
>         at org.apache.atlas.services.DefaultMetadataService.<init>(DefaultMetadataService.java:100)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
>         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>         at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
>         at com.google.inject.internal.DefaultConstructionProxyFactory$2.newInstance(DefaultConstructionProxyFactory.java:86)
>         at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:105)



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

Mime
View raw message