{"push_id":1034816083,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"a0621a77c4d629f3b6d84b299202b3b352491d76","before":"65f93197dc7320d6cc04ed9f19ee1739152bf182","commits":[{"sha":"b1f7010e507c321c07cb3adb5b00b406fa993804","author":{"email":"1fa2ef4755a9226cb9a0a4840bd89b158ac71391@cockroachlabs.com","name":"Matt Tracy"},"message":"Fix Time Series Merge Inconsistency\n\nThere was a bug in the Time Series system where the \"Max\" value for time series\ncould be different if an accumulated value was \"merged\" multiple times.\n\nThe specific bug was that we were using `std::numeric_limits<double>::min()` as if\nit represented the lowest finite value (a very large negative number); however,\nfor floating point values, `numeric_limits::min` represents the smallest\n  _positive_ value. Because of this, when merging an existing sample with an\n  explicit max, _if_ the existing max was _negative_ then the new explicit max\n  was being set to `std::numeric_limits<double>::min()`, which was unintended.\n\nThe simplest fix was to use `std::numeric_limits::lowest()`, which does provide\nthe lowest finite value as expected. However, we have opted instead to optimize\nthe situation where the destination message is empty in a call to\n`AccumulateTimeSeriesSamples(dst, src)`. This obviates the need for a call to\nstd::numeric_limits, as there is not longer a situation where an explicit\nmaximum (or minimum) value is taken from an empty message.\n\nThis was discovered by the replica consistency checker - the \"max\" value for\nsome samples was different when the value was read from different replicas,\nbecause the RocksDB merge operator had been executed more times on one replica\nthan the other.\n\nFixes #5414","distinct":true,"url":"https://api.github.com/repos/cockroachdb/cockroach/commits/b1f7010e507c321c07cb3adb5b00b406fa993804"},{"sha":"a0621a77c4d629f3b6d84b299202b3b352491d76","author":{"email":"9b34bf5d02b85903d4d1681e4a5304cea6192e23@gmail.com","name":"mrtracy"},"message":"Merge pull request #5515 from mrtracy/mtracy/time_series_inconsistency\n\nFix Time Series Merge Inconsistency","distinct":true,"url":"https://api.github.com/repos/cockroachdb/cockroach/commits/a0621a77c4d629f3b6d84b299202b3b352491d76"}]}