{"push_id":683514635,"size":6,"distinct_size":2,"ref":"refs/heads/412_min_backoff","head":"d1c41a97b1c7d98adebb0e6b045aa1bca569f805","before":"838a737ea00ea334d7aa8710a22f01f2d72ca376","commits":[{"sha":"fa8b77b06073fda56991f1aa66b4d29f6771ce7f","author":{"email":"ac8fcaf748b7189c49a384a5580dc9e80633299a@gmail.com","name":"Matthias Radestock"},"message":"kill -0 $CONTAINER_PID does not work inside weaveexec container\n\nsince $CONTAINER_PID is in a different process namespace.\n\nFixes #829.","distinct":false,"url":"https://api.github.com/repos/rade/weave/commits/fa8b77b06073fda56991f1aa66b4d29f6771ce7f"},{"sha":"52f31f05962c0cb8a2df5a44dd1a32602109f38b","author":{"email":"ac8fcaf748b7189c49a384a5580dc9e80633299a@gmail.com","name":"Matthias Radestock"},"message":"Merge pull request #830 from rade/829_fix_container_death_check\n\nkill -0 $CONTAINER_PID does not work inside weaveexec container\r\n\r\nFixes #829.","distinct":false,"url":"https://api.github.com/repos/rade/weave/commits/52f31f05962c0cb8a2df5a44dd1a32602109f38b"},{"sha":"4e68bde7b59b95cd143570bf69df96eac25c569c","author":{"email":"ac8fcaf748b7189c49a384a5580dc9e80633299a@gmail.com","name":"Matthias Radestock"},"message":"don't time out waiting for weave infrastructure containers to start\n\ninstead keep trying, until we succeed or the container dies\n\nFixes #666.","distinct":false,"url":"https://api.github.com/repos/rade/weave/commits/4e68bde7b59b95cd143570bf69df96eac25c569c"},{"sha":"d909a86fb0a01c267c3fa27cc121a289a5730c25","author":{"email":"ac8fcaf748b7189c49a384a5580dc9e80633299a@gmail.com","name":"Matthias Radestock"},"message":"Merge pull request #828 from rade/666_no_timeout_on_wait_for_status\n\nno timeout on wait for status\r\n\r\nFixes #666.","distinct":false,"url":"https://api.github.com/repos/rade/weave/commits/d909a86fb0a01c267c3fa27cc121a289a5730c25"},{"sha":"fe5102580d47355883a06e1eb383337b8fdc4286","author":{"email":"ac8fcaf748b7189c49a384a5580dc9e80633299a@gmail.com","name":"Matthias Radestock"},"message":"fix connection retry delay calculation logic\n\nThe delay d(n) for the nth retry was\nd(1) = rand(initial_interval)\nd(n+1) = d(n) + rand(d(n))\n\nThere are two problem with this:\n\n1) The entire sequence is dominated by the random value for d(1). If\nthis is a small value, lots of retries at short interval ensue. In\nextremis, if d(1) is 0, indefinite immediate retries would ensue.\n\n2) The delay is not a true exponential backoff; the upper bound only\nincreases exponentially *probabilistically*.\n\nThe new algorithm calculates\n\nd(n) = random_value in range [i-i/2,i+i/2],\n       where i = initial_interval * 1.5^(n-1).\n\nThus d(1) is at least initial_interval/2, and successive values are\nindependent of previous values, forming a true exponential sequence of\nintervals bounds between which the retry delay is chosen randomly.\n\nDue to the change in algorithm we reduce...\n\n- the initial interval from 5s to 2s. Recall that previously d(1) was\n  in the range [0,initial_interval=5s]. It is now [2-2/2=1s,2+2/2=3s].\n\n- the max interval from 10 minutes to 6. Previously, once that was\n  reached, it would stay exactly there. It is now randomly chosen in\n  the range [6-6/2=3m,6+6/2=9min].\n\nThus previously delays would range from 0 to 10 minutes, now they\nrange from 1s to 9 minutes.\n\nFixes #412.","distinct":true,"url":"https://api.github.com/repos/rade/weave/commits/fe5102580d47355883a06e1eb383337b8fdc4286"},{"sha":"d1c41a97b1c7d98adebb0e6b045aa1bca569f805","author":{"email":"ac8fcaf748b7189c49a384a5580dc9e80633299a@gmail.com","name":"Matthias Radestock"},"message":"encapsulate retry delay calculation","distinct":true,"url":"https://api.github.com/repos/rade/weave/commits/d1c41a97b1c7d98adebb0e6b045aa1bca569f805"}]}