[ 
https://issues.apache.org/jira/browse/BEAM-9020?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17002345#comment-17002345
 ] 

Tomo Suzuki commented on BEAM-9020:
-----------------------------------

[~lcwik] , [[email protected]], [~boyuanz] (Got your names from 
https://github.com/apache/beam/pull/8288) Apart from 
{{LengthPrefixUnknownCodersTest}}, do you have any concern on GenericData 
(superclass of CloudObject) having its own {{equals}} method? With that 
google-http-client upgrade, a {{CloudObject}} never be {{equal}} to a {{Map}}.

> 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
>            Priority: Major
>
> 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 
> ([Jenkins|https://builds.apache.org/job/beam_PreCommit_Java_Commit/9288/#showFailuresLink]):
> {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