Skip to content

Temporal fails to create workflow with the same ID as previous one when Scylla is used as persistence #2683

@dbarbashov

Description

@dbarbashov

Expected Behavior

Have Temporal up and running and have its persistence configured to work with Scylla. When child-workflow sample is ran twice in a row, child workflow finishes twice.

Actual Behavior

Temporal child-workflow sample couldn't be executed twice in a row. Child workflow only finishes once and is never created second time. Seems like Temporal gets into some loop as it consumes more than 200% cpu (according to Macs' Activity Monitor). Web UI becomes unresponsive.

Also there is following error in temporal logs:

{
  "level":"error",
  "ts":"2022-03-30T17:20:42.225Z",
  "msg":"Persistent store operation Failure",
  "shard-id":1,
  "address":"127.0.0.1:7234",
  "wf-namespace-id":"1e16cd9f-097d-4e81-8969-05fce5865111",
  "wf-id":"ABC-SIMPLE-CHILD-WORKFLOW-ID",
  "wf-run-id":"e4b9f903-85dc-4b1f-ab83-77e3e321775c",
  "store-operation":"create-wf-execution",
  "error":"Encounter shard ownership lost, request range ID: 55456, actual range ID: 0",
  "logging-call-at":"transaction_impl.go:344",
  "stacktrace":"go.temporal.io/server/common/log.(*zapLogger).Error\n\t/temporal/common/log/zap_logger.go:142\ngo.temporal.io/server/service/history/workflow.createWorkflowExecutionWithRetry\n\t/temporal/service/history/workflow/transaction_impl.go:344\ngo.temporal.io/server/service/history/workflow.(*ContextImpl).CreateWorkflowExecution\n\t/temporal/service/history/workflow/context.go:343\ngo.temporal.io/server/service/history.(*historyEngineImpl).StartWorkflowExecution\n\t/temporal/service/history/historyEngine.go:580\ngo.temporal.io/server/service/history.(*Handler).StartWorkflowExecution\n\t/temporal/service/history/handler.go:527\ngo.temporal.io/server/api/historyservice/v1._HistoryService_StartWorkflowExecution_Handler.func1\n\t/temporal/api/historyservice/v1/service.pb.go:931\ngo.temporal.io/server/common/rpc/interceptor.(*RateLimitInterceptor).Intercept\n\t/temporal/common/rpc/interceptor/rate_limit.go:84\ngoogle.golang.org/grpc.chainUnaryInterceptors.func1.1\n\t/go/pkg/mod/google.golang.org/[email protected]/server.go:1116\ngo.temporal.io/server/common/rpc/interceptor.(*TelemetryInterceptor).Intercept\n\t/temporal/common/rpc/interceptor/telemetry.go:108\ngoogle.golang.org/grpc.chainUnaryInterceptors.func1.1\n\t/go/pkg/mod/google.golang.org/[email protected]/server.go:1119\ngo.temporal.io/server/common/metrics.NewServerMetricsTrailerPropagatorInterceptor.func1\n\t/temporal/common/metrics/grpc.go:113\ngoogle.golang.org/grpc.chainUnaryInterceptors.func1.1\n\t/go/pkg/mod/google.golang.org/[email protected]/server.go:1119\ngo.temporal.io/server/common/metrics.NewServerMetricsContextInjectorInterceptor.func1\n\t/temporal/common/metrics/grpc.go:66\ngoogle.golang.org/grpc.chainUnaryInterceptors.func1.1\n\t/go/pkg/mod/google.golang.org/[email protected]/server.go:1119\ngo.temporal.io/server/common/rpc.ServiceErrorInterceptor\n\t/temporal/common/rpc/grpc.go:131\ngoogle.golang.org/grpc.chainUnaryInterceptors.func1.1\n\t/go/pkg/mod/google.golang.org/[email protected]/server.go:1119\ngoogle.golang.org/grpc.chainUnaryInterceptors.func1\n\t/go/pkg/mod/google.golang.org/[email protected]/server.go:1121\ngo.temporal.io/server/api/historyservice/v1._HistoryService_StartWorkflowExecution_Handler\n\t/temporal/api/historyservice/v1/service.pb.go:933\ngoogle.golang.org/grpc.(*Server).processUnaryRPC\n\t/go/pkg/mod/google.golang.org/[email protected]/server.go:1282\ngoogle.golang.org/grpc.(*Server).handleStream\n\t/go/pkg/mod/google.golang.org/[email protected]/server.go:1616\ngoogle.golang.org/grpc.(*Server).serveStreams.func1.2\n\t/go/pkg/mod/google.golang.org/[email protected]/server.go:921"
}

Steps to Reproduce the Problem

  1. Clone reproduction repo
  2. Follow Steps to reproduce section

Specifications

  • Version: 1.15.2
  • Platform: Mac OS Monterey 12.2.1 (M1)

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