You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@beam.apache.org by "Kenneth Knowles (Jira)" <ji...@apache.org> on 2022/01/12 03:51:02 UTC

[jira] [Updated] (BEAM-12504) SpannerIO Read SessionNotFoundException for long-running pipline

     [ https://issues.apache.org/jira/browse/BEAM-12504?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kenneth Knowles updated BEAM-12504:
-----------------------------------

This Jira ticket has a pull request attached to it, but is still open. Did the pull request resolve the issue? If so, could you please mark it resolved? This will help the project have a clear view of its open issues.

> SpannerIO Read SessionNotFoundException for long-running pipline
> ----------------------------------------------------------------
>
>                 Key: BEAM-12504
>                 URL: https://issues.apache.org/jira/browse/BEAM-12504
>             Project: Beam
>          Issue Type: Bug
>          Components: io-java-gcp
>            Reporter: Minbo Bae
>            Priority: P3
>         Attachments: spanner_error.png, spanner_graph.png
>
>          Time Spent: 2h 10m
>  Remaining Estimate: 0h
>
> [SpannderIO|https://github.com/apache/beam/blob/v2.30.0/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/spanner/SpannerIO.java#L328]  creates a transaction session with [CreateTransaction|https://github.com/apache/beam/blob/v2.30.0/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/spanner/SpannerIO.java#L747] at the beginning of pipeline run. If the pipeline takes a long time to run SpannerIO.ReadAll like the following, the session can be [cleaned up|https://cloud.google.com/spanner/docs/sessions#keep_an_idle_session_alive] by Spanner service. The Spanner read step fails with  error {{com.google.cloud.spanner.SessionNotFoundException: NOT_FOUND: com.google.api.gax.rpc.NotFoundException: io.grpc.StatusRuntimeException: NOT_FOUND: Session not found: projects/<PROJECT>/instances/<INSTANCE>/databases/<DATABASE>/sessions/<SESSION_ID>}}
> {code:java}
>  PCollection<ReadOperation> queries = pipeline
>   .apply(Create.of((Void)null))
>  .apply(ParDo.of( ... )); // long running. for example more than 2 hours
> queries
>  .apply(SpanerIO.readAll().withSpannerConfig(...))
>   .apply(ParDo.of( ... ));
> {code}
> See the attached files for my job graph and errors in Dataflow.
>  



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