Avro
  1. Avro
  2. AVRO-383

Optimizing ResolvingDecoder for default values

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.3.0
    • Component/s: java
    • Labels:
      None

      Description

      When the reader's and writer's schemas are records and the reader's schema has a field with default value and the writer's schema doesn't have the field, the ResolvingDecoder keeps the default value in a byte array. This byte array is in Json format. Moving this to Avro binary format improves performance.

      Apply the test patch and try "Perf -M". Then apply the patch and run it again. On my machine, the performance is three times the original.

      1. AVRO-383.patch
        11 kB
        Thiruvalluvan M. G.
      2. AVRO-383-new.patch
        2 kB
        Thiruvalluvan M. G.
      3. AVRO-383-new-test.patch
        1 kB
        Thiruvalluvan M. G.
      4. AVRO-383-test.patch
        2 kB
        Thiruvalluvan M. G.

        Activity

          People

          • Assignee:
            Thiruvalluvan M. G.
            Reporter:
            Thiruvalluvan M. G.
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development