Tomo Suzuki created BEAM-9020:
---------------------------------

             Summary: LengthPrefixUnknownCodersTest to avoid relying on 
AbstractMap's equality
                 Key: BEAM-9020
                 URL: https://issues.apache.org/jira/browse/BEAM-9020
             Project: Beam
          Issue Type: Improvement
          Components: io-java-gcp
            Reporter: Tomo Suzuki


>From https://issues.apache.org/jira/browse/BEAM-8695. The following tests 
>failed when trying to upgrade google-http-client v1.34.0. The failures are 
>because LengthPrefixUnknownCodersTest relies on the equality of 
>{{CloudObject}} with Map.

Class hierarchy:
{noformat}
CloudObject < GenericJson < GenericData < AbstractMap
{noformat}
It was working fine as long as CloudObject's equality inherits 
AbstractMap.equality.
{code:java}
assertEquals(
    CloudObjects.asCloudObject(prefixedWindowedValueCoder, null),   // This is 
a CloudObject
    lengthPrefixedCoderCloudObject);                             // This is a 
Map
{code}
However, with google-http-client v1.29.0 or higher, GenericData has its own 
{{equals}} method 
([PR#589|https://github.com/googleapis/google-http-java-client/pull/589]) and 
thus the comparisons between GenericData and Map fail.

Test failures when I tried to upgrade google-http-client 1.34.0:
{noformat}
org.apache.beam.runners.dataflow.worker.graph.LengthPrefixUnknownCodersTest.testLengthPrefixUnknownCoders
org.apache.beam.runners.dataflow.worker.graph.LengthPrefixUnknownCodersTest.testLengthPrefixForInstructionOutputNodeWithGrpcNodeSuccessor
org.apache.beam.runners.dataflow.worker.graph.LengthPrefixUnknownCodersTest.testLengthPrefixForLengthPrefixCoder
org.apache.beam.runners.dataflow.worker.graph.LengthPrefixUnknownCodersTest.testLengthPrefixForSideInputInfos
org.apache.beam.runners.dataflow.worker.graph.LengthPrefixUnknownCodersTest.testLengthPrefixParDoInstructionCoder
org.apache.beam.runners.dataflow.worker.graph.LengthPrefixUnknownCodersTest.testLengthPrefixInstructionOutputCoder
org.apache.beam.runners.dataflow.worker.graph.LengthPrefixUnknownCodersTest.testLengthPrefixWriteInstructionCoder
org.apache.beam.runners.dataflow.worker.graph.LengthPrefixUnknownCodersTest.testLengthPrefixAndReplaceUnknownCoder
org.apache.beam.runners.dataflow.worker.graph.LengthPrefixUnknownCodersTest.testLengthPrefixAndReplaceForRunnerNetwork
org.apache.beam.runners.dataflow.worker.graph.LengthPrefixUnknownCodersTest.testLengthPrefixForInstructionOutputNodeWithGrpcNodePredecessor
org.apache.beam.runners.dataflow.worker.graph.LengthPrefixUnknownCodersTest.testLengthPrefixReadInstructionCoder
{noformat}






--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to