apache / apache/openwhisk

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

Open
#5,500 1 comment 1 reaction 0 assignees View on GitHub
Dominant language
Scala
Stars
6.8k
Forks
1.2k
Avg merge
2d 14h
Merged PRs (30d)
2

Description

## Environment details:

* Kubernetes tag [4e8562f](https://hub.docker.com/layers/openwhisk/invoker/4e8562f/images/sha256-bb39eaa78362240c99795b70eab311efdf4ad7d8ec5ab0b42d95b65d145ff017?context=explore)

## 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];
}

```
2. Invoke the action using the endpoint:

```
:3233/api/v1/namespaces//actions/?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:

- When `blocking=true`, the response is containing just the value.

```
[
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

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.