mirror of
https://github.com/gristlabs/grist-core.git
synced 2024-10-27 20:44:07 +00:00
2feef7f780
Summary: A recently added stress test ("deletes documents reasonably quickly" in removedAt.ts) is sporadically failing under postgres. It looks like typeorm's .save() method is in some way unreliable when setting a table with multi-column primary keys, via a ManyToMany relation. This diff replaces the .save() with explicit inserts/deletes. I modified _repairWorkspaceGuests recently, so thought that change might have been the problem. However under the stress test, failures occur as often in _repairOrgGuests (not changed recently) as in _repairWorkspaceGuests (changed recently). For reference, see schema diagram at https://grist.quip.com/wWpRAMe058Nl/Home-DB (the table being updated is `group_users`). Possibly related issue: https://github.com/typeorm/typeorm/issues/4122 Test Plan: After this change, stress test runs well on postgres locally (no failure 70 iterations); before it would fail on postgres within 3 iterations typically. Separately: I gave a test that failed a little more time to return, and confirmed it was no slower on average, so I think it was unrelated. Reviewers: jarek Reviewed By: jarek Differential Revision: https://phab.getgrist.com/D2848 |
||
---|---|---|
.. | ||
entity | ||
lib | ||
migration | ||
ApiServer.ts | ||
sqlUtils.ts |