Uploaded image for project: 'Beam'
  1. Beam
  2. BEAM-359

AvroCoder should be able to handle anonymous classes as schemas

Details

    • Bug
    • Status: Resolved
    • P2
    • Resolution: Fixed
    • 0.1.0-incubating, 0.2.0-incubating
    • 0.2.0-incubating
    • sdk-java-core

    Description

      Currently, the determinism checker NPEs with:
      java.lang.IllegalArgumentException: Unable to get field id from class null
      at com.google.cloud.dataflow.sdk.coders.AvroCoder$AvroDeterminismChecker.getField(AvroCoder.java:710)
      at com.google.cloud.dataflow.sdk.coders.AvroCoder$AvroDeterminismChecker.checkRecord(AvroCoder.java:548)
      at com.google.cloud.dataflow.sdk.coders.AvroCoder$AvroDeterminismChecker.doCheck(AvroCoder.java:477)
      at com.google.cloud.dataflow.sdk.coders.AvroCoder$AvroDeterminismChecker.recurse(AvroCoder.java:453)
      at com.google.cloud.dataflow.sdk.coders.AvroCoder$AvroDeterminismChecker.checkRecord(AvroCoder.java:567)
      at com.google.cloud.dataflow.sdk.coders.AvroCoder$AvroDeterminismChecker.doCheck(AvroCoder.java:477)
      at com.google.cloud.dataflow.sdk.coders.AvroCoder$AvroDeterminismChecker.recurse(AvroCoder.java:453)
      at com.google.cloud.dataflow.sdk.coders.AvroCoder$AvroDeterminismChecker.check(AvroCoder.java:430)
      at com.google.cloud.dataflow.sdk.coders.AvroCoder.<init>(AvroCoder.java:189)
      at com.google.cloud.dataflow.sdk.coders.AvroCoder.of(AvroCoder.java:144)
      at mypackage.GenericsTest$1.create(GenericsTest.java:102)
      at com.google.cloud.dataflow.sdk.coders.CoderRegistry.getDefaultCoderFromFactory(CoderRegistry.java:797)
      at com.google.cloud.dataflow.sdk.coders.CoderRegistry.getDefaultCoder(CoderRegistry.java:748)
      at com.google.cloud.dataflow.sdk.coders.CoderRegistry.getDefaultCoder(CoderRegistry.java:719)
      at com.google.cloud.dataflow.sdk.coders.CoderRegistry.getDefaultCoder(CoderRegistry.java:696)
      at com.google.cloud.dataflow.sdk.coders.CoderRegistry.getDefaultCoder(CoderRegistry.java:178)
      at com.google.cloud.dataflow.sdk.values.TypedPValue.inferCoderOrFail(TypedPValue.java:147)
      at com.google.cloud.dataflow.sdk.values.TypedPValue.getCoder(TypedPValue.java:48)

      Attachments

        Issue Links

          Activity

            People

              bchambers Ben Chambers
              millsd@google.com Daniel Mills
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: