{"push_id":773887773,"size":2,"distinct_size":1,"ref":"refs/heads/parallel-pull-race-2","head":"0dacc73e916dfc07fbdc808168ff3ed751cc5f8e","before":"6d5679dd0b5bb8205e692d0cf3e37b745fe103a5","commits":[{"sha":"317a5462e428fab6248fe3b028822250c8c9ff7f","author":{"email":"8ecfc6017a87905413dcd7d63696a2a4c351b604@docker.com","name":"Aaron Lehmann"},"message":"Make the broadcaster write messages to the observers in the same units they were written to the broadcaster\n\nThis means the writing to a WriteFlusher will flush in the same places\nas it would if the broadcaster wasn't sitting in front of it.\n\nSigned-off-by: Aaron Lehmann <aaron.lehmann@docker.com>","distinct":false,"url":"https://api.github.com/repos/aaronlehmann/docker/commits/317a5462e428fab6248fe3b028822250c8c9ff7f"},{"sha":"0dacc73e916dfc07fbdc808168ff3ed751cc5f8e","author":{"email":"8ecfc6017a87905413dcd7d63696a2a4c351b604@docker.com","name":"Aaron Lehmann"},"message":"Fix race condition when waiting for a concurrent layer pull\n\nBefore, this only waited for the download to complete. There was no\nguarantee that the layer had been registered in the graph and was ready\nuse. This is especially problematic with v2 pulls, which wait for all\ndownloads before extracting layers.\n\nChange Broadcaster to allow a result to be propagated from Close to the\nwaiters. This can be an error value, or in certain cases, a second\nBroadcaster that will let the waiter wait on the extraction process. A\npull that waited for a layer to be downloaded elsewhere will also wait\nfor its extraction to finish before extracting layers that depend on it.\n\nThis also fixes v2 layer downloads to prefix the pool key with \"layer:\"\ninstead of \"img:\". \"img:\" is the wrong prefix, because this is what v1\nuses for entire images. A v1 pull waiting for one of these operations to\nfinish would only wait for that particular layer, not all its\ndependencies.\n\nSigned-off-by: Aaron Lehmann <aaron.lehmann@docker.com>","distinct":true,"url":"https://api.github.com/repos/aaronlehmann/docker/commits/0dacc73e916dfc07fbdc808168ff3ed751cc5f8e"}]}