I’ve been using Cockroach with the GORM ORM, as recommended here:
It doesn’t seem like a good fit?
GORM made an interesting design decision to wrap all writes in transactions, even if it’s only a single SQL statement.
Unfortunately, Cockroach doesn’t seem to handle transactions reliably, and needs the client to manually handle TransactionRetryError and retry (cf https://github.com/cockroachdb/docs/issues/1587)
Taken together, that means any database write with GORM needs manual retry handling…
I understand the individual design decisions here but the end result seems kind of broken? Is this intended behavior? Or am I misunderstanding the situation? Should the docs on using GORM with Cockroach say something about this?