Skip to content

[Bug]: Go Prism Runner has a Data Race in v2.63.0 #34316

Open
@jeremyje

Description

@jeremyje

What happened?

A simple go

==================
WARNING: DATA RACE
Read at 0x00c0006c6f00 by goroutine 2960:
  runtime.mapaccess1()
      /__w/_tool/go/1.24.0/x64/src/internal/runtime/maps/runtime_swiss.go:43 +0x0
  github.com/apache/beam/sdks/v2/go/pkg/beam/runners/prism/internal/jobservices.(*Server).ReverseArtifactRetrievalService()
      /github/home/go/pkg/mod/github.com/apache/beam/sdks/[email protected]/go/pkg/beam/runners/prism/internal/jobservices/artifact.go:37 +0x139
  github.com/apache/beam/sdks/v2/go/pkg/beam/runners/prism/internal/jobservices.(*Server).ReverseArtifactRetrievalService()
      /github/home/go/pkg/mod/github.com/apache/beam/sdks/[email protected]/go/pkg/beam/runners/prism/internal/jobservices/artifact.go:30 +0x5a
  github.com/apache/beam/sdks/v2/go/pkg/beam/model/jobmanagement_v1._ArtifactStagingService_ReverseArtifactRetrievalService_Handler()
      /github/home/go/pkg/mod/github.com/apache/beam/sdks/[email protected]/go/pkg/beam/model/jobmanagement_v1/beam_artifact_api_grpc.pb.go:272 +0xe5
  google.golang.org/grpc.(*Server).processStreamingRPC()
      /github/home/go/pkg/mod/google.golang.org/[email protected]/server.go:1695 +0x1f97
  google.golang.org/grpc.(*Server).handleStream()
      /github/home/go/pkg/mod/google.golang.org/[email protected]/server.go:1819 +0x1324
  google.golang.org/grpc.(*Server).serveStreams.func2.1()
      /github/home/go/pkg/mod/google.golang.org/[email protected]/server.go:1035 +0x158
Previous write at 0x00c0006c6f00 by goroutine 2879:
  runtime.mapassign()
      /__w/_tool/go/1.24.0/x64/src/internal/runtime/maps/runtime_swiss.go:191 +0x0
  github.com/apache/beam/sdks/v2/go/pkg/beam/runners/prism/internal/jobservices.(*Server).Prepare()
      /github/home/go/pkg/mod/github.com/apache/beam/sdks/[email protected]/go/pkg/beam/runners/prism/internal/jobservices/management.go:105 +0x844
  github.com/apache/beam/sdks/v2/go/pkg/beam/model/jobmanagement_v1._JobService_Prepare_Handler()
      /github/home/go/pkg/mod/github.com/apache/beam/sdks/[email protected]/go/pkg/beam/model/jobmanagement_v1/beam_job_api_grpc.pb.go:305 +0x28e
  google.golang.org/grpc.(*Server).processUnaryRPC()
      /github/home/go/pkg/mod/google.golang.org/[email protected]/server.go:1405 +0x1bc2
  google.golang.org/grpc.(*Server).processUnaryRPC()
      /github/home/go/pkg/mod/google.golang.org/[email protected]/server.go:1361 +0x15e7
  google.golang.org/grpc.(*Server).handleStream()
      /github/home/go/pkg/mod/google.golang.org/[email protected]/server.go:1815 +0x1372
  google.golang.org/grpc.(*Server).serveStreams.func2.1()
      /github/home/go/pkg/mod/google.golang.org/[email protected]/server.go:1035 +0x158
Goroutine 2960 (running) created at:
  google.golang.org/grpc.(*Server).serveStreams.func2()
      /github/home/go/pkg/mod/google.golang.org/[email protected]/server.go:1046 +0x[214](https://github.com/jeremyje/news-ingestion/actions/runs/13887457445/job/38854092639#step:17:215)
  google.golang.org/grpc/internal/transport.(*http2Server).operateHeaders()
      /github/home/go/pkg/mod/google.golang.org/[email protected]/internal/transport/http2_server.go:626 +0x36e2
  google.golang.org/grpc/internal/transport.(*http2Server).HandleStreams()
      /github/home/go/pkg/mod/google.golang.org/[email protected]/internal/transport/http2_server.go:667 +0x39a
  google.golang.org/grpc.(*Server).serveStreams()
      /github/home/go/pkg/mod/google.golang.org/[email protected]/server.go:1029 +0x672
  google.golang.org/grpc.(*Server).handleRawConn.func1()
      /github/home/go/pkg/mod/google.golang.org/[email protected]/server.go:964 +0x86
Goroutine 2879 (running) created at:
  google.golang.org/grpc.(*Server).serveStreams.func2()
      /github/home/go/pkg/mod/google.golang.org/[email protected]/server.go:1046 +0x214
  google.golang.org/grpc/internal/transport.(*http2Server).operateHeaders()
      /github/home/go/pkg/mod/google.golang.org/[email protected]/internal/transport/http2_server.go:626 +0x36e2
  google.golang.org/grpc/internal/transport.(*http2Server).HandleStreams()
      /github/home/go/pkg/mod/google.golang.org/[email protected]/internal/transport/http2_server.go:667 +0x39a
  google.golang.org/grpc.(*Server).serveStreams()
      /github/home/go/pkg/mod/google.golang.org/[email protected]/server.go:1029 +0x672
  google.golang.org/grpc.(*Server).handleRawConn.func1()
      /github/home/go/pkg/mod/google.golang.org/[email protected]/server.go:964 +0x86
==================

Issue Priority

Priority: 2 (default / most bugs should be filed as P2)

Issue Components

  • Component: Python SDK
  • Component: Java SDK
  • Component: Go SDK
  • Component: Typescript SDK
  • Component: IO connector
  • Component: Beam YAML
  • Component: Beam examples
  • Component: Beam playground
  • Component: Beam katas
  • Component: Website
  • Component: Infrastructure
  • Component: Spark Runner
  • Component: Flink Runner
  • Component: Samza Runner
  • Component: Twister2 Runner
  • Component: Hazelcast Jet Runner
  • Component: Google Cloud Dataflow Runner

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions