low severityTurbopuffer namespace.write upsert_rows upsert_columns

Batch upsert request partially succeeds (some docs skipped due to conditions/duplicates) or entire request fails (e.g., HTTP 400 duplicate IDs, size limits), appearing as \"partial failure\".

Root cause

No documented bug; writes batch into WAL entries (1/sec per namespace), ensuring durability on success. Partial skips occur only in conditional/filter ops (expected behavior), not failures. Misunderstanding of atomicity vs. conditional skipping.

turbopufferupsertbatchWALatomicityconditional-write

Citations