replication: append NOP as the last tx row
Since we stopped sending local space operations in replication, the last
tx row has to be global in order to preserve tx boundaries on replica.
If the last row happens to be a local one, replica will never receive
the tx end marker, yielding the following errors:
`ER_UNSUPPORTED: replication does not support interleaving
transactions`.
In order to fix the problem append a global NOP row at the tx end if
it happens to end on a local row.
Follow-up #4114
Closes #4928
Reviewed-by:
Cyrill Gorcunov <gorcunov@gmail.com>
Showing
- src/box/txn.c 26 additions, 1 deletionsrc/box/txn.c
- test/replication/gh-4928-tx-boundaries.result 138 additions, 0 deletionstest/replication/gh-4928-tx-boundaries.result
- test/replication/gh-4928-tx-boundaries.test.lua 61 additions, 0 deletionstest/replication/gh-4928-tx-boundaries.test.lua
- test/replication/suite.cfg 1 addition, 0 deletionstest/replication/suite.cfg
Loading
Please register or sign in to comment