The Android 4.4 update, aka KitKat, still has yet to roll out to a large number of Nexus device owners out there. And, in desperation, some users are resorting to methods they probably don't fully understand in order to get the OTA, one of which is clearing the Google Service Framework data. This method isn't new, but it's one whose side effects are not generally considered by those who use it, at least according to Google engineer Dan Morrill.

In a reddit thread on the subject, Morrill states, essentially, that clearing the framework data is going to break stuff. Specifically, any apps relying on GCM functionality (Google Cloud Messenger) for things like push updates may freak out, stop sending notifications, or engage in other odd / less than useful behavior. Specifically, he says the following about clearing the Google Service Framework:

Doing this changes the primary ID by which Google knows your device. As far as the servers are concerned, the device was basically factory reset. There are many downstream effects of this, but a big one is that this invalidates the tokens used by any app that uses GCM (which is nearly all the Google apps, and a ton of third-party apps.)

How apps react to GCM IDs changing varies by app. With Play Store you have to log out and log back in, I think Gmail usually handles it transparently eventually but won't get new mail notifications for a while, etc. Some apps you may have to clear data on to recover. All apps will simply stop getting GCM push-messages, until they get a new GCM ID; some do this frequently, others rarely, and some apps use the GCM ID as an ID on their own servers (as it is opaque and basically random), so other things besides push messages may not work.

Nothing bursts into flames, but it makes a ton of nuisances on the device, including some that can look pretty mysterious. Your mileage will vary depending on what apps you use.

All of this can be avoided by just doing an 'adb sideload' if you are impatient.

No, it's not the end of the world, but it's the kind of thing that you'd probably end up factory resetting just to solve, and that sort of defeats the purpose of a no-wipe update, doesn't it? Instead, Morrill asks that eager power users utilize the adb sideload command to flash the update manually and avoid all this potential messiness.

In a separate thread, Morrill discusses the Nexus OTA rollout process, and why during the first day or two of the update's release only a very small portion of phones are selected to receive it.

Rollouts are conducted in phases. Typically they start at 1% of devices for around 24 - 48 hours; we watch the return rates and resulting device checkins and error reports (if any), and make sure nothing looks wrong before sending it to more. Then typically it goes to 25%, 50%, 100% over the course of a week or two.

What the percentages mean is that when your device checks in, it has a 1% chance (for example) of being offered the OTA. If it doesn't (randomly) get an offer, it will never get an offer until the next batch.

IOW, once your device checks in and gets turned down, that's it until the next batch. Mashing on the "check for updates" button just causes your device to check in again, and get automatically turned down again. Think about how that makes your device feel! WON'T SOMEONE PLEASE THINK OF THE PHONES?!

That said, once the new batch does start, hitting that button does give you a new roll of the dice -- but once. Since devices usually only check in for system updates every 24 hours (I think? Certainly on a many-hours basis) this can get you your shot sooner than it would happen on its own.

So, mash away. :) Just be patient, and mashing on it more often than once or twice a day isn't going to gain you anything.

Edit: also, keep in mind that this isn't first-come/first-served. You're not racing other devices to get your slot in the current batch, or something.

So, tapping furiously at your check update button actually does absolutely nothing in any practical sense, though I suspect most of us were already intuitively aware of that fact. The batch system for rollouts is basically what you'd imagine, too - as the days go on, the group receiving the update grows, until eventually it is available to all devices.

This isn't exactly earth-shattering information, but it's good knowledge to have, I suppose.

Reddit [1], [2]