[SalesForce] Difference between data loader and workbench

I uploaded a .csv file with 50000 rows to the Salesforce Workbench to update a custom field in Opportunities. For most records I got the error

Too many lock failure 200 Trying again later.

I tried the same in the Data Loader, and it worked fine.

Although my update succeeded, I would like to understand what the difference is between the Workbench and the Data Loader. In the Workbench the checkbox Process records asynchronously via Bulk API was ticked and I left it ticked. I thought the Data Loader is another Bulk API client. What could be the reason why they behave differently? Is there a general difference between the Data Loader update and the Workbench update with the Bulk API checkbox ticked?

Best Answer

As you mentioned in the Question, I guess workbench operated in the Bulk API but in Parallel Processing mode. Parallel Processing mode is known to throw these kind of errors. Refer to the section Managing Locks to Maximize the Benefits of Parallelism in this The Salesforce Bulk API - Maximizing Parallelism and Throughput Performance When Integrating or Loading Large Data Volumes

Also, in Dataloader BULK API is not enabled by default. We have to go to settings and check the checkbox. Because you did not, I guess it operated in the SOAP/REST API mode.

You can even go to your org and check BULK Data load jobs section to make sure those 50000 rows did not use BULK API.

Related Topic