You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@openwhisk.apache.org by gi...@git.apache.org on 2017/08/19 21:15:40 UTC

[GitHub] tleyden opened a new issue #2652: Indicate that process was killed due to OutOfMemory issue

tleyden opened a new issue #2652: Indicate that process was killed due to OutOfMemory issue
URL: https://github.com/apache/incubator-openwhisk/issues/2652
 
 
   
   Currently if OpenWhisk kills a process due to exceeding memory limits, it doesn't appear to indicate that anywhere.  In my case I was seeing a result of 
   
   ```
   "response": {
           "status": "action developer error",
           "statusCode": 0,
           "success": false,
           "result": {
               "error": "The action did not produce a valid response and exited unexpectedly."
           }
       },
   ```
   
   and it took quite a bit of digging to figure out that's why it was killed.  Would have been a big time-saver if there was another field in the result that somehow indicated that it was killed for this reason.
   
   ## Environment details:
   
   * Bluemix
   
   ## Steps to reproduce the issue:
   
   1.   Create actions + activations that have large amounts of output
   2.   Modify [this monitoring code](https://github.com/tleyden/keynuker/blob/70b4d72476c205214caad66ad17c89cb323c622d/openwhisk_status.go#L84-L93) to set the `Limit` to 0 (unlimited).  This will cause it to pull hundreds of activations which include the full doc result of the activation, which may have hundreds of KB of output.  It all adds up to more than 256MB (or even 512MB) of RAM
   3.  Install it to run on Bluemix using this [modified openwhisk-dockerskeleton](https://github.com/tleyden/openwhisk-dockerskeleton), which essentially runs a [python REST listener](https://github.com/tleyden/openwhisk-dockerskeleton/blob/master/actionproxy.py) that invokes a compiled Go executable and passes the JSON and receives the result over stdio.
   
   
   ## Provide the expected results and outputs:
   
   ```
   "response": {
           "status": "action developer error",
           "statusCode": 0,
           "success": false,
           "result": {
               "error": "The action did not produce a valid response and exited unexpectedly.",
               "detail": "Killed due to hitting 256MB RAM limit"   <-- this is the enhancement request!
           }
       },
   ```
   
   
   ## Provide the actual results and outputs:
   
   ```
   "response": {
           "status": "action developer error",
           "statusCode": 0,
           "success": false,
           "result": {
               "error": "The action did not produce a valid response and exited unexpectedly."
           }
       },
   ```
   
   ## Additional information you deem important:
   
   * 100% reproducible each time
   * I can submit a minimal reproducible test case if that will help
   * I might be able to submit a PR if this is something folks want, and I was given a few hints about where in the codebase that this should be added
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services