Azure/azure-functions-powershell-worker

Known regression: Durable Functions Activity input fails to deserialize when the input is an array

bachuv opened this issue · 1 comments

Known regression notice: Activity input fails to deserialize when the input is an array

Error description:
We have just noticed that users are experiencing errors in Durable Functions PowerShell apps with an exception that includes Exception binding parameter '<your activity parameter name>' and Unexpected character encountered while parsing value.

This issue started with Durable Functions version v2.13.0. The following extension bundles are affected:

  • v4 bundles: 4.13.1
  • v3 bundles: 3.30.1+

Repro:
Use an array type as an input to your activity function.

Orchestrator function

param($Context)

$cities = @("Tokyo", "Seattle", "Cairo")
$output = Invoke-DurableActivity -FunctionName 'Hello' -Input $cities

$output

Activity function

param($cities)

$results = @()

foreach ($city in $cities) {
    $result = "Hello $city"
    $results += $result
}

return $results

Incoming solution:
We're issuing a hotfix extension bundles release that will automatically fix any apps that are hitting the issue described here. It will take a few days to roll out.

Immediate Mitigation Options:
There are two ways to fix this issue: Pinning the extension bundles version or manually installing the working Durable Functions extension version.

  1. Pinning the extension bundles version - Update the extension bundles version in host.json to use v3.29.0 or v4.12.0.

Example:

  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle",
    "version": "[4.*, 4.13.0)"
  },
  1. Manually install Durable Functions extension version v2.12.0 or lower by following these instructions.

Resolved in latest Durable extension, closing