{"push_id":1028249058,"size":6,"distinct_size":6,"ref":"refs/heads/master","head":"0fe049f9ffb82b94e850270ccfa710ee3ed3ebd3","before":"8fb0bfb0d32c57edcd73d1e0f6ff01fdb8802f2c","commits":[{"sha":"6dc63f805f8be367f87ca97b34c48a619026cbac","author":{"email":"327e1ffba815735673ea2b8f5356c1ee42c42cad@google.com","name":"Alex Mohr"},"message":"Add a rate limiter to the GCE cloudprovider\n\nIt will poll for operation completion with at most 10 qps to avoid\ntriggering GCE's rate limits.","distinct":true,"url":"https://api.github.com/repos/rlugojr/kubernetes/commits/6dc63f805f8be367f87ca97b34c48a619026cbac"},{"sha":"e4b369e1d74ac8f2d2a20afce92d93c804afa5d2","author":{"email":"5ad239cb8a44f659eaaee0aa1ea5b94947abe557@golang.org","name":"Russ Cox"},"message":"storage: clean up timer in cacheWatcher.add\n\nIn the e2e benchmarks, this timer is a significant source of garbage\nand stale timers. Because the timer is not stopped after its use\nin the select, it stays in the timer heap until it eventually fires\n(5 seconds later). Under load, a lot of 5-second timers can pile up\nbefore any start going away. The timer heap being large makes timer\noperations take longer; the operations are O(log N) but N is still big.\n\nThe way to fix this in current versions of Go is to stop the underlying\ntimer explicitly, which this CL does for this one case.\n\nThere are many other places in the code that use the same idiom,\nbut those do not show up on profiles of the e2e server.\nI am investigating changes for Go 1.7's runtime that would make\nthe old code behave like this new code transparently, so I don't\nthink it's worth updating any uses of the idiom that are not in\nhot spots found with profiling.\n\nMeasuring 'LIST nodes' latency in milliseconds during e2e test\nshows the benefit of this change.\n\nUsing Go 1.4.2:\n\nBEFORE  p50: 148±7   p90: 328±19  p99: 513±29  n: 10\nAFTER   p50: 151±8   p90: 339±19  p99: 479±20  n: 9\n\nUsing Go 1.6.0:\n\nBEFORE  p50: 141±9   p90: 383±32  p99: 604±44  n: 11\nAFTER   p50: 140±14  p90: 360±31  p99: 483±39  n: 10","distinct":true,"url":"https://api.github.com/repos/rlugojr/kubernetes/commits/e4b369e1d74ac8f2d2a20afce92d93c804afa5d2"},{"sha":"49a0809f421d020fc5aa450ef8ed6b77e960c477","author":{"email":"c7adfbfaeab4bce94ed627f21f4f86fac4ca308b@google.com","name":"Jeff Lowdermilk"},"message":"Update gke-staging bucket","distinct":true,"url":"https://api.github.com/repos/rlugojr/kubernetes/commits/49a0809f421d020fc5aa450ef8ed6b77e960c477"},{"sha":"ed6088a879086c32bf275b25fb3f8c922650d210","author":{"email":"efe88cf206bc79cccfc4e4395778b76384b89d96@gmail.com","name":"k8s-merge-robot"},"message":"Merge pull request #23209 from jlowdermilk/rc-bucket\n\nAuto commit by PR queue bot","distinct":true,"url":"https://api.github.com/repos/rlugojr/kubernetes/commits/ed6088a879086c32bf275b25fb3f8c922650d210"},{"sha":"4be9587b433dbb5c17aa5a1a7451edc0f5a29907","author":{"email":"efe88cf206bc79cccfc4e4395778b76384b89d96@gmail.com","name":"k8s-merge-robot"},"message":"Merge pull request #23210 from rsc/master\n\nAuto commit by PR queue bot","distinct":true,"url":"https://api.github.com/repos/rlugojr/kubernetes/commits/4be9587b433dbb5c17aa5a1a7451edc0f5a29907"},{"sha":"0fe049f9ffb82b94e850270ccfa710ee3ed3ebd3","author":{"email":"efe88cf206bc79cccfc4e4395778b76384b89d96@gmail.com","name":"k8s-merge-robot"},"message":"Merge pull request #23019 from alex-mohr/oplimit\n\nAuto commit by PR queue bot","distinct":true,"url":"https://api.github.com/repos/rlugojr/kubernetes/commits/0fe049f9ffb82b94e850270ccfa710ee3ed3ebd3"}]}