0x161e-swei commented on PR #176: URL: https://github.com/apache/openwhisk-runtime-go/pull/176#issuecomment-1254183598
@msciabarra Thanks a lot for taking a look at this! > Runtimes are not expected to execute concurrent requests. My understanding from reading the openwhisk invoker implementation and container wrapper ([here](https://github.com/apache/openwhisk/blob/master/common/scala/src/main/scala/org/apache/openwhisk/core/containerpool/Container.scala#L161)) is that concurrent actionvations are possible for a single container (and therefore runtime). > To implement concurrent requests a lot of work is required to create multiple executors of the functions and dispatch request to the free one. Multiple executors could enable parallel execution of the actions if they talk to different action processes. However the concurrency is already handled by the goroutines that serve each of the HTTP requests. This PR tries to make sure responses are parsed correctly when concurrent requests are sent to the go proxy while only one executor process executes the actions serially. Maybe a check of the concurrency config in the env variable is needed to make sure the mutex does not degrade the performance unnecessarily? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
