+
Skip to content

[Bug] Can't add search attribute to Workflow run #292

@bmorton

Description

@bmorton

What are you really trying to do?

I have a search attribute defined as ObjectID, but when I try to start a Workflow with it, I get a JSON parse error. The other parameters don't seem to impact this. I can start this Workflow programmatically with the SDK fine, so this seems to be isolated to the CLI and how it parses this input.

❯ TEMPORAL_CLI_SHOW_STACKS=1 tctl workflow run --search_attr_key 'ObjectID' --search_attr_value '02fd0862-2c72-4115-a8d6-4efd9fbcdd43' --taskqueue TEST --workflow_type test
Error: Search attribute JSON parse error.
Error Details: invalid character '2' after top-level value
Stack trace:
goroutine 1 [running]:
runtime/debug.Stack()
	runtime/debug/stack.go:24 +0x68
runtime/debug.PrintStack()
	runtime/debug/stack.go:16 +0x20
github.com/temporalio/tctl/cli_curr.printError({0x105652bd6, 0x22}, {0x1060416f8, 0x140000d8780})
	github.com/temporalio/tctl/cli_curr/util.go:392 +0x1d0
github.com/temporalio/tctl/cli_curr.ErrorAndExit({0x105652bd6?, 0x24?}, {0x1060416f8?, 0x140000d8780?})
	github.com/temporalio/tctl/cli_curr/util.go:403 +0x2c
github.com/temporalio/tctl/cli_curr.unmarshalSearchAttrFromCLI(0x1400023d8c0)
	github.com/temporalio/tctl/cli_curr/workflowCommands.go:327 +0x1fc
github.com/temporalio/tctl/cli_curr.startWorkflowHelper(0x1400023d8c0, 0x1)
	github.com/temporalio/tctl/cli_curr/workflowCommands.go:217 +0x258
github.com/temporalio/tctl/cli_curr.RunWorkflow(...)
	github.com/temporalio/tctl/cli_curr/workflowCommands.go:178
github.com/temporalio/tctl/cli_curr.newWorkflowCommands.func4(0x140003b82f0?)
	github.com/temporalio/tctl/cli_curr/workflow.go:65 +0x24
github.com/urfave/cli.HandleAction({0x105c00f00?, 0x10603b5b8?}, 0x3?)
	github.com/urfave/cli@v1.22.5/app.go:526 +0x5c
github.com/urfave/cli.Command.Run({{0x105606568, 0x3}, {0x0, 0x0}, {0x0, 0x0, 0x0}, {0x10569004b, 0x38}, {0x0, ...}, ...}, ...)
	github.com/urfave/cli@v1.22.5/command.go:173 +0x540
github.com/urfave/cli.(*App).RunAsSubcommand(0x14000836000, 0x1400023d080)
	github.com/urfave/cli@v1.22.5/app.go:405 +0x6ec
github.com/urfave/cli.Command.startApp({{0x1056109c7, 0x8}, {0x0, 0x0}, {0x140003fa8f0, 0x1, 0x1}, {0x105637fda, 0x19}, {0x0, ...}, ...}, ...)
	github.com/urfave/cli@v1.22.5/command.go:372 +0x698
github.com/urfave/cli.Command.Run({{0x1056109c7, 0x8}, {0x0, 0x0}, {0x140003fa8f0, 0x1, 0x1}, {0x105637fda, 0x19}, {0x0, ...}, ...}, ...)
	github.com/urfave/cli@v1.22.5/command.go:102 +0x698
github.com/urfave/cli.(*App).Run(0x140000d7500, {0x140001b0000, 0xb, 0xb})
	github.com/urfave/cli@v1.22.5/app.go:277 +0x620
main.main()
	./main.go:45 +0xc8

Describe the bug

It looks like it expects the value to be JSON, but this is just a string to be used as a keyword. It's possible that I'm formatting it incorrectly, but I'm following the docs at: https://docs.temporal.io/tctl/workflow/run/

Minimal Reproduction

I don't think you need an environment running to reproduce this. This seems to trigger it:

tctl workflow run --search_attr_key 'ObjectID' --search_attr_value '02fd0862-2c72-4115-a8d6-4efd9fbcdd43' --taskqueue TEST --workflow_type test

Environment/Versions

  • OS and processor: M1 Mac
  • Temporal Version: tctl 1.16.2
  • Are you using Docker or Kubernetes or building Temporal from source? Docker

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载