msciabarra commented on PR #176:
URL: 
https://github.com/apache/openwhisk-runtime-go/pull/176#issuecomment-1254223780

   > However the concurrency is already handled by the goroutines that >serve 
each of the HTTP requests.
   No. The goroutine there is used only to avoid a blocking behaviour when the 
underlying processs does not answer becuause the function crashed or is taking 
too much time. There was not a goroutine before but some issues were detected. 
If the system would get concurrent requests everything will go out of sync: the 
first request would send a line to the underlying executor, then another line, 
and this is NOT what the actionloop protocol implementation does: it reads and 
write one line at a time. Long story short: it won't work with concurrency 
enabled. Proably some check are needed to refuse execution when enabling 
concurrency because actionloop currently does not support concurrency. We have 
been discussed if we really need it but multiple runtimes are not very 
different than multiple executors in a single docker image... Furthermore 
having multiple executor would consume more memory... I am not convinced it is 
worth implementing something so complex for a little gain.


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