GraphQL Bulk Operation mutation file size limit

Topic summary

The GraphQL Bulk Operations import API has a 20 megabyte file size limit for bulk mutations, which causes broken pipe errors when attempting to upload larger files (e.g., ~36MB).

Workaround Solution:

  • Implement file rotation similar to log rotation, keeping each file under 20MB
  • Upload files sequentially: upload first file → wait for webhook response → upload next file → repeat

Performance Example:
Updating ~12k product variants (price, cost, description, tags, weight, metafield) across 2 bulk operations (~21.2MB total) took approximately 11 minutes to complete.

Outstanding Issue:
Users question how to handle large datasets without splitting into multiple bulk mutation operations. The documentation will be updated to clarify this limitation more explicitly.

Summarized with AI on November 9. AI used: claude-sonnet-4-5-20250929.

So how are we supposed to get around this problem without having to do multiple bulk mutations???

1 Like