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
DB2 is pretty quick in killing transactions as "deadlock victim". We see this often as test failures. This even happens on the table reflection table where operations working on completely different tables may collide. One thread might reflect a table while another just creates another one.
One solution to this problem might be to play with transaction isolution modes (so far we were not successful to tackle this problem that way).
Thus we already implemented some hacky retry mechanims within pipedag code (see hook.py:138). However, this could be done much nicer with a decorator or some helper functions. The retry behavior should also be centrally configurable. And to date, not all table reflections are covered by retry code. So we need to search for sa.Table\([^)]*autoload_with= in a multiline fashion. (see hook.py:404)
The text was updated successfully, but these errors were encountered:
DB2 is pretty quick in killing transactions as "deadlock victim". We see this often as test failures. This even happens on the table reflection table where operations working on completely different tables may collide. One thread might reflect a table while another just creates another one.
One solution to this problem might be to play with transaction isolution modes (so far we were not successful to tackle this problem that way).
Thus we already implemented some hacky retry mechanims within pipedag code (see hook.py:138). However, this could be done much nicer with a decorator or some helper functions. The retry behavior should also be centrally configurable. And to date, not all table reflections are covered by retry code. So we need to search for
sa.Table\([^)]*autoload_with=
in a multiline fashion. (see hook.py:404)The text was updated successfully, but these errors were encountered: