Publication date: September 24, 2020.
CockroachDB introduced a bug in the v20.1.4 release that affects
INSERT … ON CONFLICT DO UPDATE SET x = excluded.x statements involving more than 10,000 rows. This bug results in the following behavior:
- The execution of a single
UPSERTstatement will stop, without a visible error, after reaching 10,000 rows. The reported number of affected rows will be incorrect, reported as 0.
- Executing a single
UPSERT … RETURNINGstatement will return at most 10,000 rows.
To track this issue, see #54418, the pull request correcting the aforementioned bugs.
This regression is critical as it could silently corrupt SQL data without remediation. All unaffected customers are urged to skip releases v20.1.4 and v20.1.5 or ensure that their application code processes at most 10,000 rows per
UPSERT statement. Customers running versions v20.1.4 or v20.1.5 are strongly encouraged to upgrade to v20.1.6.
All deployments running CockroachDB v20.1.4 release and v20.1.5 release are affected. Cockroach Labs has issued a fix in v20.1.6. All of the other supported releases (v19.1.X, v19.2.X, v20.1.0-20.1.3) are not impacted.
Questions about any technical alert can be directed to our support team.