[ https://issues.apache.org/jira/browse/ATLAS-1143?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15456948#comment-15456948 ]
Sarath Subramanian edited comment on ATLAS-1143 at 9/1/16 11:35 PM: -------------------------------------------------------------------- [~bbonnet], I'm not able to reproduce this: I tried the following cases: create table t51(abc String) comment 'testcomment'; // with valid comment create table t52(abc String) comment ' '; // with a space comment create table t53(abc String) comment ''; // with no-space comment and I don't see any errors in the logs. Entities were created in Atlas fine. was (Author: sarath.ku...@gmail.com): [~bbonnet], I'm not able to reproduce this: I tried the following cases: create table t51(abc String) comment 'testcomment'; // with valid comment create table t52(abc String) comment ' '; // with a space comment create table t53(abc String) comment ''; // with no-space comment and I don't see any errors in the logs. > Fail to create hive_table entity with void comment > -------------------------------------------------- > > Key: ATLAS-1143 > URL: https://issues.apache.org/jira/browse/ATLAS-1143 > Project: Atlas > Issue Type: Bug > Affects Versions: 0.7-incubating > Reporter: Benjamin BONNET > Assignee: Sarath Subramanian > > Atlas server fails to create a hive_table entity representing a Hive table > taht was created with an empty comment. No comment at all is ok, but a '' > comment will lead to that error log : > {code} > 2016-08-19 15:23:11,143 INFO - [NotificationHookConsumer thread-0:] ~ > updating entities { > > "jsonClass":"org.apache.atlas.typesystem.json.InstanceSerialization$_Reference", > "id":{ > "jsonClass":"org.apache.atlas.typesystem.json.InstanceSerialization$_Id", > "id":"-870799112922", > "version":0, > "typeName":"hive_db", > "state":"ACTIVE" > }, > "typeName":"hive_db", > "values":{ > "name":"default", > "location":"hdfs://sandbox.hortonworks.com:8020/apps/hive/warehouse", > "description":"Default Hive database", > "ownerType":2, > "qualifiedName":"default@Sandbox", > "owner":"public", > "clusterName":"Sandbox", > "parameters":{ > } > }, > "traitNames":[ > ], > "traits":{ > } > },{ > > "jsonClass":"org.apache.atlas.typesystem.json.InstanceSerialization$_Reference", > "id":{ > "jsonClass":"org.apache.atlas.typesystem.json.InstanceSerialization$_Id", > "id":"-870922191414", > "version":0, > "typeName":"hive_table", > "state":"ACTIVE" > }, > "typeName":"hive_table", > "values":{ > "tableType":"MANAGED_TABLE", > "name":"toto", > "createTime":"2016-08-19T15:23:09.000Z", > "temporary":false, > "db":{ > > "jsonClass":"org.apache.atlas.typesystem.json.InstanceSerialization$_Reference", > "id":{ > > "jsonClass":"org.apache.atlas.typesystem.json.InstanceSerialization$_Id", > "id":"-870799112922", > "version":0, > "typeName":"hive_db", > "state":"ACTIVE" > }, > "typeName":"hive_db", > "values":{ > "name":"default", > "location":"hdfs://sandbox.hortonworks.com:8020/apps/hive/warehouse", > "description":"Default Hive database", > "ownerType":2, > "qualifiedName":"default@Sandbox", > "owner":"public", > "clusterName":"Sandbox", > "parameters":{ > } > }, > "traitNames":[ > ], > "traits":{ > } > }, > "retention":0, > "qualifiedName":"default.toto@Sandbox", > "columns":[ > { > > "jsonClass":"org.apache.atlas.typesystem.json.InstanceSerialization$_Reference", > "id":{ > > "jsonClass":"org.apache.atlas.typesystem.json.InstanceSerialization$_Id", > "id":"-870922398553", > "version":0, > "typeName":"hive_column", > "state":"ACTIVE" > }, > "typeName":"hive_column", > "values":{ > "qualifiedName":"default.toto.valeur@Sandbox", > "type":"string", > "name":"valeur", > "table":{ > > "jsonClass":"org.apache.atlas.typesystem.json.InstanceSerialization$_Id", > "id":"-870922191414", > "version":0, > "typeName":"hive_table", > "state":"ACTIVE" > } > }, > "traitNames":[ > ], > "traits":{ > } > } > ], > "comment":"", > "lastAccessTime":"2016-08-19T15:23:09.000Z", > "sd":{ > > "jsonClass":"org.apache.atlas.typesystem.json.InstanceSerialization$_Reference", > "id":{ > > "jsonClass":"org.apache.atlas.typesystem.json.InstanceSerialization$_Id", > "id":"-870922339393", > "version":0, > "typeName":"hive_storagedesc", > "state":"ACTIVE" > }, > "typeName":"hive_storagedesc", > "values":{ > > "location":"hdfs://sandbox.hortonworks.com:8020/apps/hive/warehouse/toto", > "serdeInfo":{ > > "jsonClass":"org.apache.atlas.typesystem.json.InstanceSerialization$_Struct", > "typeName":"hive_serde", > "values":{ > > "serializationLib":"org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe", > "parameters":{ > "serialization.format":"1" > } > } > }, > "qualifiedName":"default.toto@Sandbox_storage", > > "outputFormat":"org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat", > "compressed":false, > "numBuckets":-1, > "inputFormat":"org.apache.hadoop.mapred.TextInputFormat", > "parameters":{ > }, > "storedAsSubDirectories":false, > "table":{ > > "jsonClass":"org.apache.atlas.typesystem.json.InstanceSerialization$_Id", > "id":"-870922191414", > "version":0, > "typeName":"hive_table", > "state":"ACTIVE" > } > }, > "traitNames":[ > ], > "traits":{ > } > }, > "parameters":{ > "comment":"", > "transient_lastDdlTime":"1471620189" > }, > "partitionKeys":[ > ] > }, > "traitNames":[ > ], > "traits":{ > } > } (EntityResource:192) > 2016-08-19 15:23:11,160 ERROR - [NotificationHookConsumer thread-0:] ~ Unable > to persist entity instance due to a deserialization error entityDef={ > > "jsonClass":"org.apache.atlas.typesystem.json.InstanceSerialization$_Reference", > "id":{ > "jsonClass":"org.apache.atlas.typesystem.json.InstanceSerialization$_Id", > "id":"-870799112922", > "version":0, > "typeName":"hive_db", > "state":"ACTIVE" > }, > "typeName":"hive_db", > "values":{ > "name":"default", > "location":"hdfs://sandbox.hortonworks.com:8020/apps/hive/warehouse", > "description":"Default Hive database", > "ownerType":2, > "qualifiedName":"default@Sandbox", > "owner":"public", > "clusterName":"Sandbox", > "parameters":{ > } > }, > "traitNames":[ > ], > "traits":{ > } > },{ > > "jsonClass":"org.apache.atlas.typesystem.json.InstanceSerialization$_Reference", > "id":{ > "jsonClass":"org.apache.atlas.typesystem.json.InstanceSerialization$_Id", > "id":"-870922191414", > "version":0, > "typeName":"hive_table", > "state":"ACTIVE" > }, > "typeName":"hive_table", > "values":{ > "tableType":"MANAGED_TABLE", > "name":"toto", > "createTime":"2016-08-19T15:23:09.000Z", > "temporary":false, > "db":{ > > "jsonClass":"org.apache.atlas.typesystem.json.InstanceSerialization$_Reference", > "id":{ > > "jsonClass":"org.apache.atlas.typesystem.json.InstanceSerialization$_Id", > "id":"-870799112922", > "version":0, > "typeName":"hive_db", > "state":"ACTIVE" > }, > "typeName":"hive_db", > "values":{ > "name":"default", > "location":"hdfs://sandbox.hortonworks.com:8020/apps/hive/warehouse", > "description":"Default Hive database", > "ownerType":2, > "qualifiedName":"default@Sandbox", > "owner":"public", > "clusterName":"Sandbox", > "parameters":{ > } > }, > "traitNames":[ > ], > "traits":{ > } > }, > "retention":0, > "qualifiedName":"default.toto@Sandbox", > "columns":[ > { > > "jsonClass":"org.apache.atlas.typesystem.json.InstanceSerialization$_Reference", > "id":{ > > "jsonClass":"org.apache.atlas.typesystem.json.InstanceSerialization$_Id", > "id":"-870922398553", > "version":0, > "typeName":"hive_column", > "state":"ACTIVE" > }, > "typeName":"hive_column", > "values":{ > "qualifiedName":"default.toto.valeur@Sandbox", > "type":"string", > "name":"valeur", > "table":{ > > "jsonClass":"org.apache.atlas.typesystem.json.InstanceSerialization$_Id", > "id":"-870922191414", > "version":0, > "typeName":"hive_table", > "state":"ACTIVE" > } > }, > "traitNames":[ > ], > "traits":{ > } > } > ], > "comment":"", > "lastAccessTime":"2016-08-19T15:23:09.000Z", > "sd":{ > > "jsonClass":"org.apache.atlas.typesystem.json.InstanceSerialization$_Reference", > "id":{ > > "jsonClass":"org.apache.atlas.typesystem.json.InstanceSerialization$_Id", > "id":"-870922339393", > "version":0, > "typeName":"hive_storagedesc", > "state":"ACTIVE" > }, > "typeName":"hive_storagedesc", > "values":{ > > "location":"hdfs://sandbox.hortonworks.com:8020/apps/hive/warehouse/toto", > "serdeInfo":{ > > "jsonClass":"org.apache.atlas.typesystem.json.InstanceSerialization$_Struct", > "typeName":"hive_serde", > "values":{ > > "serializationLib":"org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe", > "parameters":{ > "serialization.format":"1" > } > } > }, > "qualifiedName":"default.toto@Sandbox_storage", > > "outputFormat":"org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat", > "compressed":false, > "numBuckets":-1, > "inputFormat":"org.apache.hadoop.mapred.TextInputFormat", > "parameters":{ > }, > "storedAsSubDirectories":false, > "table":{ > > "jsonClass":"org.apache.atlas.typesystem.json.InstanceSerialization$_Id", > "id":"-870922191414", > "version":0, > "typeName":"hive_table", > "state":"ACTIVE" > } > }, > "traitNames":[ > ], > "traits":{ > } > }, > "parameters":{ > "comment":"", > "transient_lastDdlTime":"1471620189" > }, > "partitionKeys":[ > ] > }, > "traitNames":[ > ], > "traits":{ > } > } (EntityResource:203) > org.apache.atlas.typesystem.types.ValueConversionException: Cannot convert > value '{Id='(type: hive_table, id: <unassigned>)', traits=[], > values={db={Id='(type: hive_db, id: <unassigned>)', traits=[], > values={clusterName=Sandbox, > location=hdfs://sandbox.hortonworks.com:8020/apps/hive/warehouse, > description=Default Hive database, qualifiedName=default@Sandbox, > ownerType=2, name=default, owner=public, parameters={}}}, > createTime=2016-08-19T15:23:09.000Z, lastAccessTime=2016-08-19T15:23:09.000Z, > qualifiedName=default.toto@Sandbox, sd={Id='(type: hive_storagedesc, id: > <unassigned>)', traits=[], values={compressed=false, > serdeInfo=org.apache.atlas.typesystem.Struct@b4698dcb, > location=hdfs://sandbox.hortonworks.com:8020/apps/hive/warehouse/toto, > outputFormat=org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat, > qualifiedName=default.toto@Sandbox_storage, storedAsSubDirectories=false, > numBuckets=-1, inputFormat=org.apache.hadoop.mapred.TextInputFormat, > table=(type: hive_table, id: <unassigned>), parameters={}}}, > columns=[{Id='(type: hive_column, id: <unassigned>)', traits=[], > values={name=valeur, qualifiedName=default.toto.valeur@Sandbox, table=(type: > hive_table, id: <unassigned>), type=string}}], temporary=false, > partitionKeys=[], name=toto, retention=0, tableType=MANAGED_TABLE, > parameters={comment=, transient_lastDdlTime=1471620189}, comment=}}' to > datatype hive_table > at > org.apache.atlas.typesystem.types.ClassType.convert(ClassType.java:145) > at > org.apache.atlas.services.DefaultMetadataService.getTypedReferenceableInstance(DefaultMetadataService.java:374) > at > org.apache.atlas.services.DefaultMetadataService.deserializeClassInstances(DefaultMetadataService.java:350) > at > org.apache.atlas.services.DefaultMetadataService.updateEntities(DefaultMetadataService.java:444) > at > org.apache.atlas.web.resources.EntityResource.updateEntities(EntityResource.java:194) > at > org.apache.atlas.LocalAtlasClient$2.invoke(LocalAtlasClient.java:97) > at > org.apache.atlas.LocalAtlasClient$EntityOperation.run(LocalAtlasClient.java:118) > at > org.apache.atlas.LocalAtlasClient.updateEntities(LocalAtlasClient.java:100) > at org.apache.atlas.AtlasClient.updateEntities(AtlasClient.java:687) > at > org.apache.atlas.notification.NotificationHookConsumer$HookConsumer.handleMessage(NotificationHookConsumer.java:225) > at > org.apache.atlas.notification.NotificationHookConsumer$HookConsumer.run(NotificationHookConsumer.java:187) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > 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:745) > Caused by: > org.apache.atlas.typesystem.types.ValueConversionException$NullConversionException: > For field 'parameters' > at > org.apache.atlas.typesystem.persistence.StructInstance.set(StructInstance.java:123) > at > org.apache.atlas.typesystem.types.ClassType.convert(ClassType.java:143) > ... 15 more > Caused by: > org.apache.atlas.typesystem.types.ValueConversionException$NullConversionException: > Null value not allowed for multiplicty {lower=1, upper=1, isUnique=false} > at > org.apache.atlas.typesystem.types.DataTypes$PrimitiveType.convertNull(DataTypes.java:105) > at > org.apache.atlas.typesystem.types.DataTypes$StringType.convert(DataTypes.java:452) > at > org.apache.atlas.typesystem.types.DataTypes$StringType.convert(DataTypes.java:439) > at > org.apache.atlas.typesystem.types.DataTypes$MapType.convert(DataTypes.java:584) > at > org.apache.atlas.typesystem.types.DataTypes$MapType.convert(DataTypes.java:548) > at > org.apache.atlas.typesystem.persistence.StructInstance.set(StructInstance.java:121) > ... 16 more > 2016-08-19 15:23:11,161 WARN - [NotificationHookConsumer thread-0:] ~ Error > handling message [{Id='(type: hive_db, id: <unassigned>)', traits=[], > values={clusterName=Sandbox, > location=hdfs://sandbox.hortonworks.com:8020/apps/hive/warehouse, > description=Default Hive database, qualifiedName=default@Sandbox, > ownerType=2, name=default, owner=public, parameters={}}}, {Id='(type: > hive_table, id: <unassigned>)', traits=[], values={db={Id='(type: hive_db, > id: <unassigned>)', traits=[], values={clusterName=Sandbox, > location=hdfs://sandbox.hortonworks.com:8020/apps/hive/warehouse, > description=Default Hive database, qualifiedName=default@Sandbox, > ownerType=2, name=default, owner=public, parameters={}}}, > createTime=2016-08-19T15:23:09.000Z, lastAccessTime=2016-08-19T15:23:09.000Z, > qualifiedName=default.toto@Sandbox, sd={Id='(type: hive_storagedesc, id: > <unassigned>)', traits=[], values={compressed=false, > serdeInfo=org.apache.atlas.typesystem.Struct@b4698dcb, > location=hdfs://sandbox.hortonworks.com:8020/apps/hive/warehouse/toto, > outputFormat=org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat, > qualifiedName=default.toto@Sandbox_storage, storedAsSubDirectories=false, > numBuckets=-1, inputFormat=org.apache.hadoop.mapred.TextInputFormat, > table=(type: hive_table, id: <unassigned>), parameters={}}}, > columns=[{Id='(type: hive_column, id: <unassigned>)', traits=[], > values={qualifiedName=default.toto.valeur@Sandbox, name=valeur, table=(type: > hive_table, id: <unassigned>), type=string}}], temporary=false, > partitionKeys=[], name=toto, retention=0, tableType=MANAGED_TABLE, > parameters={comment=, transient_lastDdlTime=1471620189}, comment=}}] > (NotificationHookConsumer:233) > org.apache.atlas.AtlasServiceException: Metadata service API UPDATE_ENTITY > failed with status 400(Bad Request) Response Body > (org.apache.atlas.typesystem.types.ValueConversionException$NullConversionException: > For field 'parameters' > at > org.apache.atlas.typesystem.persistence.StructInstance.set(StructInstance.java:123) > at > org.apache.atlas.typesystem.types.ClassType.convert(ClassType.java:143) > at > org.apache.atlas.services.DefaultMetadataService.getTypedReferenceableInstance(DefaultMetadataService.java:374) > at > org.apache.atlas.services.DefaultMetadataService.deserializeClassInstances(DefaultMetadataService.java:350) > at > org.apache.atlas.services.DefaultMetadataService.updateEntities(DefaultMetadataService.java:444) > at > org.apache.atlas.web.resources.EntityResource.updateEntities(EntityResource.java:194) > at > org.apache.atlas.LocalAtlasClient$2.invoke(LocalAtlasClient.java:97) > at > org.apache.atlas.LocalAtlasClient$EntityOperation.run(LocalAtlasClient.java:118) > at > org.apache.atlas.LocalAtlasClient.updateEntities(LocalAtlasClient.java:100) > at org.apache.atlas.AtlasClient.updateEntities(AtlasClient.java:687) > at > org.apache.atlas.notification.NotificationHookConsumer$HookConsumer.handleMessage(NotificationHookConsumer.java:225) > at > org.apache.atlas.notification.NotificationHookConsumer$HookConsumer.run(NotificationHookConsumer.java:187) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > 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:745) > Caused by: > org.apache.atlas.typesystem.types.ValueConversionException$NullConversionException: > Null value not allowed for multiplicty {lower=1, upper=1, isUnique=false} > at > org.apache.atlas.typesystem.types.DataTypes$PrimitiveType.convertNull(DataTypes.java:105) > at > org.apache.atlas.typesystem.types.DataTypes$StringType.convert(DataTypes.java:452) > at > org.apache.atlas.typesystem.types.DataTypes$StringType.convert(DataTypes.java:439) > at > org.apache.atlas.typesystem.types.DataTypes$MapType.convert(DataTypes.java:584) > at > org.apache.atlas.typesystem.types.DataTypes$MapType.convert(DataTypes.java:548) > at > org.apache.atlas.typesystem.persistence.StructInstance.set(StructInstance.java:121) > ... 16 more > ) > at > org.apache.atlas.LocalAtlasClient$EntityOperation.run(LocalAtlasClient.java:122) > at > org.apache.atlas.LocalAtlasClient.updateEntities(LocalAtlasClient.java:100) > at org.apache.atlas.AtlasClient.updateEntities(AtlasClient.java:687) > at > org.apache.atlas.notification.NotificationHookConsumer$HookConsumer.handleMessage(NotificationHookConsumer.java:225) > at > org.apache.atlas.notification.NotificationHookConsumer$HookConsumer.run(NotificationHookConsumer.java:187) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > 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:745) > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)