You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Task model can trigger async work before the wrapping transaction is committed. Sometimes this can cause dirty reads from the async worker's read-committed view of table state.
#788 was a workaround for this problem in the case of publishing lock state (and can be backed out of when this is solved).
Instead of using Rails model hooks and other callbacks to schedule work, look at ways to trigger the work after the transaction commits -- ensuring that each reader to database state is at the same PostgreSQL MVCC isolation level.
Create something like a "task epilogue" that the task subclasses can leverage
Examine each task to find where async work is fired off and move that
The text was updated successfully, but these errors were encountered:
The Task model can trigger async work before the wrapping transaction is committed. Sometimes this can cause dirty reads from the async worker's read-committed view of table state.
#788 was a workaround for this problem in the case of publishing lock state (and can be backed out of when this is solved).
Instead of using Rails model hooks and other callbacks to schedule work, look at ways to trigger the work after the transaction commits -- ensuring that each reader to database state is at the same PostgreSQL MVCC isolation level.
The text was updated successfully, but these errors were encountered: