Since July 25, multiple production users have been unable to load previously saved records from a CloudKit private database.
The query uses CKQueryOperation with:
- Record type: UserAnLi
- Predicate: category_sub_id == "1401"
- Sort descriptor: creationDate descending
- Results limit: 20
The requests consistently fail after approximately 10 seconds with:
- Error domain: CKErrorDomain
- Error code: 15 (CKErrorServerRejectedRequest)
- Underlying error: CKInternalErrorDomain Code=2000
- HTTP status: 500
- CKErrorRetryAfterKey: absent
- CKErrorShouldThrottleClient: absent
Examples from two different users/devices:
-
iOS 18.3.2 RequestUUID: 67890D6B-8076-4135-9635-7DCCFF38D94F OperationID: A796C6799FA69D66 CloudKit partition: 233 Edge response time: 10024 ms
-
iOS 26.6 RequestUUID: 1249FEAE-9D5A-40CB-9076-DAD2D8396BCF OperationID: CEC87546C31D61E2 CloudKit partition: 227 Edge response time: 10086 ms
Users are signed in to iCloud, iCloud Drive is enabled, and general network access works normally.
According to TN3162, documented CloudKit throttling normally returns CKErrorServiceUnavailable or CKErrorRequestRateLimited with a retry-after value. These failures instead return CKErrorServerRejectedRequest, HTTP 500, and no retry-after information.
The issue has been reported through Feedback Assistant:
FB24046201
Could this indicate a production CloudKit query/index problem, a server-side query timeout, or an undocumented/misreported throttle? Is there any client-side mitigation, or does this require investigation by the CloudKit backend team?