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]

Reply via email to