You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@atlas.apache.org by "Suma Shivaprasad (JIRA)" <ji...@apache.org> on 2016/08/15 22:43:20 UTC

[jira] [Commented] (ATLAS-1119) Add retries for edge label creation

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

Suma Shivaprasad commented on ATLAS-1119:
-----------------------------------------

Adding retries in GraphHelper.getOrCreateEdge should ensure that the operation is retried before failing since on retry it should ideally get the created property type for the edge label once the other concurrent transaction is committed and should proceed further.

> Add retries for edge label creation
> -----------------------------------
>
>                 Key: ATLAS-1119
>                 URL: https://issues.apache.org/jira/browse/ATLAS-1119
>             Project: Atlas
>          Issue Type: Bug
>    Affects Versions: 0.8-incubating
>            Reporter: Suma Shivaprasad
>            Assignee: Suma Shivaprasad
>             Fix For: 0.8-incubating
>
>
> Concurrent operations will fail when trying to create edge label which tries to define a new property key for the edge label if it doesnt exist. 
> {noformat}
> 2016-08-15 04:08:28,475 DEBUG - [pool-8-thread-1:] ~ Adding a new trait=PII for entity=b1630277-e8dc-4fcf-94af-c0c8b0b51c09 (GraphBackedMetadataRepository:222)
> 2016-08-15 04:08:28,476 DEBUG - [pool-8-thread-2:] ~ Adding a new trait=PII for entity=5e335fed-4a74-496d-8521-1678caf85813 (GraphBackedMetadataRepository:222)
> 2016-08-15 04:08:28,477 DEBUG - [pool-8-thread-1:] ~ Finding vertex with __guid = b1630277-e8dc-4fcf-94af-c0c8b0b51c09,  (GraphHelper:182)
> 2016-08-15 04:08:28,477 DEBUG - [pool-8-thread-2:] ~ Finding vertex with __guid = 5e335fed-4a74-496d-8521-1678caf85813,  (GraphHelper:182)
> 2016-08-15 04:08:28,477 DEBUG - [pool-8-thread-3:] ~ Executing dsl query=hive_table (GraphBackedDiscoveryService:133)
> 2016-08-15 04:08:28,483 DEBUG - [pool-8-thread-2:] ~ Found a vertex vertex[id=8704 type=hive_database guid=5e335fed-4a74-496d-8521-1678caf85813] with __guid = 5e335fed-4a74-496d-8521-1678caf85813,  (GraphHelper:192)
> 2016-08-15 04:08:28,484 DEBUG - [pool-8-thread-2:] ~ Creating vertex for type PII id null (GraphHelper:97)
> 2016-08-15 04:08:28,485 DEBUG - [pool-8-thread-2:] ~ Setting property __typeName = "PII" to vertex[id=8960 type=null guid=null] (GraphHelper:290)
> 2016-08-15 04:08:28,487 DEBUG - [pool-8-thread-2:] ~ Set property __typeName = "PII" to vertex[id=8960 type=null guid=null] (GraphHelper:300)
> 2016-08-15 04:08:28,487 DEBUG - [pool-8-thread-2:] ~ Setting property __state = "ACTIVE" to vertex[id=8960 type=PII guid=null] (GraphHelper:290)
> 2016-08-15 04:08:28,488 DEBUG - [pool-8-thread-2:] ~ Set property __state = "ACTIVE" to vertex[id=8960 type=PII guid=null] (GraphHelper:300)
> 2016-08-15 04:08:28,488 DEBUG - [pool-8-thread-1:] ~ Found a vertex vertex[id=8448 type=hive_database guid=b1630277-e8dc-4fcf-94af-c0c8b0b51c09] with __guid = b1630277-e8dc-4fcf-94af-c0c8b0b51c09,  (GraphHelper:192)
> 2016-08-15 04:08:28,488 DEBUG - [pool-8-thread-2:] ~ Setting property __timestamp = "1471234108488" to vertex[id=8960 type=PII guid=null] (GraphHelper:290)
> 2016-08-15 04:08:28,489 DEBUG - [pool-8-thread-1:] ~ Creating vertex for type PII id null (GraphHelper:97)
> 2016-08-15 04:08:28,490 DEBUG - [pool-8-thread-2:] ~ Set property __timestamp = "1471234108488" to vertex[id=8960 type=PII guid=null] (GraphHelper:300)
> 2016-08-15 04:08:28,490 DEBUG - [pool-8-thread-2:] ~ Setting property __modificationTimestamp = "1471234108488" to vertex[id=8960 type=PII guid=null] (GraphHelper:290)
> 2016-08-15 04:08:28,490 DEBUG - [pool-8-thread-1:] ~ Setting property __typeName = "PII" to vertex[id=9216 type=null guid=null] (GraphHelper:290)
> 2016-08-15 04:08:28,490 DEBUG - [pool-8-thread-2:] ~ Set property __modificationTimestamp = "1471234108488" to vertex[id=8960 type=PII guid=null] (GraphHelper:300)
> 2016-08-15 04:08:28,491 DEBUG - [pool-8-thread-2:] ~ created vertex vertex[id=8960 type=PII guid=null] for trait PII (TypedInstanceToGraphMapper:665)
> 2016-08-15 04:08:28,492 DEBUG - [pool-8-thread-2:] ~ Mapping instance struct[type=PII] to vertex vertex[id=8960 type=PII guid=null] (TypedInstanceToGraphMapper:181)
> 2016-08-15 04:08:28,492 DEBUG - [pool-8-thread-2:] ~ Setting property __modificationTimestamp = "1471234108488" to vertex[id=8960 type=PII guid=null] (GraphHelper:290)
> 2016-08-15 04:08:28,492 DEBUG - [pool-8-thread-2:] ~ Finding edges for vertex[id=8960 type=PII guid=null] with label hive_database.PII (GraphHelper:201)
> 2016-08-15 04:08:28,493 DEBUG - [pool-8-thread-2:] ~ Adding edge for vertex[id=8704 type=hive_database guid=5e335fed-4a74-496d-8521-1678caf85813] -> label hive_database.PII -> vertex[id=8960 type=PII guid=null] (GraphHelper:122)
> 2016-08-15 04:08:28,493 DEBUG - [pool-8-thread-1:] ~ Set property __typeName = "PII" to vertex[id=9216 type=null guid=null] (GraphHelper:300)
> 2016-08-15 04:08:28,494 DEBUG - [pool-8-thread-1:] ~ Setting property __state = "ACTIVE" to vertex[id=9216 type=PII guid=null] (GraphHelper:290)
> 2016-08-15 04:08:28,495 DEBUG - [pool-8-thread-3:] ~ Query = hive_table limit 10 offset 0  (GraphBackedDiscoveryService:158)
> 2016-08-15 04:08:28,495 DEBUG - [pool-8-thread-3:] ~ Expression Tree = LimitExpression 10, 0
>  ClassExpression hive_table
>  (GraphBackedDiscoveryService:159)
> 2016-08-15 04:08:28,496 DEBUG - [pool-8-thread-3:] ~ Gremlin Query = L:{_var_0 = [] as Set;g.V().has("__typeName", "hive_table").fill(_var_0);g.V().has("__superTypeNames", "hive_table").fill(_var_0);_var_0._() [0..<10].toList()} (GraphBackedDiscoveryService:160)
> 2016-08-15 04:08:28,495 DEBUG - [pool-8-thread-1:] ~ Set property __state = "ACTIVE" to vertex[id=9216 type=PII guid=null] (GraphHelper:300)
> 2016-08-15 04:08:28,497 DEBUG - [pool-8-thread-1:] ~ Setting property __timestamp = "1471234108497" to vertex[id=9216 type=PII guid=null] (GraphHelper:290)
> 2016-08-15 04:08:28,499 DEBUG - [pool-8-thread-2:] ~ Setting property __state = "ACTIVE" to edge[id=1f0g-6ps-5slx-6ww label=hive_database.PII from vertex[id=8704 type=hive_database guid=5e335fed-4a74-496d-8521-1678caf85813] -> to vertex[id=8960 type=PII guid=null]] (GraphHelper:290)
> 2016-08-15 04:08:28,500 DEBUG - [pool-8-thread-2:] ~ Set property __state = "ACTIVE" to edge[id=1f0g-6ps-5slx-6ww label=hive_database.PII from vertex[id=8704 type=hive_database guid=5e335fed-4a74-496d-8521-1678caf85813] -> to vertex[id=8960 type=PII guid=null]] (GraphHelper:300)
> 2016-08-15 04:08:28,500 DEBUG - [pool-8-thread-1:] ~ Set property __timestamp = "1471234108497" to vertex[id=9216 type=PII guid=null] (GraphHelper:300)
> 2016-08-15 04:08:28,500 DEBUG - [pool-8-thread-2:] ~ Setting property __timestamp = "1471234108488" to edge[id=1f0g-6ps-5slx-6ww label=hive_database.PII from vertex[id=8704 type=hive_database guid=5e335fed-4a74-496d-8521-1678caf85813] -> to vertex[id=8960 type=PII guid=null]] (GraphHelper:290)
> 2016-08-15 04:08:28,501 DEBUG - [pool-8-thread-2:] ~ Set property __timestamp = "1471234108488" to edge[id=1f0g-6ps-5slx-6ww label=hive_database.PII from vertex[id=8704 type=hive_database guid=5e335fed-4a74-496d-8521-1678caf85813] -> to vertex[id=8960 type=PII guid=null]] (GraphHelper:300)
> 2016-08-15 04:08:28,501 DEBUG - [pool-8-thread-1:] ~ Setting property __modificationTimestamp = "1471234108497" to vertex[id=9216 type=PII guid=null] (GraphHelper:290)
> 2016-08-15 04:08:28,501 DEBUG - [pool-8-thread-2:] ~ Setting property __modificationTimestamp = "1471234108488" to edge[id=1f0g-6ps-5slx-6ww label=hive_database.PII from vertex[id=8704 type=hive_database guid=5e335fed-4a74-496d-8521-1678caf85813] -> to vertex[id=8960 type=PII guid=null]] (GraphHelper:290)
> 2016-08-15 04:08:28,501 DEBUG - [pool-8-thread-2:] ~ Set property __modificationTimestamp = "1471234108488" to edge[id=1f0g-6ps-5slx-6ww label=hive_database.PII from vertex[id=8704 type=hive_database guid=5e335fed-4a74-496d-8521-1678caf85813] -> to vertex[id=8960 type=PII guid=null]] (GraphHelper:300)
> 2016-08-15 04:08:28,502 DEBUG - [pool-8-thread-1:] ~ Set property __modificationTimestamp = "1471234108497" to vertex[id=9216 type=PII guid=null] (GraphHelper:300)
> 2016-08-15 04:08:28,502 DEBUG - [pool-8-thread-2:] ~ Added edge[id=1f0g-6ps-5slx-6ww label=hive_database.PII from vertex[id=8704 type=hive_database guid=5e335fed-4a74-496d-8521-1678caf85813] -> to vertex[id=8960 type=PII guid=null]] (GraphHelper:129)
> 2016-08-15 04:08:28,502 DEBUG - [pool-8-thread-1:] ~ created vertex vertex[id=9216 type=PII guid=null] for trait PII (TypedInstanceToGraphMapper:665)
> 2016-08-15 04:08:28,503 DEBUG - [pool-8-thread-2:] ~ Adding property __traitNames = "PII" to vertex vertex[id=8704 type=hive_database guid=5e335fed-4a74-496d-8521-1678caf85813] (GraphHelper:329)
> 2016-08-15 04:08:28,503 DEBUG - [pool-8-thread-1:] ~ Mapping instance struct[type=PII] to vertex vertex[id=9216 type=PII guid=null] (TypedInstanceToGraphMapper:181)
> 2016-08-15 04:08:28,504 DEBUG - [pool-8-thread-2:] ~ Setting property __modificationTimestamp = "1471234108488" to vertex[id=8704 type=hive_database guid=5e335fed-4a74-496d-8521-1678caf85813] (GraphHelper:290)
> 2016-08-15 04:08:28,504 DEBUG - [pool-8-thread-1:] ~ Setting property __modificationTimestamp = "1471234108497" to vertex[id=9216 type=PII guid=null] (GraphHelper:290)
> 2016-08-15 04:08:28,505 DEBUG - [pool-8-thread-2:] ~ Set property __modificationTimestamp = "1471234108488" to vertex[id=8704 type=hive_database guid=5e335fed-4a74-496d-8521-1678caf85813] (GraphHelper:300)
> 2016-08-15 04:08:28,505 DEBUG - [pool-8-thread-1:] ~ Finding edges for vertex[id=9216 type=PII guid=null] with label hive_database.PII (GraphHelper:201)
> 2016-08-15 04:08:28,506 DEBUG - [pool-8-thread-1:] ~ Adding edge for vertex[id=8448 type=hive_database guid=b1630277-e8dc-4fcf-94af-c0c8b0b51c09] -> label hive_database.PII -> vertex[id=9216 type=PII guid=null] (GraphHelper:122)
> 2016-08-15 04:08:28,532 ERROR - [pool-8-thread-1:] ~ graph rollback due to exception  (GraphTransactionInterceptor:48)
> org.apache.atlas.repository.RepositoryException: com.thinkaurelius.titan.core.SchemaViolationException: Adding this property for key [system%&%SchemaName] and value [rt%hive_database.PII] violates a uniqueness constraint [SystemIndex#system%&%SchemaName]
> 	at org.apache.atlas.repository.graph.GraphBackedMetadataRepository.addTrait(GraphBackedMetadataRepository.java:243)
> 	at org.apache.atlas.GraphTransactionInterceptor.invoke(GraphTransactionInterceptor.java:42)
> 	at org.apache.atlas.repository.graph.GraphBackedMetadataRepositoryTest$1.call(GraphBackedMetadataRepositoryTest.java:155)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:166)
> 	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:722)
> Caused by: com.thinkaurelius.titan.core.SchemaViolationException: Adding this property for key [system%&%SchemaName] and value [rt%hive_database.PII] violates a uniqueness constraint [SystemIndex#system%&%SchemaName]
> 	at com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx.addPropertyInternal(StandardTitanTx.java:740)
> 	at com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx.setProperty(StandardTitanTx.java:778)
> 	at com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx.addProperty(StandardTitanTx.java:696)
> 	at com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx.makeSchemaVertex(StandardTitanTx.java:815)
> 	at com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx.makeEdgeLabel(StandardTitanTx.java:839)
> 	at com.thinkaurelius.titan.graphdb.types.StandardEdgeLabelMaker.make(StandardEdgeLabelMaker.java:88)
> 	at com.thinkaurelius.titan.graphdb.blueprints.BlueprintsDefaultSchemaMaker.makeEdgeLabel(BlueprintsDefaultSchemaMaker.java:23)
> 	at com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx.getOrCreateEdgeLabel(StandardTitanTx.java:920)
> 	at com.thinkaurelius.titan.graphdb.blueprints.TitanBlueprintsTransaction.addEdge(TitanBlueprintsTransaction.java:132)
> 	at com.thinkaurelius.titan.graphdb.blueprints.TitanBlueprintsTransaction.addEdge(TitanBlueprintsTransaction.java:124)
> 	at com.thinkaurelius.titan.graphdb.blueprints.TitanBlueprintsGraph.addEdge(TitanBlueprintsGraph.java:250)
> 	at com.thinkaurelius.titan.graphdb.blueprints.TitanBlueprintsGraph.addEdge(TitanBlueprintsGraph.java:27)
> 	at org.apache.atlas.repository.graph.GraphHelper.addEdge(GraphHelper.java:123)
> 	at org.apache.atlas.repository.graph.GraphHelper.getOrCreateEdge(GraphHelper.java:145)
> 	at org.apache.atlas.repository.graph.TypedInstanceToGraphMapper.mapTraitInstanceToVertex(TypedInstanceToGraphMapper.java:672)
> 	at org.apache.atlas.repository.graph.GraphBackedMetadataRepository.addTrait(GraphBackedMetadataRepository.java:231)
> 	... 7 more
> 2016-08-15 04:08:28,536 INFO  - [pool-8-thread-2:] ~ graph commit (GraphTransactionInterceptor:44)
> {noformat}



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