Hemanth Yamijala created ATLAS-1408:
---------------------------------------
Summary: Creating an attribute definition of array type, where the
elements have a dot in the typename causes issues
Key: ATLAS-1408
URL: https://issues.apache.org/jira/browse/ATLAS-1408
Project: Atlas
Issue Type: Bug
Affects Versions: 0.8-incubating
Reporter: Hemanth Yamijala
Priority: Critical
I created a type File.v1 and then another type FileSet.v1 which contains an
array of File.v1 type instances. The creation was using the
{{AtlasClient.createType(TypeDef)}} API. This returned back successfully.
However, post this Atlas server went into a funny state where simple DSL
queries like {{hive_table}} started failing. Looking the application logs,
noticed this error post the registration of the FileSet.v1 type:
{code}
2016-12-20 13:46:53,960 INFO - [pool-2-thread-4 -
8eaf688d-9cd4-46dc-92da-d84991512e9b:] ~ TypeSystem reset invoked by
TypeRegistry changes (DefaultMetadataService:749)
.... Many types restored and then ....
2016-12-20 13:46:54,266 ERROR - [pool-2-thread-4 -
8eaf688d-9cd4-46dc-92da-d84991512e9b:] ~ Failed to restore type-system after
TypeRegistry changes (DefaultMetadataService:759)
org.apache.atlas.typesystem.exception.TypeNotFoundException: Unknown datatype:
array<HdfsFile.v1>
at org.apache.atlas.typesystem.types.TypeSystem.getDataType(TypeSystem.java:192)
at
org.apache.atlas.typesystem.types.TypeSystem$TransientTypeSystem.getDataType(TypeSystem.java:669)
at org.apache.atlas.typesystem.types.AttributeInfo.<init>(AttributeInfo.java:46)
at
org.apache.atlas.typesystem.types.TypeSystem$TransientTypeSystem.constructAttributeInfo(TypeSystem.java:496)
at
org.apache.atlas.typesystem.types.TypeSystem$TransientTypeSystem.constructHierarchicalType(TypeSystem.java:540)
at
org.apache.atlas.typesystem.types.TypeSystem$TransientTypeSystem.orderAndConstructTypes(TypeSystem.java:583)
at
org.apache.atlas.typesystem.types.TypeSystem$TransientTypeSystem.verifyTypes(TypeSystem.java:709)
at
org.apache.atlas.typesystem.types.TypeSystem.createTransientTypeSystem(TypeSystem.java:346)
at
org.apache.atlas.services.DefaultMetadataService.onChange(DefaultMetadataService.java:753)
at
org.apache.atlas.repository.store.graph.AtlasTypeDefGraphStore$TypeRegistryUpdateHook.notifyListeners(AtlasTypeDefGraphStore.java:940)
at
org.apache.atlas.repository.store.graph.AtlasTypeDefGraphStore$TypeRegistryUpdateHook.onComplete(AtlasTypeDefGraphStore.java:924)
{code}
DSL failures post this error had this trace:
{code}
2016-12-20 13:49:55,398 ERROR - [pool-2-thread-8 -
3d671edf-9dce-4656-a5e3-04e3d3bd3ade:] ~ Unable to get entity list for dslQuery
hive_table (MetadataDiscoveryResource:141)
org.apache.atlas.discovery.DiscoveryException: Invalid expression : hive_table
at
org.apache.atlas.discovery.graph.GraphBackedDiscoveryService.evaluate(GraphBackedDiscoveryService.java:139)
at
org.apache.atlas.discovery.graph.GraphBackedDiscoveryService.searchByDSL(GraphBackedDiscoveryService.java:124)
at
org.apache.atlas.GraphTransactionInterceptor.invoke(GraphTransactionInterceptor.java:51)
at
org.apache.atlas.web.resources.MetadataDiscoveryResource.searchUsingQueryDSL(MetadataDiscoveryResource.java:135)
at sun.reflect.GeneratedMethodAccessor41.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
{code}
Restarting the server caused more issues because the types restoration failed
as in the error in the first stack trace, which caused failures in
initializations and so, effectively, the server did not come up. The workaround
was the delete the HBase titan table and start over again.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)