{"push_id":1013060501,"size":16,"distinct_size":1,"ref":"refs/heads/beorn7/storage2","head":"b2ce53af00301f6f490eab71e95eb12cc9e8dce9","before":"beb36df4bb795b170825b6fb9d0e292278ca9af1","commits":[{"sha":"c740789ce3b80b80b2d5758ce5464f7ba51836d2","author":{"email":"91e32ae1d26bd312b370cf8378a5a83accca90a0@soundcloud.com","name":"beorn7"},"message":"Improve predict_linear\n\nFixes https://github.com/prometheus/prometheus/issues/1401\n\nThis remove the last (and in fact bogus) use of BoundaryValues.\n\nThus, a whole lot of unused (and arguably sub-optimal / ugly) code can\nbe removed here, too.","distinct":false,"url":"https://api.github.com/repos/prometheus/prometheus/commits/c740789ce3b80b80b2d5758ce5464f7ba51836d2"},{"sha":"536e0bc86b42f750699f2b2f551cf42b26d2ed99","author":{"email":"91e32ae1d26bd312b370cf8378a5a83accca90a0@soundcloud.com","name":"beorn7"},"message":"Merge branch 'beorn7/fix-deadlock' into beorn7/storage3","distinct":false,"url":"https://api.github.com/repos/prometheus/prometheus/commits/536e0bc86b42f750699f2b2f551cf42b26d2ed99"},{"sha":"b6840997a7ffbf74481dbec92927a8e563f7b648","author":{"email":"91e32ae1d26bd312b370cf8378a5a83accca90a0@soundcloud.com","name":"beorn7"},"message":"Merge branch 'beorn7/storage2' into beorn7/storage3","distinct":false,"url":"https://api.github.com/repos/prometheus/prometheus/commits/b6840997a7ffbf74481dbec92927a8e563f7b648"},{"sha":"8766f990855b94b4292c0338ee01180c6bcb368d","author":{"email":"91e32ae1d26bd312b370cf8378a5a83accca90a0@soundcloud.com","name":"beorn7"},"message":"Merge branch 'beorn7/storage2' into beorn7/storage3","distinct":false,"url":"https://api.github.com/repos/prometheus/prometheus/commits/8766f990855b94b4292c0338ee01180c6bcb368d"},{"sha":"0ea5801e4766664016233451ddbff6f581822a1e","author":{"email":"91e32ae1d26bd312b370cf8378a5a83accca90a0@soundcloud.com","name":"beorn7"},"message":"Handle errors caused by data corruption more gracefully\n\nThis requires all the panic calls upon unexpected data to be converted\ninto errors returned. This pollute the function signatures quite\nlot. Well, this is Go...\n\nThe ideas behind this are the following:\n\n- panic only if it's a programming error. Data corruptions happen, and\n  they are not programming errors.\n\n- If we detect a data corruption, we \"quarantine\" the series,\n  essentially removing it from the database and putting its data into\n  a separate directory for forensics.\n\n- Failure during writing to a series file is not considered corruption\n  automatically. It will call setDirty, though, so that a\n  crashrecovery upon the next restart will commence and check for\n  that.\n\n- Series quarantining and setDirty calls are logged and counted in\n  metrics, but are hidden from the user of the interfaces in\n  interface.go, whith the notable exception of Append(). The reasoning\n  is that we treat corruption by removing the corrupted series, i.e. a\n  query for it will return no results on its next call anyway, so\n  return no results right now. In the case of Append(), we want to\n  tell the user that no data has been appended, though.\n\nMinor side effects:\n\n- Now consistently using filepath.* instead of path.*.\n\n- Introduced structured logging where I touched it. This makes things\n  less consistent, but a complete change to structured logging would\n  be out of scope for this PR.","distinct":false,"url":"https://api.github.com/repos/prometheus/prometheus/commits/0ea5801e4766664016233451ddbff6f581822a1e"},{"sha":"3d86130d8cd3e752df98840866df63ef744afccc","author":{"email":"91e32ae1d26bd312b370cf8378a5a83accca90a0@soundcloud.com","name":"beorn7"},"message":"Merge branch 'master' into beorn7/storage3","distinct":false,"url":"https://api.github.com/repos/prometheus/prometheus/commits/3d86130d8cd3e752df98840866df63ef744afccc"},{"sha":"f7fc542db65adfb3c1ec273dd874a0265abe4fb4","author":{"email":"91e32ae1d26bd312b370cf8378a5a83accca90a0@soundcloud.com","name":"beorn7"},"message":"Merge branch 'master' into beorn7/storage4\n\nConflicts:\n\tstorage/local/persistence.go","distinct":false,"url":"https://api.github.com/repos/prometheus/prometheus/commits/f7fc542db65adfb3c1ec273dd874a0265abe4fb4"},{"sha":"f138847d31740d39500dd82c9a35748de36ff410","author":{"email":"91e32ae1d26bd312b370cf8378a5a83accca90a0@soundcloud.com","name":"beorn7"},"message":"Merge branch 'beorn7/storage2' into beorn7/storage3","distinct":false,"url":"https://api.github.com/repos/prometheus/prometheus/commits/f138847d31740d39500dd82c9a35748de36ff410"},{"sha":"c01658e20d0a89ad03afbe41dbd493e7d7f38afa","author":{"email":"91e32ae1d26bd312b370cf8378a5a83accca90a0@soundcloud.com","name":"beorn7"},"message":"Merge branch 'beorn7/storage3' into beorn7/storage4","distinct":false,"url":"https://api.github.com/repos/prometheus/prometheus/commits/c01658e20d0a89ad03afbe41dbd493e7d7f38afa"},{"sha":"d284864c871ce8f6dd5ef92f3f831616fbe207ac","author":{"email":"91e32ae1d26bd312b370cf8378a5a83accca90a0@soundcloud.com","name":"beorn7"},"message":"Merge branch 'beorn7/storage2' into beorn7/storage3","distinct":false,"url":"https://api.github.com/repos/prometheus/prometheus/commits/d284864c871ce8f6dd5ef92f3f831616fbe207ac"},{"sha":"eb9caf13be024752f866b91696573bdf964f5448","author":{"email":"91e32ae1d26bd312b370cf8378a5a83accca90a0@soundcloud.com","name":"beorn7"},"message":"Merge branch 'beorn7/storage3' into beorn7/storage4","distinct":false,"url":"https://api.github.com/repos/prometheus/prometheus/commits/eb9caf13be024752f866b91696573bdf964f5448"},{"sha":"dad302144dd8e0c304f1b906cdfaa37c445074f9","author":{"email":"91e32ae1d26bd312b370cf8378a5a83accca90a0@soundcloud.com","name":"beorn7"},"message":"Make a naked return less naked","distinct":false,"url":"https://api.github.com/repos/prometheus/prometheus/commits/dad302144dd8e0c304f1b906cdfaa37c445074f9"},{"sha":"55eddab25fc0edfeeb649d7a64228e694191fd21","author":{"email":"91e32ae1d26bd312b370cf8378a5a83accca90a0@soundcloud.com","name":"beorn7"},"message":"Merge branch 'beorn7/storage2' into beorn7/storage3","distinct":false,"url":"https://api.github.com/repos/prometheus/prometheus/commits/55eddab25fc0edfeeb649d7a64228e694191fd21"},{"sha":"d0a44774465cfb78a3508fb010829caebfdca964","author":{"email":"91e32ae1d26bd312b370cf8378a5a83accca90a0@soundcloud.com","name":"beorn7"},"message":"Merge branch 'beorn7/storage3' into beorn7/storage4\n\nConflicts:\n\tstorage/local/preload.go\n\tstorage/local/storage.go\n\tstorage/local/storage_test.go","distinct":false,"url":"https://api.github.com/repos/prometheus/prometheus/commits/d0a44774465cfb78a3508fb010829caebfdca964"},{"sha":"cd068c1e65d73439eaf44fbc6c5446eed7d17e86","author":{"email":"a31805f6001ab3b535ea95133fbc4db46e97e8d1@rabenste.in","name":"Björn Rabenstein"},"message":"Merge pull request #1448 from prometheus/beorn7/storage4\n\nHandle errors caused by data corruption more gracefully","distinct":false,"url":"https://api.github.com/repos/prometheus/prometheus/commits/cd068c1e65d73439eaf44fbc6c5446eed7d17e86"},{"sha":"b2ce53af00301f6f490eab71e95eb12cc9e8dce9","author":{"email":"a31805f6001ab3b535ea95133fbc4db46e97e8d1@rabenste.in","name":"Björn Rabenstein"},"message":"Merge pull request #1426 from prometheus/beorn7/storage3\n\nImprove predict_linear","distinct":true,"url":"https://api.github.com/repos/prometheus/prometheus/commits/b2ce53af00301f6f490eab71e95eb12cc9e8dce9"}]}