diff --git a/src/box/memtx_tx.c b/src/box/memtx_tx.c index ef79c3fcfe3cbf55ccd404d0507347c8efb32e88..943107cfb6e200c4566b487e40fb59d1b3b8bfd6 100644 --- a/src/box/memtx_tx.c +++ b/src/box/memtx_tx.c @@ -2120,6 +2120,10 @@ memtx_tx_handle_gap_write(struct txn *txn, struct space *space, item->type == ITER_LT))); bool need_track = need_split || (is_full_key && cmp == 0 && is_e); + /* There's no need to track read of own change. */ + if (story->add_stmt != NULL && + story->add_stmt->txn == item->txn) + need_track = false; if (need_track && memtx_tx_track_read_story(item->txn, space, story, index_mask) != 0)