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

Ahmet Altay commented on BEAM-6545:
-----------------------------------

I do not understand why this is failing for the released version 2.9.0.

Beam depends on 1.27.0 version of the google-http-library 
([https://github.com/apache/beam/blob/release-2.9.0/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy#L311|https://www.google.com/url?q=https://github.com/apache/beam/blob/release-2.9.0/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy%23L311&sa=D&usg=AFQjCNHxtKDUbcDm57_BHZxQ3ml-Giy-7A])
1.27.0 of the google-http-library users the null safe version of decodeBase64 
from apache commons 
([https://github.com/googleapis/google-http-java-client/blob/v1.27.0/google-http-client/src/main/java/com/google/api/client/util/Base64.java#L101|https://www.google.com/url?q=https://github.com/googleapis/google-http-java-client/blob/v1.27.0/google-http-client/src/main/java/com/google/api/client/util/Base64.java%23L101&sa=D&usg=AFQjCNEBI6RP6LoOqN6jQZoOnjKztGCTZA])
This was changed in 1.28.0 
([https://github.com/googleapis/google-http-java-client/blob/v1.28.0/google-http-client/src/main/java/com/google/api/client/util/Base64.java#L91|https://www.google.com/url?q=https://github.com/googleapis/google-http-java-client/blob/v1.28.0/google-http-client/src/main/java/com/google/api/client/util/Base64.java%23L91&sa=D&usg=AFQjCNGRmg9aOwpaVdI4ZbjlPa5G0IEINw])
 but Beam does not use this version.

We need to update our code before upgrading the dependency. But I am not yet 
sure why this is failing as it is.

> NPE when decoding null base 64 strings
> --------------------------------------
>
>                 Key: BEAM-6545
>                 URL: https://issues.apache.org/jira/browse/BEAM-6545
>             Project: Beam
>          Issue Type: Bug
>          Components: sdk-java-harness
>    Affects Versions: 2.9.0
>            Reporter: Ahmet Altay
>            Assignee: Ahmet Altay
>            Priority: Major
>             Fix For: 2.10.0
>
>
> **ByteArrayShufflePosition.fromBase64 is marked with a @Nullable argument, 
> however it does not properly handle null inputs resulting in NPE.
> This seems like an unintended change we picked up from the dependency: 
> google-http-java-client/ switched from apache commons to guava 
> ([https://github.com/googleapis/google-http-java-client/commit/990c534f0e5103a142b0639c12c90cb990a00cfd#diff-97264fba16d690a26d63fbbc992af937)]
>  
>  
> and decodeBase64 behaves differently in both cases. Former can handle null by 
> returning null, latter will throw NPE.
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to