Request body: 5 MiB
A single data-plane request body is capped at 5 MiB. In practice this applies toappend and update, whose bodies carry your rows as Arrow IPC; a request over the
cap is rejected with HTTP 413 and nothing is written.
Target 4 MiB or less per batch
The SDK re-encodes rows before sending, so the bytes on the wire are not exactly the bytes you measured client-side. A batch sized right at the cap can pass or fail on that small encoding difference. Keep a margin: aim for at most 4 MiB of Arrow data per append, and treat the last MiB as headroom rather than budget. Rough row budgets, dominated by the vector column (4 bytes per dimension):Batching and throughput
Oneappend is one atomic commit, so batch size is the main ingest-throughput knob:
prefer batches near the 4 MiB target over many small appends, and split large loads
into a loop.
See also
- Errors & retries: which errors clear on a retry and which do not.
- Working with tables: create, append, update, delete.
- Troubleshooting: common errors and fixes.
