{"push_id":2586582423,"size":6,"distinct_size":6,"ref":"refs/heads/master","head":"5cebdc93822f16fa0a8c12e11953d6338eda6157","before":"e4ab5e2f5ef2e3d157b8942d3e70e2290d8f546d","commits":[{"sha":"b5bcf0b39c8245a80cd854103870a87b79497e0f","author":{"name":"Vladimir Smirnov","email":"2b8b5c8e15e38e5e38784ea2cc1126816e59e958@google.com"},"message":"Initial tests for BroadcastGroup\n\nInitial implementation of tests for BroadcastGroup. More will follow.\n\nAlso fixes some bugs (empty requests, duplicate TLDs in list).\n\nAlso updates License to include Google LLC as co-owner (see with https://opensource.google.com/docs/patching/)","distinct":true,"url":"https://api.github.com/repos/gksinghjsr/carbonzipper/commits/b5bcf0b39c8245a80cd854103870a87b79497e0f"},{"sha":"6a7dacdddbf9b114b17aed30a0741bdd723a7bda","author":{"name":"Vladimir Smirnov","email":"2b8b5c8e15e38e5e38784ea2cc1126816e59e958@google.com"},"message":"Add even more test","distinct":true,"url":"https://api.github.com/repos/gksinghjsr/carbonzipper/commits/6a7dacdddbf9b114b17aed30a0741bdd723a7bda"},{"sha":"a53ec7874b1087d2ff7e10fbdf3de8b7c364a340","author":{"name":"Vladimir Smirnov","email":"2b8b5c8e15e38e5e38784ea2cc1126816e59e958@google.com"},"message":"Modify \"many clients, different data\" to do more operations on incoming metrics, this unveals race condition that shouldn't happen","distinct":true,"url":"https://api.github.com/repos/gksinghjsr/carbonzipper/commits/a53ec7874b1087d2ff7e10fbdf3de8b7c364a340"},{"sha":"ff57c7a121659ba80bac44edcb08589f78abebd6","author":{"name":"Vladimir Smirnov","email":"94fc343dc386fcb9a054539991957e1de13a0be4@gmail.com"},"message":"Merge pull request #61 from go-graphite/broadcast_tests-1\n\nInitial tests for BroadcastGroup","distinct":true,"url":"https://api.github.com/repos/gksinghjsr/carbonzipper/commits/ff57c7a121659ba80bac44edcb08589f78abebd6"},{"sha":"5d82ebd3faafa176f7b3c4472bb379378cc570d5","author":{"name":"Gunnar Þór Magnússon","email":"f94d5bb6d00e2835a5ab51f29bd071b4c0e6db06@booking.com"},"message":"Setup an empty response to merge into\n\nInstead of using the first response that comes along as a base for our\nreply and merging other responses into it, we setup an empty response\nthat we merge other ones into. This fixes the race condition unveiled in\ncommit a53ec78, as well as a host of race conditions we encounted in\nproduction, starting with [1] below.\n\nI'm not sure what the problem here was. At first I thought that merging\nthe responses inside the select statement was the source of our\nproblems, so I moved the merging out of it. That got rid of the data\nrace in [1], but introduced new ones in\n\n    carbonzipper/zipper/types.(*ServerFetchResponse).Merge()\n\nwhere the slice in first.Response.Metrics was being modified somewhere\nelse while we were looping through it. I was not able to find where this\nwas actually happening after staring at stack traces program internals\nwith delve, so we'll content ourselves with having whacked this mole\nsomehow, mysteriously.\n\n[1] Production data race stacktrace:\n\n    ==================\n    WARNING: DATA RACE\n    Read at 0x00c42012c380 by goroutine 946:\n    github.com/go-graphite/carbonapi/vendor/github.com/go-graphite/carbonzipper/zipper/types.(*ServerFetchResponse).Merge()\n    /home/redacted/go/src/github.com/go-graphite/carbonapi/vendor/github.com/go-graphite/carbonzipper/zipper/types/stats.go:23 +0xc2b\n    github.com/go-graphite/carbonapi/vendor/github.com/go-graphite/carbonzipper/zipper/broadcast.(*BroadcastGroup).Fetch()\n    /home/redacted/go/src/github.com/go-graphite/carbonapi/vendor/github.com/go-graphite/carbonzipper/zipper/broadcast/broadcast_group.go:234 +0xcd2\n    github.com/go-graphite/carbonapi/vendor/github.com/go-graphite/carbonzipper/zipper/broadcast.(*BroadcastGroup).doSingleFetch()\n    /home/redacted/go/src/github.com/go-graphite/carbonapi/vendor/github.com/go-graphite/carbonzipper/zipper/broadcast/broadcast_group.go:179 +0x77f\n    Previous write at 0x00c42012c380 by goroutine 1720:\n    github.com/go-graphite/carbonapi/vendor/github.com/go-graphite/carbonzipper/zipper/types.(*ServerFetchResponse).Merge()\n    /home/redacted/go/src/github.com/go-graphite/carbonapi/vendor/github.com/go-graphite/carbonzipper/zipper/types/stats.go:23 +0xc1d\n    github.com/go-graphite/carbonapi/vendor/github.com/go-graphite/carbonzipper/zipper/broadcast.(*BroadcastGroup).Fetch()\n    /home/redacted/go/src/github.com/go-graphite/carbonapi/vendor/github.com/go-graphite/carbonzipper/zipper/broadcast/broadcast_group.go:234 +0xcd2\n    github.com/go-graphite/carbonapi/vendor/github.com/go-graphite/carbonzipper/zipper/broadcast.(*BroadcastGroup).doSingleFetch()\n    /home/redacted/go/src/github.com/go-graphite/carbonapi/vendor/github.com/go-graphite/carbonzipper/zipper/broadcast/broadcast_group.go:179 +0x77f\n    [...]","distinct":true,"url":"https://api.github.com/repos/gksinghjsr/carbonzipper/commits/5d82ebd3faafa176f7b3c4472bb379378cc570d5"},{"sha":"5cebdc93822f16fa0a8c12e11953d6338eda6157","author":{"name":"Vladimir Smirnov","email":"94fc343dc386fcb9a054539991957e1de13a0be4@gmail.com"},"message":"Merge pull request #62 from gunnihinn/master\n\nSetup an empty response to merge into","distinct":true,"url":"https://api.github.com/repos/gksinghjsr/carbonzipper/commits/5cebdc93822f16fa0a8c12e11953d6338eda6157"}]}
{"actor":{"display_login":"gksinghjsr"}}