You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Andrew Kelleher (JIRA)" <ji...@apache.org> on 2018/09/14 13:30:00 UTC

[jira] [Created] (AVRO-2226) UnionSchema deduction is too permissive

Andrew Kelleher created AVRO-2226:
-------------------------------------

             Summary: UnionSchema deduction is too permissive
                 Key: AVRO-2226
                 URL: https://issues.apache.org/jira/browse/AVRO-2226
             Project: Avro
          Issue Type: Bug
          Components: python
    Affects Versions: 1.8.2
            Reporter: Andrew Kelleher


When given a schema of the form
{code:java}
{
  "type" : "record",
  "name" : "A",
  "namespace" : "com.example",
  "fields" : [
    {
      "name" : "foo",
      "type" : ["string", "null"]
    }
  ]
}
{
  "type" : "record",
  "name" : "B",
  "namespace" : "com.example",
  "fields" : [
    {
      "name" : "bar",
      "type" : ["string", "null"]
    }
  ]
}
{
  "type" : "record",
  "name" : "AOrB",
  "namespace" : "com.example",
  "fields" : [
    {
      "name" : "entity",
      "type" : [
        "com.example.A",
        "com.example.B"
      ]
    }
  ]
}
{code}
And a datum of the form
{code}
{'entity': {'foo': 'this is an instance of schema A'}}{code}
Converting to a message, and then from a message chooses the incorrect `entity` schema:
{code}
{'entity': {'bar': None}}{code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)