You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@beam.apache.org by "Luke Cwik (Jira)" <ji...@apache.org> on 2022/03/25 20:03:00 UTC

[jira] [Commented] (BEAM-14179) MonitoringInfoMetricName null value guard uncovering additional issues

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

Luke Cwik commented on BEAM-14179:
----------------------------------

The question is what is the intended outcome in this case for these service call metrics:
1) It could be that they are required, then we should fail rightly in the code
2) They are optional and we should pass in some value like "null", "", or "N/A"
3) The key can be filtered from the map if the value is null.

> MonitoringInfoMetricName null value guard uncovering additional issues
> ----------------------------------------------------------------------
>
>                 Key: BEAM-14179
>                 URL: https://issues.apache.org/jira/browse/BEAM-14179
>             Project: Beam
>          Issue Type: Bug
>          Components: io-java-gcp, sdk-java-harness
>            Reporter: Luke Cwik
>            Assignee: Daniel Oliveira
>            Priority: P2
>             Fix For: 2.38.0
>
>
> Additional integration testing (//cloud/dataflow/testing/integration/sdk:V1ReadIT_testE2EV1Read) caught that https://github.com/apache/beam/pull/17094 causes a regression:
> The test failed with:
> {noformat}
> Caused by: java.lang.NullPointerException: null value in entry: DATASTORE_NAMESPACE=null
> 	at org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.CollectPreconditions.checkEntryNotNull(CollectPreconditions.java:32)
> 	at org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.RegularImmutableMap.fromEntryArray(RegularImmutableMap.java:100)
> 	at org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.RegularImmutableMap.fromEntries(RegularImmutableMap.java:74)
> 	at org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.ImmutableMap.copyOf(ImmutableMap.java:464)
> 	at org.apache.beam.vendor.guava.v26_0_jre.com.google.common.collect.ImmutableMap.copyOf(ImmutableMap.java:437)
> 	at org.apache.beam.runners.core.metrics.MonitoringInfoMetricName.<init>(MonitoringInfoMetricName.java:46)
> 	at org.apache.beam.runners.core.metrics.MonitoringInfoMetricName.named(MonitoringInfoMetricName.java:93)
> 	at org.apache.beam.runners.core.metrics.ServiceCallMetric.call(ServiceCallMetric.java:82)
> 	at org.apache.beam.sdk.io.gcp.datastore.DatastoreV1$Read$ReadFn.runQueryWithRetries(DatastoreV1.java:927)
> 	at org.apache.beam.sdk.io.gcp.datastore.DatastoreV1$Read$ReadFn.processElement(DatastoreV1.java:965)
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)