)]}' { "commit": "195e12f972a86a872472302af65f1e295e4eab74", "tree": "6ee1ec8c14bb59635c352a97bec714b7a928fcf1", "parents": [ "560694fe2be3366074d38664c0e1b5ef5e5259b2" ], "author": { "name": "Alexander Rakoczy", "email": "alex@golang.org", "time": "Sat Apr 25 10:41:02 2020 -0400" }, "committer": { "name": "Alexander Rakoczy", "email": "alex@golang.org", "time": "Mon Apr 27 17:58:39 2020 +0000" }, "message": "sandbox: reduce container starvation\n\nCreating a container in the sandbox takes 500ms to 1s. The sandbox was\ncreating containers serially, but serving requests in parallel. This\nmeans that we can be starved for workers with a trivial number of\nrequests.\n\nIn addition, the sandbox in production is not CPU bound, meaning we\nprobably have room to do some extra work while serving a request.\n\nThis CL introduces a worker pool to create containers. It also changes\nthe readyContainer chan to unbuffered to avoid having twice as many\ncontainers as we expect while idle (the container waiting to be sent\nplus those already in the channel\u0027s buffer).\n\nUpdates golang/go#25224\nUpdates golang/go#38530\n\nChange-Id: I0e535cf65409c3dbf32329577a1c0687c2614a0d\nReviewed-on: https://go-review.googlesource.com/c/playground/+/229981\nRun-TryBot: Alexander Rakoczy \u003calex@golang.org\u003e\nTryBot-Result: Gobot Gobot \u003cgobot@golang.org\u003e\nReviewed-by: Carlos Amedee \u003ccarlos@golang.org\u003e\n", "tree_diff": [ { "type": "modify", "old_id": "350eeea0605139c54231c88f7520e0b96f943055", "old_mode": 33188, "old_path": "sandbox/sandbox.go", "new_id": "ffeb829153e283098bc0ad8ec5c446cfe731640e", "new_mode": 33188, "new_path": "sandbox/sandbox.go" } ] }