{"push_id":1149438860,"size":1,"distinct_size":1,"ref":"refs/heads/2.x","head":"1d37a0135ea218e4ca7b5d64b8f665387e4c54ff","before":"9bd77da631f1ea45d59efe0fc67b8e6630ff60ca","commits":[{"sha":"1d37a0135ea218e4ca7b5d64b8f665387e4c54ff","author":{"name":"Christoph Büscher","email":"7db460c0f9d9685cafdd2700fe8206673871322a@elastic.co"},"message":"Fix problem with TimeIntervalRounding on DST end\n\nDue to an error in our current TimeIntervalRounding, two dates can\nround to the same key, even when they are 1h apart when using\nshort interval roundings (e.g. 20m) and a time zone with DST change.\n\nHere is an example for the CET time zone:\n\nOn 25 October 2015, 03:00:00 clocks are turned backward 1 hour to\n02:00:00 local standard time. The dates\n\"2015-10-25T02:15:00+02:00\" (1445732100000) (before DST end) and\n\"2015-10-25T02:15:00+01:00\" (1445735700000) (after DST end)\nare thus 1h apart, but currently they round to the same value\n\"2015-10-25T02:00:00.000+01:00\" (1445734800000).\n\nThis violates an important invariant of rounding, namely that the\nrounded value must be less or equal to the value that is rounded.\nIt also leads to wrong histogram bucket counts because documents in\n[02:00:00+02:00, 02:20:00+02:00) go to the same bucket as documents\nfrom [02:00:00+01:00, 02:20:00+01:00).\n\nThe problem happens because in TimeIntervalRounding#roundKey() we\nneed to perform the rounding operation in local time, but on\nconverting back to UTC we don't honor the original values time zone\noffset. This fix changes that and adds tests both for DST start and\nDST end as well as a test that demonstrates what happens to bucket\nsizes when the dst change is not evently divisibly by the interval.","distinct":true,"url":"https://api.github.com/repos/elastic/elasticsearch/commits/1d37a0135ea218e4ca7b5d64b8f665387e4c54ff"}]}
{"actor":{"display_login":"cbuescher"}}