How Requests Are Processed
Salesforce queues a new job for processing once you’ve created it, uploaded data for the job, and moved the job to the UploadComplete state. Once the job is de-queued, Salesforce starts processing the job operation and moves the job to the InProgress state. Once the job has been fully processed, Salesforce moves the job to the JobComplete state, or Failed state, depending on if the job was successfully processed or not. The following table summarizes the different job states for Bulk API 2.0.
| State of Job | Description |
|---|---|
| Open | The job was created and is open for data uploads. |
| UploadComplete | All job data has been uploaded and the job is ready to be processed. Salesforce has put the job in the queue. |
| InProgress | The job is being processed by Salesforce. This includes automatic optimized chunking of job data and processing of job operations. |
| JobComplete | The job was processed. |
| Failed | The job could not be processed successfully. |
| Aborted | The job was canceled by the job creator, or by a user with the “Manage Data Integrations” permission. |
Salesforce automatically chunks the data for your job into multiple internal batches to improve performance while processing the job. Salesforce creates a separate batch for each 10,000 records in your job data, up to a daily maximum of 100 million records. If the limit is exceeded while processing your job data, the remaining data isn’t processed.
For each internal batch, if Salesforce can’t process all the records in a batch in 10 minutes or less, the batch fails. Salesforce will re-try failed batches up to a maximum of 10 retries. If the batch still can’t be processed after 10 retries, the entire job is moved to the Failed state and remaining job data is not processed. Use the Failed Record Results and Unprocessed Record Records resources to determine what records were not processed and what errors occurred.