This repository was archived by the owner on Aug 26, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 5
This repository was archived by the owner on Aug 26, 2022. It is now read-only.
Action Entity send_stream_msg don't send all the chunks #112
Copy link
Copy link
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Describe the bug
When making a request via stream, the first payload sent in the stream is not sent to the user function.
Example:
/home/sleipnir/go/bin/grpcurl -d @ --plaintext localhost:9000 cloudstate.tck.model.action.ActionTckModel/ProcessStreamed <<EOF
{
"groups":{
"steps":[
{
"reply":{
"message":"The north face was first climbed on July 24, 1938"
}
}
]
}
}
{
"groups":{
"steps":[
{
"reply":{
"message":"The north face was first climbed on July 24, 1939"
}
}
]
}
}
{
"groups":{
"steps":[
{
"reply":{
"message":"The north face was first climbed on July 24, 1940"
}
}
]
}
}
{
"groups":{
"steps":[
{
"reply":{
"message":"The north face was first climbed on July 24, 1941"
}
}
]
}
}
EOFThe logs resulting from this request is:
2022-02-13 06:41:27.112 [massa-001@127.0.0.1]:[pid=<0.3878.0> ]:[debug]:Running client stream #Function<59.58486609/2 in Stream.transform/3>
2022-02-13 06:41:27.112 [massa-001@127.0.0.1]:[pid=<0.3878.0> ]:[debug]:send_stream_msg %Cloudstate.Action.ActionCommand{metadata: %Cloudstate.Metadata{entries: []}, name: "ProcessStreamed", payload: nil, service_name: "cloudstate.tck.model.action.ActionTckModel"}
2022-02-13 06:41:27.113 [massa-001@127.0.0.1]:[pid=<0.3878.0> ]:[debug]:send_stream_msg %Cloudstate.Action.ActionCommand{metadata: nil, name: "", payload: %Google.Protobuf.Any{type_url: "type.googleapis.com/cloudstate.tck.model.action.Request", value: "\n7\n5\n3\n1The north face was first climbed on July 24, 1939"}, service_name: ""}
2022-02-13 06:41:27.113 [massa-001@127.0.0.1]:[pid=<0.3878.0> ]:[debug]:send_stream_msg %Cloudstate.Action.ActionCommand{metadata: nil, name: "", payload: %Google.Protobuf.Any{type_url: "type.googleapis.com/cloudstate.tck.model.action.Request", value: "\n7\n5\n3\n1The north face was first climbed on July 24, 1940"}, service_name: ""}
2022-02-13 06:41:27.114 [massa-001@127.0.0.1]:[pid=<0.3878.0> ]:[debug]:send_stream_msg %Cloudstate.Action.ActionCommand{metadata: nil, name: "", payload: %Google.Protobuf.Any{type_url: "type.googleapis.com/cloudstate.tck.model.action.Request", value: "\n7\n5\n3\n1The north face was first climbed on July 24, 1941"}, service_name: ""}
As you can see from the payload: nil the first message goes with the payload attribute empty, and that's why in the reacquisition return only three messages are returned instead of four:
...
EOF
{
"message": "The north face was first climbed on July 24, 1939"
}
{
"message": "The north face was first climbed on July 24, 1940"
}
{
"message": "The north face was first climbed on July 24, 1941"
}
To Reproduce
Steps to reproduce the behavior:
- Execute docker user function
docker run -it --rm -p 8090:8080 gcr.io/eigr-io/eigr-go-tck-action - Execute proxy
MIX_ENV=prod USER_FUNCTION_PORT=8090 iex --name massa-001@127.0.0.1 -S mix - Via grpcurl run the request from the example above
- See error
Expected behavior
That the response of all messages return in the console.
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working