How can a same Docker Layer have Different Sizes?

I begin a download of a docker layer. There’s many layers. One of the last ones is large, weighing in at a supposed 1.9GB:

43b9dcd574c4: Downloading [>               ]  15.68MB/1.914GB

About halfway through the download, the layer fails to download and it retries 5 seconds later. This retry begins pulling in the “same layer” with the same hash. But this time the layer is only 830.2 MB:

43b9dcd574c4: Downloading [=>              ]  84.88MB/830.2MB

This fails as well. Docker then retries another 5 seconds later. This retry begins pulling in the “same layer” with the same hash. But this time the layer is only 830.1 MB:

43b9dcd574c4: Downloading [==>             ]  283.9MB/830.1MB

Then it cycles back to the 1.9GB download attempt. What is docker doing? Is there something wrong with this layer? Other than being a terrible-practice large layer?

Source: StackOverflow