Uploaded image for project: 'Apache Avro'
  1. Apache Avro
  2. AVRO-1296

Python: schemas retrieved from protocol types ignore namespace

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.7.4
    • 1.7.5
    • python
    • None

    Description

      If I parse a protocol p using avro.protocol.parse, which defines "namespace": "ns" and then retrieve a child schema s from the protocol's proto.types (or proto.types_dict), then s does not have its namespace set (to ns), even if p has a namespace.

      This is particularly problematic if I'm using s to write out an avro file intended to be read by a specific-type reader, because the file header will claim to be objects of type s (not ns.s, as expected).

      I've attached two patches: one that makes sure that the namespace property of protocol types is set to the default namespace of the protocol when not otherwise set.

      The second patch ensures that the namespace is not rendered into JSON when a default protocol specifies the right value already.

      Attachments

        1. AVRO-1296b.patch
          3 kB
          Jeremy Kahn
        2. AVRO-1296a.patch
          2 kB
          Jeremy Kahn

        Activity

          People

            trochee Jeremy Kahn
            trochee Jeremy Kahn
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: