fix(replication): distribute destination omni among the subscribers#968
Conversation
d395b91 to
2cc4e22
Compare
2e9657c to
c2a94ec
Compare
This comment has been minimized.
This comment has been minimized.
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
levkk
left a comment
There was a problem hiding this comment.
This is my preferred solution for sure. It doesn't sacrifice performance and fixes the original deadlock issue.
One thing to double check is that we send the WAL acknowledgement back to the source for data received via logical replication for omni tables that the connection "doesn't own"; I think this is not critical since other tables will receive writes too and that will move the WAL forward on the source, but it could be possible to have omni-only sharded clusters, theoretically.
2cc4e22 to
0361bc0
Compare
c2a94ec to
20f7425
Compare
Should be ok, since the changes are made on the send level and they do not affect neither how acknowledgement to source is sent nor the lsn status update |
0361bc0 to
1cd4312
Compare
20f7425 to
c2c68c8
Compare
1cd4312 to
14ffc63
Compare
c2c68c8 to
3bf9f0b
Compare
Attempt to fix issue with test #924 by distributing the destination shards between streams, so they don't overlap and therefore can't deadlock each other. At the cost of consistency in case input omni tables are not equal in the content or the definition of the table changes from source to destination.