-
Notifications
You must be signed in to change notification settings - Fork 3.3k
Azure Batch auto-chunking gone in 15.x #47367
Copy link
Copy link
Open
Labels
customer-reportedIssues that are reported by GitHub users external to the Azure organization.Issues that are reported by GitHub users external to the Azure organization.needs-triageWorkflow: This is a new issue that needs to be triaged to the appropriate team.Workflow: This is a new issue that needs to be triaged to the appropriate team.questionThe issue doesn't require a change to the product in order to be resolved. Most issues start as thatThe issue doesn't require a change to the product in order to be resolved. Most issues start as that
Metadata
Metadata
Assignees
Labels
customer-reportedIssues that are reported by GitHub users external to the Azure organization.Issues that are reported by GitHub users external to the Azure organization.needs-triageWorkflow: This is a new issue that needs to be triaged to the appropriate team.Workflow: This is a new issue that needs to be triaged to the appropriate team.questionThe issue doesn't require a change to the product in order to be resolved. Most issues start as thatThe issue doesn't require a change to the product in order to be resolved. Most issues start as that
Type
Fields
Give feedbackNo fields configured for issues without a type.
Describe the bug
The maximum count of Tasks is 100. The total serialized size of this collection must be less than 1MB.
The auto-chunking and threading from the old add_collection was a client-side convenience that no longer exists in v15. You must chunk manually.
The changelog doesn't explicitly state that auto-chunking was removed. What happened is that v15 is a complete client rewrite (v15.0.0b1: "first preview of our efforts to create a user-friendly and Pythonic client library"). The old BatchServiceClient with nested operation groups (task.add_collection) was entirely replaced by the new BatchClient with flat methods (create_task_collection).
The auto-chunking wasn't "removed" as a discrete change — it simply was never reimplemented in the new client. The old convenience logic lived in the TaskOperations.add_collection method's Python implementation, and the new create_task_collection is a thin wrapper over the REST API.
The practical evidence is:
BatchTaskGroup docs explicitly state "maximum count of Tasks is 100" and "total serialized size must be less than 1MB" — these are the raw REST API constraints, now exposed directly
The RequestBodyTooLarge error you hit in production confirms the client no longer handles this transparently
So there's no single changelog line you can point to saying "removed
To Reproduce
Have more than 100 tasks or size >1MB.
Expected behavior
Add the functionality in the rewrite or note the change in the changelog
Screenshots
Additional context