openwhisk-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michele Sciabarra <openwh...@sciabarra.com>
Subject Upcoming changes in the Go runtime for... future expansion
Date Fri, 09 Mar 2018 19:03:31 GMT
I am loyal to the classical apache way, where everything was happening on the ML, so even if
the discussion was sorted out in Slack, I drop an email here to let everyone else to know
what is happening.

Basically, there is a "secret plan" to conquer the world... well to make Swift actions (that
are pretty important) faster.
And also another one to implement streaming, but this is another story. 
So I will have to make the go runtime compatible to allow for those expansions.

In short, while by default Go logs in stderr, Swift by default logs in stdout... and it will
mess out the "conversation" with the pipe. To avoid this problem, I will have to write the
answer on another channel, leaving stdout AND stderr for log... because Go logs by default
on stderr, and Swift logs by default in stdout ...

Another problem is the handshake. Well it is not really a problem except ... the current implementation
of init is lazy and does not do many checks. They rely on the timeout to get rid of misbehaving
actions.

In conclusion I am going to change the Go runtime this way:

- accept more or less any <censored> stuff the user sends
- detect more errors at /run-time 
- write output in (ouch!) channel 3 (argh!) to prepare to support Swift
- rely in timeout (that force a kill of the runtime) for cleaning the mess (a.k.a.: if I spill
on the floor I will wait for the cleaning woman)

Guys, did I miss something?

-- 
  Michele Sciabarra
  openwhisk@sciabarra.com

Mime
View raw message