Commits
- Commit:
5c586da8e89b7c8cac79b2eb6e82e24cbe42fe62
- From:
- Sergey Bronnikov <estetus@gmail.com>
- Via:
- Sergey Bronnikov <sergeyb@tarantool.org>
- Date:
test: fix flakiness in test
Needed for # 6128
NO_CHANGELOG=fix test
NO_DOC=fix test
- Commit:
47380bb7626544800239ca179a6b2c490ebb6d1c
- From:
- Sergey Bronnikov <sergeyb@tarantool.org>
- Via:
- Igor Munkin <imun@cpan.org>
- Date:
test: fix flakiness in gh_6128_background_mode_test
Test runs an external process with tarantool that writes to a log file.
Then test reads that log file and searches a string with required
message in it (see function check_err_msg). Test was flaky on macOS and
I suspect it was happening due to a high log level - timeout was not
enough to wait message in the log file.
Patch decreases a log level to a default value and replaces io
functions with the similar alternatives in a fio module. Using
fio functions allows to not block fibers.
NO_CHANGELOG=test fix
NO_DOC=test fix
- Commit:
8a25d170ea897d5aa2f1a81e1cbe8292596a6a6d
- From:
- Vladimir Davydov <vdavydov@tarantool.org>
- Via:
- Vladimir Davydov <vdavydov.dev@gmail.com>
- Date:
lua/xlog: don't ignore unknown header fields
The xlog reader Lua module uses the xlog_cursor_next_row, which decodes
the row header with xrow_header_decode. The latter silently ignores any
unknown fields, which complicates catching bugs when garbage is written
to a row header by mistake, for example, see #8783.
Let's parse a row header without using xrow_header_decode in the xlog
reader module, like we parse a row body, and output all unknown/invalid
keys as is.
To do that, we have to extend the xlog cursor API with the new method
xlog_cursor_next_row_raw that returns a pointer to the position in the
tx buffer where the next xrow is stored without advancing it. To avoid
a memory leak in case the caller fails to parse an xrow returned by this
function, we also have to move the call to xlog_tx_cursor_destroy from
xlog_tx_cursor_next_row to xlog_cursor_next_tx.
While we are at it,
- Don't raise an error if a key type encountered in a row body is
invalid (not an integer). Instead, silently ignore such keys.
- Remove the useless body MsgPack validness check because we already
check it after decoding the header.
- Add error injection based tests to check all the corner cases.
NO_DOC=bug fix
- Commit:
f058cee74eca494e8fca8e3aae6b94ce8105165b
- From:
- Vladimir Davydov <vdavydov@tarantool.org>
- Via:
- Vladimir Davydov <vdavydov.dev@gmail.com>
- Date:
txn: reset stream_id row header field
To avoid garbage written to xlog.
Closes #8783
NO_DOC=bug fix
NO_TEST=next commit
- Commit:
3e1c2772f68e3e360dc168ced8ba6b1f578f360c
- From:
- Nikolay Shirokovskiy <nshirokovskiy@tarantool.org>
- Via:
- Aleksandr Lyapunov <alyapunov@users.noreply.github.com>
- Date:
update: add tests related to multiple update to the same field
These are misc tests that can be related to the issue. Not sure all of
them do not work before the patch set for the issue. It is nice to have
them and be sure everything works fine.
Closes #8658
NO_DOC=minor