[ https://issues.apache.org/jira/browse/HIVE-7868?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14166151#comment-14166151 ]
Ferdinand Xu commented on HIVE-7868: ------------------------------------ The messages are as followings: 0: jdbc:hive2://localhost:10000> describe test_avro; 14/10/10 09:07:28 ERROR exec.DDLTask: org.apache.hadoop.hive.ql.metadata.HiveException: Exception while processing test_avro at org.apache.hadoop.hive.ql.exec.DDLTask.describeTable(DDLTask.java:3137) at org.apache.hadoop.hive.ql.exec.DDLTask.execute(DDLTask.java:366) at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:161) at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:85) at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1605) at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1365) at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1178) at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1005) at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1000) at org.apache.hive.service.cli.operation.SQLOperation.runQuery(SQLOperation.java:144) at org.apache.hive.service.cli.operation.SQLOperation.access$100(SQLOperation.java:69) at org.apache.hive.service.cli.operation.SQLOperation$1$1.run(SQLOperation.java:196) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:415) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1556) at org.apache.hadoop.hive.shims.HadoopShimsSecure.doAs(HadoopShimsSecure.java:508) at org.apache.hive.service.cli.operation.SQLOperation$1.run(SQLOperation.java:208) 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:724) Caused by: java.sql.SQLException: Encountered AvroSerdeException determining schema. Returning signal schema to indicate problem: Unable to read schema from given path: hdfs://localhost:9000/tmp/test_serializer.avsc at org.apache.hadoop.hive.ql.exec.DDLTask.describeTable(DDLTask.java:3094) ... 21 more 14/10/10 09:07:28 ERROR ql.Driver: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Exception while processing test_avro 14/10/10 09:07:28 ERROR operation.Operation: Error running hive query: org.apache.hive.service.cli.HiveSQLException: Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Exception while processing test_avro at org.apache.hive.service.cli.operation.Operation.toSQLException(Operation.java:314) at org.apache.hive.service.cli.operation.SQLOperation.runQuery(SQLOperation.java:146) at org.apache.hive.service.cli.operation.SQLOperation.access$100(SQLOperation.java:69) at org.apache.hive.service.cli.operation.SQLOperation$1$1.run(SQLOperation.java:196) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:415) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1556) at org.apache.hadoop.hive.shims.HadoopShimsSecure.doAs(HadoopShimsSecure.java:508) at org.apache.hive.service.cli.operation.SQLOperation$1.run(SQLOperation.java:208) 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:724) Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Exception while processing test_avro at org.apache.hadoop.hive.ql.exec.DDLTask.describeTable(DDLTask.java:3137) at org.apache.hadoop.hive.ql.exec.DDLTask.execute(DDLTask.java:366) at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:161) at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:85) at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1605) at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1365) at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1178) at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1005) at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1000) at org.apache.hive.service.cli.operation.SQLOperation.runQuery(SQLOperation.java:144) ... 12 more Caused by: java.sql.SQLException: Encountered AvroSerdeException determining schema. Returning signal schema to indicate problem: Unable to read schema from given path: hdfs://localhost:9000/tmp/test_serializer.avsc at org.apache.hadoop.hive.ql.exec.DDLTask.describeTable(DDLTask.java:3094) ... 21 more Error: Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Exception while processing test_avro (state=08S01,code=1) > AvroSerDe error handling could be improved > ------------------------------------------ > > Key: HIVE-7868 > URL: https://issues.apache.org/jira/browse/HIVE-7868 > Project: Hive > Issue Type: Improvement > Reporter: Brock Noland > Assignee: Ferdinand Xu > Attachments: HIVE-7868.1.patch, HIVE-7868.2.patch > > > When an Avro schema is invalid, AvroSerDe returns an error message instead of > throwing an exception. This is described in > {{AvroSerdeUtils.determineSchemaOrReturnErrorSchema}}: > {noformat} > /** > * Attempt to determine the schema via the usual means, but do not throw > * an exception if we fail. Instead, signal failure via a special > * schema. This is used because Hive calls init on the serde during > * any call, including calls to update the serde properties, meaning > * if the serde is in a bad state, there is no way to update that state. > */ > {noformat} > I believe we should find a way to provide a better experience to our users. -- This message was sent by Atlassian JIRA (v6.3.4#6332)