It's not like that and it's not a problem of the Updater.
In order to be as fast as possible, the Updater doesn't check files online against your local files, that would be very slow and would waste a lot of bandwidth, since there are tens of thousands of them to check for, and checking them one by one would be silly.
Instead, a catalog of files and their MD5 hashes is downloaded, and the comparison with your installed files is made locally, only going online to download the outdated files.
We don't obviously use a single server, it would surely crash under load as soon we had an update if we did, and it would waste too much bandwidth. We use Cloudflare ( like half of the whole Internet ) for caching, and there are about 170 Cloudflare servers spread around the world and, when we change even a small file, they are supposed to be automatically synchronized.
For some reason, this catalog doesn't seem to update on all Live Update servers at the same time and sometimes some servers gets stuck with the old version, even if we explicitly purge it from the cache.
Add to this, the problem that happened, guess what, exactly in the middle of our big update, and was that Cloudflare went down all over the world for about half an hour, shutting down millions of websites. It's POSSIBLE this might have affected the global synchronization we need to work correctly, to have the Updater updating everything it needs, and not updating what is already updated.
When the catalog is outdated, the Updater will think your local files are not the right version (even if they are), so it will download them again. So, it's not the Update comes "in pieces", it's just the catalog is not always fully updated, which results in files downloaded again, even if there was no need for.
We obviously contacted Cloudflare support about this problem, asking for help but, they are NOT as fast as FSDT in replying... especially considering the outage they had the other day so, first we must wait 24 hours to get a standard reply, then we must wait another 24 hours to have a real person answering, and hopefully they will find the solution.
None of this would happen if we ran the Live Update without caching on a single server. But, it would be unbearably slow, if not crashing altogether under load after a new release, and it would waste so much bandwidth ( which we pay for ) that the bandwidth bill would either put FSDT out of business, or we would have to put a price on updates.
Since both of these two outcomes are clearly not very appealing, I guess we must live with the added complexity of multiple servers and caching.