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]
