apache / openwhisk

Apache OpenWhisk is an open source serverless cloud platform
https://openwhisk.apache.org/
Apache License 2.0
6.56k stars 1.17k forks source link

Return of Arrays in Node.js Action does not return error and return invalid response #5500

Open emanuelpinho opened 4 months ago

emanuelpinho commented 4 months ago

Environment details:

Bug description

I am experiencing unexpected behavior when invoking a Node.js action that returns an array with blocking query parameter.

Steps to reproduce the issue:

  1. Create the following Node.js function:
function main(params) {
  return [1,2,3,4];
}
  1. Invoke the action using the endpoint:
<host>:3233/api/v1/namespaces/<namespace>/actions/<action_name>?blocking=true&result=false

Provide the expected results and outputs:

Since openwhisk requires return of dictionaries, the return value should be either an error or should include the complete activation, not just the result.

{
    "activationId": "d5a794ff47d4464fa794ff47d4f64f4f",
    "annotations": [...],
    "duration": 31,
    "end": 1721835003446,
    "logs": [],
    "name": "test-new",
    "namespace": "ns",
    "publish": false,
    "response": {
        "result": [1,2,3,4],
        "size": 2,
        "status": "success",
        "success": true
    },
    "start": 1721835003415,
    "subject": "bb713d3e-278b-4ba9-bfe0-f534283554cc",
    "version": "0.0.24"
}

Provide the actual results and outputs:

[
  1,
  2,
  3,
  4
]

Additional information you deem important:

Issue is happening with last versions of docker images published. https://github.com/apache/openwhisk/issues/2027

maurodelazeri commented 4 months ago

I got the same problem