[
https://issues.apache.org/jira/browse/AVRO-1754?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
John McClean updated AVRO-1754:
-------------------------------
Description:
When decoding null, the ValidatingDecoder does not call the underlying
'decodeNull' method. The result is that the next field decoded causes an
exception.
For example, if this json
{quote}
/{"a":null,"b":"bar"}
{quote}
is decoded with this schema
{quote}
{
"name": "foo",
"type": "record",
"fields": [
{ "name": "a", "type": ["null", "string"] },
{ "name": "b", "type": "string" }
]
}
{quote}
it throws an exception with the message "Invalid operation. Expected: String
got Null". This happens when 'b' is being decoded. I'll attach a patch.
was:
When decoding null, the ValidatingDecoder does not call the underlying
'decodeNull' method. The result is that the next field decoded causes an
exception.
For example, if this json
{quote}
{"a":null,"b":"bar"}
{quote}
is decoded with this schema
{quote}
{
"name": "foo",
"type": "record",
"fields": [
{ "name": "a", "type": ["null", "string"] },
{ "name": "b", "type": "string" }
]
}
{quote}
it throws an exception with the message "Invalid operation. Expected: String
got Null". This happens when 'b' is being decoded. I'll attach a patch.
> C++ ValiditingDecoder handles null incorrectly
> ----------------------------------------------
>
> Key: AVRO-1754
> URL: https://issues.apache.org/jira/browse/AVRO-1754
> Project: Avro
> Issue Type: Bug
> Components: c++
> Reporter: John McClean
>
> When decoding null, the ValidatingDecoder does not call the underlying
> 'decodeNull' method. The result is that the next field decoded causes an
> exception.
> For example, if this json
> {quote}
> /{"a":null,"b":"bar"}
> {quote}
> is decoded with this schema
> {quote}
> {
> "name": "foo",
> "type": "record",
> "fields": [
> { "name": "a", "type": ["null", "string"] },
> { "name": "b", "type": "string" }
> ]
> }
> {quote}
> it throws an exception with the message "Invalid operation. Expected: String
> got Null". This happens when 'b' is being decoded. I'll attach a patch.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)