temporalio / temporal

Temporal service
https://docs.temporal.io
MIT License
11.52k stars 823 forks source link

Can't display archived workflows which have past the retention #5022

Open Aoao54 opened 11 months ago

Aoao54 commented 11 months ago

I put this also on Slack : https://temporalio.slack.com/archives/CTRCR8RBP/p1697683052222109

Expected Behavior

Display archived workflows which have past the retention from archived file store S3.

Actual Behavior

Can't display it both in web-ui or tctl

image

➜ ~ tctl wf desc -w hello_world_workflowID -r d07eaf4b-83d4-4bf6-b387-a3ae1caf584c Error: Describe workflow execution failed Error Details: rpc error: code = NotFound desc = Workflow executionsRow not found. WorkflowId: hello_world_workflowID, RunId: d07eaf4b-83d4-4bf6-b387-a3ae1caf584c Stack trace: goroutine 1 [running]: runtime/debug.Stack() runtime/debug/stack.go:24 +0x64 runtime/debug.PrintStack() runtime/debug/stack.go:16 +0x1c github.com/temporalio/tctl/cli_curr.printError({0x101f76e2c, 0x22}, {0x1026cd0e0, 0x140001262c0}) github.com/temporalio/tctl/cli_curr/util.go:393 +0x1c0 github.com/temporalio/tctl/cli_curr.ErrorAndExit({0x101f76e2c?, 0x1026dd3a8?}, {0x1026cd0e0?, 0x140001262c0?}) github.com/temporalio/tctl/cli_curr/util.go:404 +0x28 github.com/temporalio/tctl/cli_curr.describeWorkflowHelper(0x140000c0c60, {0x16efa77e8, 0x16}, {0x16efa7802, 0x24}) github.com/temporalio/tctl/cli_curr/workflowCommands.go:905 +0x1f4 github.com/temporalio/tctl/cli_curr.DescribeWorkflow(0x140000c0c60) github.com/temporalio/tctl/cli_curr/workflowCommands.go:870 +0x68 github.com/temporalio/tctl/cli_curr.newWorkflowCommands.func15(0x140000a6640?) github.com/temporalio/tctl/cli_curr/workflow.go:237 +0x1c github.com/urfave/cli.HandleAction({0x10241d620?, 0x1026c2060?}, 0x8?) github.com/urfave/cli@v1.22.10/app.go:526 +0x94 github.com/urfave/cli.Command.Run({{0x101f38abc, 0x8}, {0x0, 0x0}, {0x1400018b150, 0x1, 0x1}, {0x101f8357d, 0x26}, {0x0, ...}, ...}, ...) github.com/urfave/cli@v1.22.10/command.go:173 +0x504 github.com/urfave/cli.(*App).RunAsSubcommand(0x1400055d340, 0x140000c09a0) github.com/urfave/cli@v1.22.10/app.go:405 +0xa68 github.com/urfave/cli.Command.startApp({{0x101f395cc, 0x8}, {0x0, 0x0}, {0x1400018b720, 0x1, 0x1}, {0x101f5f7be, 0x19}, {0x0, ...}, ...}, ...) github.com/urfave/cli@v1.22.10/command.go:378 +0x9c4 github.com/urfave/cli.Command.Run({{0x101f395cc, 0x8}, {0x0, 0x0}, {0x1400018b720, 0x1, 0x1}, {0x101f5f7be, 0x19}, {0x0, ...}, ...}, ...) github.com/urfave/cli@v1.22.10/command.go:102 +0x650 github.com/urfave/cli.(*App).Run(0x1400055cfc0, {0x140001a6000, 0x7, 0x7}) github.com/urfave/cli@v1.22.10/app.go:277 +0x7e4 main.main() ./main.go:47 +0xc0

Steps to Reproduce the Problem

  1. Set up a local S3-server and local temporal-server with this archival config

archival: history: state: "enabled" enableRead: true provider: s3store: region: "us-east-1" endpoint: "http://127.0.0.1:4566/" s3ForcePathStyle: true visibility: state: "enabled" enableRead: true provider: s3store: region: "us-east-1" endpoint: "http://127.0.0.1:4566/" s3ForcePathStyle: true

namespaceDefaults: archival: history: state: "enabled" URI: "s3://temporal-development" visibility: state: "enabled" URI: "s3://temporal-development"

  1. set a default namespace which the retention-period is 1h

    temporal operator namespace create --retention=1h default

  2. run some easy sample-go workflows. When the archived workflows past the retention, you can't open it from web-ui or describe it use tclt cmd.

    tctl wf desc -w hello_world_workflowID -r d07eaf4b-83d4-4bf6-b387-a3ae1caf584c

Specifications

yycptt commented 11 months ago

Describe workflow execution does not support archived workflows.

History for archived workflows can be retrieved from archival storage and returned via the GetWorkflowExecutionHistory API or tctl wf show when runID is specified.

Aoao54 commented 11 months ago

Thanks! Succeeded in getting history of archived workflow with tctl wf show . But still can't open it from web-ui. So this is supposed to be a UI bug.

image
Marwan-Dalaty commented 4 months ago

HI I have similar issue to the above , from the UI it keeps loading and then give me no workflows found while using tctl I can find the archived workflows . It was working before normally

Screenshot from 2024-05-27 12-07-27 {"level":"error","ts":"2024-05-27T07:40:44.567Z","msg":"service failures","operation":"ListArchivedWorkflowExecutions","wf-namespace":"default","error":"RequestCanceled: request context canceled\ncaused by: context canceled","logging-call-at":"telemetry.go:341","stacktrace":"go.temporal.io/server/common/log.(*zapLogger).Error\n\t/home/builder/temporal/common/log/zap_logger.go:156\ngo.temporal.io/server/common/rpc/interceptor.(*TelemetryInterceptor).handleError\n\t/home/builder/temporal/common/rpc/interceptor/telemetry.go:341\ngo.temporal.io/server/common/rpc/interceptor.(*TelemetryInterceptor).UnaryIntercept\n\t/home/builder/temporal/common/rpc/interceptor/telemetry.go:174\ngoogle.golang.org/grpc.getChainUnaryHandler.func1\n\t/go/pkg/mod/google.golang.org/grpc@v1.58.2/server.go:1195\ngo.temporal.io/server/service/frontend.(*RedirectionInterceptor).handleRedirectAPIInvocation.func2\n\t/home/builder/temporal/service/frontend/redirection_interceptor.go:238\ngo.temporal.io/server/service/frontend.(*NoopRedirectionPolicy).WithNamespaceRedirect\n\t/home/builder/temporal/service/frontend/dc_redirection_policy.go:125\ngo.temporal.io/server/service/frontend.(*RedirectionInterceptor).handleRedirectAPIInvocation\n\t/home/builder/temporal/service/frontend/redirection_interceptor.go:235\ngo.temporal.io/server/service/frontend.(*RedirectionInterceptor).Intercept\n\t/home/builder/temporal/service/frontend/redirection_interceptor.go:195\ngoogle.golang.org/grpc.getChainUnaryHandler.func1\n\t/go/pkg/mod/google.golang.org/grpc@v1.58.2/server.go:1195\ngo.temporal.io/server/common/authorization.(*interceptor).Interceptor\n\t/home/builder/temporal/common/authorization/interceptor.go:158\ngoogle.golang.org/grpc.getChainUnaryHandler.func1\n\t/go/pkg/mod/google.golang.org/grpc@v1.58.2/server.go:1195\ngo.temporal.io/server/common/metrics.NewServerMetricsContextInjectorInterceptor.func1\n\t/home/builder/temporal/common/metrics/grpc.go:66\ngoogle.golang.org/grpc.getChainUnaryHandler.func1\n\t/go/pkg/mod/google.golang.org/grpc@v1.58.2/server.go:1195\ngo.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc.UnaryServerInterceptor.func1\n\t/go/pkg/mod/go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc@v0.42.0/interceptor.go:344\ngoogle.golang.org/grpc.getChainUnaryHandler.func1\n\t/go/pkg/mod/google.golang.org/grpc@v1.58.2/server.go:1195\ngo.temporal.io/server/common/rpc/interceptor.(*NamespaceLogInterceptor).Intercept\n\t/home/builder/temporal/common/rpc/interceptor/namespace_logger.go:84\ngoogle.golang.org/grpc.getChainUnaryHandler.func1\n\t/go/pkg/mod/google.golang.org/grpc@v1.58.2/server.go:1195\ngo.temporal.io/server/common/rpc/interceptor.(*NamespaceValidatorInterceptor).NamespaceValidateIntercept\n\t/home/builder/temporal/common/rpc/interceptor/namespace_validator.go:111\ngoogle.golang.org/grpc.getChainUnaryHandler.func1\n\t/go/pkg/mod/google.golang.org/grpc@v1.58.2/server.go:1195\ngo.temporal.io/server/common/rpc.ServiceErrorInterceptor\n\t/home/builder/temporal/common/rpc/grpc.go:145\ngoogle.golang.org/grpc.chainUnaryInterceptors.func1\n\t/go/pkg/mod/google.golang.org/grpc@v1.58.2/server.go:1186\ngo.temporal.io/api/workflowservice/v1._WorkflowService_ListArchivedWorkflowExecutions_Handler\n\t/go/pkg/mod/go.temporal.io/api@v1.24.1-0.20231003165936-bb03061759c8/workflowservice/v1/service.pb.go:2059\ngoogle.golang.org/grpc.(*Server).processUnaryRPC\n\t/go/pkg/mod/google.golang.org/grpc@v1.58.2/server.go:1376\ngoogle.golang.org/grpc.(*Server).handleStream\n\t/go/pkg/mod/google.golang.org/grpc@v1.58.2/server.go:1753\ngoogle.golang.org/grpc.(*Server).serveStreams.func1.1\n\t/go/pkg/mod/google.golang.org/grpc@v1.58.2/server.go:998"}