You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Anubhav Siddharth (JIRA)" <ji...@apache.org> on 2018/06/08 05:09:00 UTC
[jira] [Commented] (AVRO-2186) avro::Exception string gives the
incorrect message
[ https://issues.apache.org/jira/browse/AVRO-2186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16505711#comment-16505711 ]
Anubhav Siddharth commented on AVRO-2186:
-----------------------------------------
This seems to be an important issue in our project. Since we are validating the exception string to indicate a failure of encoding. Can someone spend some time on this issue?
> avro::Exception string gives the incorrect message
> --------------------------------------------------
>
> Key: AVRO-2186
> URL: https://issues.apache.org/jira/browse/AVRO-2186
> Project: Avro
> Issue Type: Bug
> Components: c++
> Affects Versions: 1.8.2
> Environment: {code:java}
> Linux bream 2.6.39-200.24.1.el6uek.x86_64 #1 SMP Sat Jun 23 02:39:07 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux
> {code}
>
> Reporter: Anubhav Siddharth
> Priority: Major
>
> When a field specified in schema is missing and we call avro::encode on the data. It throws an exception, which is as expected. But the issue is with the error message. It comes the other way round.
> Schema:
> {code:java}
> {
> "type" : "record",
> "name" : "userInfo",
> "fields" : [
> { "name" : "id", "type" : "int"},
> { "name" : "fullName", "type" : "string" }
> ]
> }
> {code}
> The generic datum to be encoded has no "id" provided. There is an empty GenericDatum for that field. Here is the excetion that is thrown:
> {code:java}
> avro::Exception caught: Invalid operation. Expected: Null got Int{code}
> The exception message should have been
> avro::Exception caught: Invalid operation. Expected: {color:#FF0000}*Int got Null*{color}
>
> {color:#333333}Please let us know if you need more information on this.{color}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)