Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to test greeting workflow in Synapse? #357

Closed
mumubin opened this issue Nov 6, 2023 · 3 comments
Closed

How to test greeting workflow in Synapse? #357

mumubin opened this issue Nov 6, 2023 · 3 comments

Comments

@mumubin
Copy link

mumubin commented Nov 6, 2023

I am new to serverless workflow, I want to test it's example in synapse.
Here is my test example workflow.

{
  "id": "greeting",
  "name": "Greeting Workflow",
  "description": "Greet Someone",
  "version": "1.0.5",
  "specVersion": "0.8",
  "functions": [
    {
      "name": "greetingFunction",
      "operation": "https://gist.githubusercontent.com/mumubin/7d6ede1791ddd6fb705576187f91c930/raw/5357026c05ddb641de52b27d5e922856be1243e3/greeting.yaml#randomGreeting",
      "type": "rest"
    }
  ],
  "start": "Greet",
  "states": [
    {
      "name": "Greet",
      "type": "operation",
      "actions": [
        {
          "actionDataFilter": {
            "results": "${ {greeting: .greeting} }"
          },
          "functionRef": {
            "refName": "greetingFunction",
            "arguments": {
              "name": "${ .person.name }"
            }
          }
        }
      ],
      "end": true
    }
  ]
}

here is my input data

{
  "person": {
    "name": "John"
  }
}

But I got the error output

{
  "code": "NullReference",
  "message": "Failed to find an action that matches the metadata specified by the activity with id '71ca09e5-9968-4190-936c-41a938aba16a'"
}

This is the log

 
Input/Output
Activities
Logs
�C[05:53:20] info: Synapse.Worker.Services.WorkflowRuntimeContext[0]
�h Initializing the runtime context for workflow instance with id 'greeting-egi9dh3iusbnzeohsijw'...
�/[05:53:20] info: Microsoft.Hosting.Lifetime[0]
�6 Application started. Press Ctrl+C to shut down.
�/[05:53:20] info: Microsoft.Hosting.Lifetime[0]
�& Hosting environment: Production
�/[05:53:20] info: Microsoft.Hosting.Lifetime[0]
�� Content root path: /app
�C[05:53:21] info: Synapse.Worker.Services.WorkflowRuntimeContext[0]
�D Retrieving definition of workflow with id 'greeting:1.0.5'...
�C[05:53:21] info: Synapse.Worker.Services.WorkflowRuntimeContext[0]
�" Runtime context initialized
�<[05:53:21] info: Synapse.Worker.Services.WorkflowRuntime[0]
�+ Starting the workflow's execution...
�O[05:53:21] info: Synapse.Worker.Services.Processors.OperationStateProcessor[0]
�V Initializing activity '6659cc95-bc5a-450a-905c-7ec3a005a6b5' (type: 'State')...
�M[05:53:21] fail: Synapse.Worker.Services.WorkflowActivityProcessorFactory[0]
��� An error occured while creating a new processor for the activity with id '71ca09e5-9968-4190-936c-41a938aba16a': System.NullReferenceException: Failed to find an action that matches the metadata specified by the activity with id '71ca09e5-9968-4190-936c-41a938aba16a'
�� at Synapse.Worker.Services.WorkflowActivityProcessorFactory.CreateActionActivityProcessor(StateDefinition state, V1WorkflowActivity activity) in /src/src/apps/Synapse.Worker/Services/WorkflowActivityProcessorFactory.cs:line 125
�� at Synapse.Worker.Services.WorkflowActivityProcessorFactory.Create(V1WorkflowActivity activity) in /src/src/apps/Synapse.Worker/Services/WorkflowActivityProcessorFactory.cs:line 72
�O[05:53:21] warning: Synapse.Worker.Services.Processors.OperationStateProcessor[0]
��� An error occured while executing the activity '6659cc95-bc5a-450a-905c-7ec3a005a6b5' (type: 'State')/r/nDetails:/r/nSystem.NullReferenceException: Failed to find an action that matches the metadata specified by the activity with id '71ca09e5-9968-4190-936c-41a938aba16a'
�� at Synapse.Worker.Services.WorkflowActivityProcessorFactory.CreateActionActivityProcessor(StateDefinition state, V1WorkflowActivity activity) in /src/src/apps/Synapse.Worker/Services/WorkflowActivityProcessorFactory.cs:line 125
�� at Synapse.Worker.Services.WorkflowActivityProcessorFactory.Create(V1WorkflowActivity activity) in /src/src/apps/Synapse.Worker/Services/WorkflowActivityProcessorFactory.cs:line 72
�� at Synapse.Worker.Services.WorkflowActivityProcessorFactory.Synapse.Worker.Services.IWorkflowActivityProcessorFactory.Create(V1WorkflowActivity activity) in /src/src/apps/Synapse.Worker/Services/WorkflowActivityProcessorFactory.cs:line 320
�� at Synapse.Worker.Services.WorkflowActivityProcessor.CreateProcessorFor(V1WorkflowActivity activity) in /src/src/apps/Synapse.Worker/Services/WorkflowActivityProcessor.cs:line 194
�� at Synapse.Worker.Services.Processors.OperationStateProcessor.CreateProcessorFor(V1WorkflowActivity activity) in /src/src/apps/Synapse.Worker/Services/Processors/OperationStateProcessor.cs:line 46
�� at Synapse.Worker.Services.Processors.OperationStateProcessor.StartAsync() in /src/src/apps/Synapse.Worker/Services/Processors/OperationStateProcessor.cs:line 103
�� at Synapse.Worker.Services.Processors.OperationStateProcessor.InitializeAsync(CancellationToken cancellationToken) in /src/src/apps/Synapse.Worker/Services/Processors/OperationStateProcessor.cs:line 60
�� at Synapse.Worker.Services.WorkflowActivityProcessor.<>c__DisplayClass30_0.<b__0>d.MoveNext() in /src/src/apps/Synapse.Worker/Services/WorkflowActivityProcessor.cs:line 103
�<[05:53:22] warning: Synapse.Worker.Services.WorkflowRuntime[0]
�� An error occured while executing the workflow instance: System.NullReferenceException: Failed to find an action that matches the metadata specified by the activity with id '71ca09e5-9968-4190-936c-41a938aba16a'
�� at Synapse.Worker.Services.WorkflowActivityProcessorFactory.CreateActionActivityProcessor(StateDefinition state, V1WorkflowActivity activity) in /src/src/apps/Synapse.Worker/Services/WorkflowActivityProcessorFactory.cs:line 125
�� at Synapse.Worker.Services.WorkflowActivityProcessorFactory.Create(V1WorkflowActivity activity) in /src/src/apps/Synapse.Worker/Services/WorkflowActivityProcessorFactory.cs:line 72
�� at Synapse.Worker.Services.WorkflowActivityProcessorFactory.Synapse.Worker.Services.IWorkflowActivityProcessorFactory.Create(V1WorkflowActivity activity) in /src/src/apps/Synapse.Worker/Services/WorkflowActivityProcessorFactory.cs:line 320
�� at Synapse.Worker.Services.WorkflowActivityProcessor.CreateProcessorFor(V1WorkflowActivity activity) in /src/src/apps/Synapse.Worker/Services/WorkflowActivityProcessor.cs:line 194
�� at Synapse.Worker.Services.Processors.OperationStateProcessor.CreateProcessorFor(V1WorkflowActivity activity) in /src/src/apps/Synapse.Worker/Services/Processors/OperationStateProcessor.cs:line 46
�� at Synapse.Worker.Services.Processors.OperationStateProcessor.StartAsync() in /src/src/apps/Synapse.Worker/Services/Processors/OperationStateProcessor.cs:line 103
�� at Synapse.Worker.Services.Processors.OperationStateProcessor.InitializeAsync(CancellationToken cancellationToken) in /src/src/apps/Synapse.Worker/Services/Processors/OperationStateProcessor.cs:line 60
�� at Synapse.Worker.Services.WorkflowActivityProcessor.<>c__DisplayClass30_0.<b__0>d.MoveNext() in /src/src/apps/Synapse.Worker/Services/WorkflowActivityProcessor.cs:line 103
�/[05:53:22] info: Microsoft.Hosting.Lifetime[0]
�& Application is shutting down...
@cdavernas
Copy link
Member

@mumubin Can you try naming your action and see if that works?

We are working in SW to make name or id required for every single component, and I took the initiative to already enforce it on Synapse

@mumubin
Copy link
Author

mumubin commented Nov 7, 2023

Thanks @cdavernas .
After adding action name, it works.
However, the YAML file I tested came from https://github.com/serverlessworkflow/specification/blob/main/examples/README.md#workflow-definition-1.
It seems a bug in the examples. Let me submit a pr to fix it.

@mumubin
Copy link
Author

mumubin commented Nov 7, 2023

Fixed SW yaml.

{
  "id": "greeting",
  "name": "Greeting Workflow",
  "description": "Greet Someone",
  "version": "1.0.8",
  "specVersion": "0.8",
  "functions": [
    {
      "name": "greetingFunction",
      "operation": "https://gist.githubusercontent.com/mumubin/7d6ede1791ddd6fb705576187f91c930/raw/5357026c05ddb641de52b27d5e922856be1243e3/greeting.yaml#randomGreeting",
      "type": "rest"
    }
  ],
  "start": "Greet",
  "states": [
    {
      "name": "Greet",
      "type": "operation",
      "actions": [
        {
          "name": "GreetingAction",
          "actionDataFilter": {
            "results": "${ {greeting: .greeting} }"
          },
          "functionRef": {
            "refName": "greetingFunction",
            "arguments": {
              "name": "${ .person.name }"
            }
          }
        }
      ],
      "end": true
    }
  ]
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants