I have proposed a PR[0] to change the behavior of the container proxy when an action container produces a response large enough to be truncated. The change is to leave the container running instead of killing it and most people seem to agree that's a fine idea.
This PR prompted an implementation discussion regarding the necessity of a new ActivationResponse[1] error type or if these truncations should just look like ApplicationErrors to the rest of the codebase. I had wrote the original change to create a new "Truncated" error type. I did this because it felt semantically different for OpenWhisk to alter the response via truncation rather than an ApplicationError where, the "action ran but there was an error and it was handled". Moreover, I remember someone mentioning some interest in reducing the amount of activation data stored in the db and responses that we didn't even fully pass to the caller seemed like an obvious thing to just not store. So basically, this comes down to do we think that it would be helpful for other areas of the code base to be able to distinguish between "action[s that] ran but there was an error and it was handled" and the action produced a large response that OpenWhisk truncated. -d [0] - https://github.com/apache/openwhisk/pull/4754 [1] - https://github.com/apache/openwhisk/blob/b304812c5033ecb55d9ef41aa3cfa4ce419a986d/common/scala/src/main/scala/org/apache/openwhisk/core/entity/ActivationResult.scala#L74
