You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@atlas.apache.org by "Hemanth Yamijala (JIRA)" <ji...@apache.org> on 2016/06/28 07:16:56 UTC
[jira] [Created] (ATLAS-957) Atlas is not capturing topologies that
have $ in the data payload
Hemanth Yamijala created ATLAS-957:
--------------------------------------
Summary: Atlas is not capturing topologies that have $ in the data payload
Key: ATLAS-957
URL: https://issues.apache.org/jira/browse/ATLAS-957
Project: Atlas
Issue Type: Bug
Reporter: Hemanth Yamijala
We found a topology that created a specific payload in Kafka ATLAS_HOOK topic, that Atlas failed to process with an exception. The payload was:
{code}
{
"version": {
"version": "1.0.0"
},
"message": {
"entities": [{
"jsonClass": "org.apache.atlas.typesystem.json.InstanceSerialization$_Reference",
"id": {
"jsonClass": "org.apache.atlas.typesystem.json.InstanceSerialization$_Id",
"id": "-12002007734454",
"version": 0,
"typeName": "storm_topology",
"state": "ACTIVE"
},
"typeName": "storm_topology",
"values": {
"name": "WordCountid007f0100_date381916",
"startTime": 1466404755258,
"outputs": [],
"id": "WordCountid007f0100_date381916-5-1466404754",
"inputs": [],
"qualifiedName": "WordCountid007f0100_date381916",
"nodes": [{
"jsonClass": "org.apache.atlas.typesystem.json.InstanceSerialization$_Reference",
"id": {
"jsonClass": "org.apache.atlas.typesystem.json.InstanceSerialization$_Id",
"id": "-12002013206349",
"version": 0,
"typeName": "storm_bolt",
"state": "ACTIVE"
},
"typeName": "storm_bolt",
"values": {
"name": "split",
"outputs": ["count"],
"driverClass": "storm.starter.WordCountTopology$SplitSentence",
"conf": {
"SplitSentence._pendingWrites.takeLock.sync.state": "0",
"SplitSentence._running": "true",
"SplitSentence.workerTimeoutMills": "0",
"SplitSentence.sendHeartbeatFlag.value": "0",
"SplitSentence.lastHeartbeatTimestamp.value": "0",
"SplitSentence._pendingWrites.notEmpty.this$0.state": "0"
},
"inputs": ["spout"]
},
"traitNames": ["DataProcessor"],
"traits": {
"DataProcessor": {
"jsonClass": "org.apache.atlas.typesystem.json.InstanceSerialization$_Struct",
"typeName": "DataProcessor",
"values": {}
}
}
}, {
"jsonClass": "org.apache.atlas.typesystem.json.InstanceSerialization$_Reference",
"id": {
"jsonClass": "org.apache.atlas.typesystem.json.InstanceSerialization$_Id",
"id": "-12002012737263",
"version": 0,
"typeName": "storm_spout",
"state": "ACTIVE"
},
"typeName": "storm_spout",
"values": {
"outputs": ["split"],
"name": "spout",
"driverClass": "storm.starter.spout.RandomSentenceSpout",
"conf": {}
},
"traitNames": ["DataProducer"],
"traits": {
"DataProducer": {
"jsonClass": "org.apache.atlas.typesystem.json.InstanceSerialization$_Struct",
"typeName": "DataProducer",
"values": {}
}
}
}, {
"jsonClass": "org.apache.atlas.typesystem.json.InstanceSerialization$_Reference",
"id": {
"jsonClass": "org.apache.atlas.typesystem.json.InstanceSerialization$_Id",
"id": "-12002021428964",
"version": 0,
"typeName": "storm_bolt",
"state": "ACTIVE"
},
"typeName": "storm_bolt",
"values": {
"name": "count",
"driverClass": "org.apache.storm.topology.BasicBoltExecutor",
"conf": {},
"inputs": ["split"]
},
"traitNames": ["DataProcessor"],
"traits": {
"DataProcessor": {
"jsonClass": "org.apache.atlas.typesystem.json.InstanceSerialization$_Struct",
"typeName": "DataProcessor",
"values": {}
}
}
}],
"owner": "storm",
"clusterName": "cl1"
},
"traitNames": [],
"traits": {}
}],
"type": "ENTITY_CREATE",
"user": "storm"
}
}
{code}
The exception was
{code}
org.apache.atlas.AtlasServiceException: Metadata service API CREATE_ENTITY failed with status 400(Bad Request) Response Body (java.lang.IllegalArgumentException: Name can not contains reserved character $: storm_node.conf.SplitSentence._pendingWrites.notEmpty.this$0.state
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:119)
at com.thinkaurelius.titan.graphdb.types.StandardRelationTypeMaker.checkName(StandardRelationTypeMaker.java:70)
at com.thinkaurelius.titan.graphdb.types.StandardRelationTypeMaker.checkGeneralArguments(StandardRelationTypeMaker.java:79)
at com.thinkaurelius.titan.graphdb.types.StandardRelationTypeMaker.makeDefinition(StandardRelationTypeMaker.java:113)
at com.thinkaurelius.titan.graphdb.types.StandardPropertyKeyMaker.make(StandardPropertyKeyMaker.java:76)
at com.thinkaurelius.titan.graphdb.blueprints.BlueprintsDefaultSchemaMaker.makePropertyKey(BlueprintsDefaultSchemaMaker.java:28)
at com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx.getOrCreatePropertyKey(StandardTitanTx.java:902)
at com.thinkaurelius.titan.graphdb.vertices.AbstractVertex.setProperty(AbstractVertex.java:239)
at org.apache.atlas.repository.graph.GraphHelper.setProperty(GraphHelper.java:256)
at org.apache.atlas.repository.graph.TypedInstanceToGraphMapper.mapMapCollectionToVertex(TypedInstanceToGraphMapper.java:424)
at org.apache.atlas.repository.graph.TypedInstanceToGraphMapper.mapAttributeToVertex(TypedInstanceToGraphMapper.java:209)
at org.apache.atlas.repository.graph.TypedInstanceToGraphMapper.mapInstanceToVertex(TypedInstanceToGraphMapper.java:186)
at org.apache.atlas.repository.graph.TypedInstanceToGraphMapper.addOrUpdateAttributesAndTraits(TypedInstanceToGraphMapper.java:168)
at org.apache.atlas.repository.graph.TypedInstanceToGraphMapper.addOrUpdateAttributesAndTraits(TypedInstanceToGraphMapper.java:144)
at org.apache.atlas.repository.graph.TypedInstanceToGraphMapper.mapTypedInstanceToGraph(TypedInstanceToGraphMapper.java:102)
at org.apache.atlas.repository.graph.GraphBackedMetadataRepository.createEntities(GraphBackedMetadataRepository.java:132)
at org.apache.atlas.GraphTransactionInterceptor.invoke(GraphTransactionInterceptor.java:42)
at org.apache.atlas.services.DefaultMetadataService.createEntities(DefaultMetadataService.java:319)
at org.apache.atlas.services.DefaultMetadataService.createEntities(DefaultMetadataService.java:315)
at org.apache.atlas.web.resources.EntityResource.submit(EntityResource.java:126)
at org.apache.atlas.LocalAtlasClient$1.invoke(LocalAtlasClient.java:82)
at org.apache.atlas.LocalAtlasClient$EntityOperation.run(LocalAtlasClient.java:118)
at org.apache.atlas.LocalAtlasClient.createEntity(LocalAtlasClient.java:85)
at org.apache.atlas.AtlasClient.createEntity(AtlasClient.java:652)
at org.apache.atlas.notification.NotificationHookConsumer$HookConsumer.handleMessage(NotificationHookConsumer.java:203)
at org.apache.atlas.notification.NotificationHookConsumer$HookConsumer.run(NotificationHookConsumer.java
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)