{"push_id":1444922320,"size":19,"distinct_size":1,"ref":"refs/heads/distribute-automator-3","head":"4325e7c9a14175341a2b96d48c2bda998cd740a2","before":"5d5a76d2e61d633c37e4b220c8e3bbfceb42da40","commits":[{"sha":"52bc932f7a5c69acedf9021ed67247b1db180532","author":{"name":"Michael Bridgen","email":"51def41f3b867ba43c7f77708ded5b71ff83e30b@squaremobius.net"},"message":"Detect when service unavailable and retry\n\nIn some cases, particularly when fluxsvc is itself restarting,\n`fluxctl check-release` will encounter 50x responses from a\nproxy. These are usually transient, so the thing to do is to keep\nchecking back.","distinct":false,"url":"https://api.github.com/repos/weaveworks/flux/commits/52bc932f7a5c69acedf9021ed67247b1db180532"},{"sha":"aff3146391c8d1a2603a1d8d7bb011dd247bc497","author":{"name":"Michael Bridgen","email":"51def41f3b867ba43c7f77708ded5b71ff83e30b@squaremobius.net"},"message":"Change message bus error handling\n\nAt present, any error returned by a daemon will cause the connection\nto be dropped: the error is fed back to the subscribe method, which\ncloses its completion channel, and the HTTP handler exits, closing the\nconnection.\n\nMost of these errors will be *application* level errors, e.g,. \"such\nand such a service does not exist\", rather than transport level\nerrors. So it's reasonable to keep the connection open in these cases.\n\nHappily, the RPC mechanism transmits application errors as strings,\nand reconstitutes them by simply casting them to `rpc.ServerError`, so\nwe can detect them. Everything else becomes a `FatalError`, which will\nclose down the connection as before.","distinct":false,"url":"https://api.github.com/repos/weaveworks/flux/commits/aff3146391c8d1a2603a1d8d7bb011dd247bc497"},{"sha":"2b1adf4314f2f0cbaba588dcf62dd263d816262b","author":{"name":"Michael Bridgen","email":"51def41f3b867ba43c7f77708ded5b71ff83e30b@squaremobius.net"},"message":"Test that a faulty RPC results in a fatal error","distinct":false,"url":"https://api.github.com/repos/weaveworks/flux/commits/2b1adf4314f2f0cbaba588dcf62dd263d816262b"},{"sha":"40f99da4e9a71022a38e136b8da189637ec5b5aa","author":{"name":"Michael Bridgen","email":"51def41f3b867ba43c7f77708ded5b71ff83e30b@squaremobius.net"},"message":"WIP max backoff","distinct":false,"url":"https://api.github.com/repos/weaveworks/flux/commits/40f99da4e9a71022a38e136b8da189637ec5b5aa"},{"sha":"5cf44fecb372a7696209527de6ddd261e39dbb6f","author":{"name":"Paul Bellamy","email":"1ceb72a9e5e1b48709b25e033ef2dd9e265439aa@gmail.com"},"message":"Fix and test job json marshalling","distinct":false,"url":"https://api.github.com/repos/weaveworks/flux/commits/5cf44fecb372a7696209527de6ddd261e39dbb6f"},{"sha":"29dfeeb3d43910b34973797e0b46790dd903f98a","author":{"name":"Michael Bridgen","email":"51def41f3b867ba43c7f77708ded5b71ff83e30b@squaremobius.net"},"message":"Use an overall time limit for retrying\n\nThe problem with having a backoff is that the attempts take a variable\namount of time. It's simpler to just have an overall time limit, and\nretry as many times as that allows.","distinct":false,"url":"https://api.github.com/repos/weaveworks/flux/commits/29dfeeb3d43910b34973797e0b46790dd903f98a"},{"sha":"fe1ab8f041402385eae1c7c966c0ba60dde078eb","author":{"name":"Michael Bridgen","email":"51def41f3b867ba43c7f77708ded5b71ff83e30b@squaremobius.net"},"message":"Merge pull request #269 from weaveworks/dont-drop-ws-on-error\n\nDon't drop websocket on application error","distinct":false,"url":"https://api.github.com/repos/weaveworks/flux/commits/fe1ab8f041402385eae1c7c966c0ba60dde078eb"},{"sha":"908c247c1276f577dec98103d8b986a04b9cc2b3","author":{"name":"Michael Bridgen","email":"51def41f3b867ba43c7f77708ded5b71ff83e30b@squaremobius.net"},"message":"Merge pull request #266 from weaveworks/fluxctl-deals-with-500s\n\nDetect when service unavailable and retry","distinct":false,"url":"https://api.github.com/repos/weaveworks/flux/commits/908c247c1276f577dec98103d8b986a04b9cc2b3"},{"sha":"e06b9603a81116d3c506129628754a97d455b897","author":{"name":"Michael Bridgen","email":"51def41f3b867ba43c7f77708ded5b71ff83e30b@squaremobius.net"},"message":"Detect when the client v service API is mismatched\n\nGetting a 404 result from the client usually means that there's a\nmismatch between the client and the service. This commit makes that\nsituation detectable by returning a particular type for transport\nerrors (as opposed to application errors), and treating 404 as a\nspecial case in the client.","distinct":false,"url":"https://api.github.com/repos/weaveworks/flux/commits/e06b9603a81116d3c506129628754a97d455b897"},{"sha":"033287e52c3705cec9aa8be719be1f86aec447b1","author":{"name":"Michael Bridgen","email":"51def41f3b867ba43c7f77708ded5b71ff83e30b@squaremobius.net"},"message":"Test that a 404 results in the version warning","distinct":false,"url":"https://api.github.com/repos/weaveworks/flux/commits/033287e52c3705cec9aa8be719be1f86aec447b1"},{"sha":"fa18aa9fd1fcce978d53f2e20aff73e1159503be","author":{"name":"Michael Bridgen","email":"51def41f3b867ba43c7f77708ded5b71ff83e30b@squaremobius.net"},"message":"Merge pull request #270 from weaveworks/version-aware-client\n\nDetect when the client v service API is mismatched","distinct":false,"url":"https://api.github.com/repos/weaveworks/flux/commits/fa18aa9fd1fcce978d53f2e20aff73e1159503be"},{"sha":"c06da8fda1aa261c8617bc30c807cec34f7edd67","author":{"name":"Paul Bellamy","email":"1ceb72a9e5e1b48709b25e033ef2dd9e265439aa@gmail.com"},"message":"Merge remote-tracking branch 'upstream/master' into distribute-automator","distinct":false,"url":"https://api.github.com/repos/weaveworks/flux/commits/c06da8fda1aa261c8617bc30c807cec34f7edd67"},{"sha":"505e0c0b37502dee5268641e9a64c5e6c24e5303","author":{"name":"Michael Bridgen","email":"51def41f3b867ba43c7f77708ded5b71ff83e30b@squaremobius.net"},"message":"Pass os.Args properly\n\nThe first entry is the exe name, and cobra is not expecting that.","distinct":false,"url":"https://api.github.com/repos/weaveworks/flux/commits/505e0c0b37502dee5268641e9a64c5e6c24e5303"},{"sha":"40a32bda78823f0dee12da248e1c0386955b856d","author":{"name":"Paul Bellamy","email":"1ceb72a9e5e1b48709b25e033ef2dd9e265439aa@gmail.com"},"message":"Merge remote-tracking branch 'upstream/master' into distribute-automator","distinct":false,"url":"https://api.github.com/repos/weaveworks/flux/commits/40a32bda78823f0dee12da248e1c0386955b856d"},{"sha":"2e43de3cb53296e6d80bc4f6216541c109060292","author":{"name":"Michael Bridgen","email":"51def41f3b867ba43c7f77708ded5b71ff83e30b@squaremobius.net"},"message":"Correct formatting of error","distinct":false,"url":"https://api.github.com/repos/weaveworks/flux/commits/2e43de3cb53296e6d80bc4f6216541c109060292"},{"sha":"14553f13a5af0357239f156800543745e93886eb","author":{"name":"Michael Bridgen","email":"51def41f3b867ba43c7f77708ded5b71ff83e30b@squaremobius.net"},"message":"Merge pull request #276 from weaveworks/lolformatting\n\nCorrect formatting of error","distinct":false,"url":"https://api.github.com/repos/weaveworks/flux/commits/14553f13a5af0357239f156800543745e93886eb"},{"sha":"a69283c790c3a1a7df45ec52211216ec7304eb61","author":{"name":"Paul Bellamy","email":"1ceb72a9e5e1b48709b25e033ef2dd9e265439aa@gmail.com"},"message":"Review feedback","distinct":false,"url":"https://api.github.com/repos/weaveworks/flux/commits/a69283c790c3a1a7df45ec52211216ec7304eb61"},{"sha":"c405fa5f28dad761ce0d7acc529d273f9d9d6d38","author":{"name":"Paul Bellamy","email":"1ceb72a9e5e1b48709b25e033ef2dd9e265439aa@gmail.com"},"message":"Merge pull request #265 from weaveworks/distribute-automator\n\nDistributing the automator (step 1)","distinct":false,"url":"https://api.github.com/repos/weaveworks/flux/commits/c405fa5f28dad761ce0d7acc529d273f9d9d6d38"},{"sha":"4325e7c9a14175341a2b96d48c2bda998cd740a2","author":{"name":"Paul Bellamy","email":"1ceb72a9e5e1b48709b25e033ef2dd9e265439aa@gmail.com"},"message":"Rework the automator to use scheduled jobs, so it can be distributed.","distinct":true,"url":"https://api.github.com/repos/weaveworks/flux/commits/4325e7c9a14175341a2b96d48c2bda998cd740a2"}]}
{"actor":{"display_login":"paulbellamy"}}