Skip to content

[💡 FEATURE REQUEST]: Friendly exception text on missing Workflow behavior #2237

@roxblnfk

Description

@roxblnfk

No duplicates 🥲.

  • I have searched for a similar issue in our bug tracker and didn't find any solutions.

What happened?

Need to convert this stacktrace in a clear message, something about "Worker Versioning is enabled, but Workflow Foo has no versioning behavior" or "Workflow Foo must have versioning behavior"

Originally posted by @roxblnfk in temporalio/sdk-php#645 (comment)

Version (rr --version)

2025.1.3

How to reproduce the issue?

Configure a Temporal worker with options like this:

WorkerOptions::new()
            ->withDeploymentOptions(
                WorkerDeploymentOptions::new()
                    ->withUseVersioning(true)
                    ->withVersion(WorkerDeploymentVersion::new(self::DEPLOYMENT_NAME, self::BUILD_ID))
            );

And try too register a workflow without configured versioning behavior

Relevant log output

goroutine 1 [running]:
go.temporal.io/sdk/internal.(*AggregatedWorker).RegisterWorkflowWithOptions(0x0?, {0x7ff793c35e40?, 0xc00058e000?}, {{0xc0004e8e40?, 0x0?}, 0x0?, 0x0?})
        go.temporal.io/[email protected]/internal/internal_worker.go:1191 +0x15e
github.com/temporalio/roadrunner-temporal/v5/aggregatedpool.TemporalWorkers(0xc00058e000, 0xc0003742a0, {0xc000169688, 0x4a, 0x7ff7940719c8?}, 0xc000701500, {0x1e87dadd400, 0xc0005ae400}, 0xc0004490e0)
        github.com/temporalio/roadrunner-temporal/[email protected]/aggregatedpool/workers.go:48 +0xa15
github.com/temporalio/roadrunner-temporal/v5.(*Plugin).initPool(0xc000243ce0)
        github.com/temporalio/roadrunner-temporal/[email protected]/internal.go:93 +0x785
github.com/temporalio/roadrunner-temporal/v5.(*Plugin).Serve(0xc000243ce0)
        github.com/temporalio/roadrunner-temporal/[email protected]/plugin.go:176 +0x98
reflect.Value.call({0xc00013d1d0?, 0xc0000e6830?, 0x1e87c690108?}, {0x7ff793cf3c82, 0x4}, {0xc0004b0858, 0x1, 0xc000539728?})
        reflect/value.go:581 +0xcc6
reflect.Value.Call({0xc00013d1d0?, 0xc0000e6830?, 0x0?}, {0xc0004b0858?, 0x1?, 0x1?})
        reflect/value.go:365 +0xb9
github.com/roadrunner-server/endure/v2.(*Endure).serve(0xc00013c730)
        github.com/roadrunner-server/endure/[email protected]/serve.go:44 +0x565
github.com/roadrunner-server/endure/v2.(*Endure).Serve(0xc00013c730)
        github.com/roadrunner-server/endure/[email protected]/endure.go:208 +0xa8
github.com/roadrunner-server/roadrunner/v2025/internal/cli.NewCommand.NewCommand.func3(0xc0004d8600?, {0x7ff793cf3be6?, 0x4?, 0x7ff793cf3bea?})
        github.com/roadrunner-server/roadrunner/v2025/internal/cli/serve/command.go:74 +0x58c
github.com/spf13/cobra.(*Command).execute(0xc00012cc08, {0xc00014db00, 0x8, 0x8})
        github.com/spf13/[email protected]/command.go:1015 +0xb02
github.com/spf13/cobra.(*Command).ExecuteC(0xc00012c308)
        github.com/spf13/[email protected]/command.go:1148 +0x465
github.com/spf13/cobra.(*Command).Execute(0xc00004c2d8?)
        github.com/spf13/[email protected]/command.go:1071 +0x13
main.run()
        github.com/roadrunner-server/roadrunner/v2025/cmd/rr/main.go:26 +0x45
main.main()
        github.com/roadrunner-server/roadrunner/v2025/cmd/rr/main.go:16 +0x13

Metadata

Metadata

Assignees

Labels

C-feature-requestCategory: feature requested, but need to be discussedW-waiting on responseWait: waiting for the issue creator response

Projects

Status

📋 Backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions