CloudKit user 'throttling'

Hi, I have some small amount of users who are receiving a lot of "throttling" error messages from CloudKit when they try to upload / download data from CloudKit. I can see this from the user reports as well as the CloudKit dashboard. It's erratic, unpredictable, and is causing all sorts of bad experience in my app. I would like to understand this more:

  • what causes a particular user to 'throttle' vs others, and what can they do to avoid it?
  • as an e.g if we are uploading 4000 records, having split them up into a 100 CKModifyRecordsOperations with 400 records each ... would that result in some operations getting 'throttled' in the middle of the upload? Would all the operations receive the 'throttled' error message, or only some operations?
  • if I replay all the operations after the recommended timeout, could they also get a 'throttle' response?
  • how do I reproduce something like this in the development environment? With my testing and development so far, I haven't run into such an issue myself.

Would love to hear some insight and suggestions about how to handle this.

Answered by deeje in 793150022
  1. is your code kicking off 100 CKModifyRecordsOperations simultaneously?

  2. yes, assume any CloudKit operation can receive a throttling error and respond as needed

CloudKit user 'throttling'
 
 
Q