[Tarantool-patches] [PATCH v4 0/9] implement iproto streams
mechanik20051988
mechanik20051988 at tarantool.org
Thu Aug 12 12:50:37 MSK 2021
branch: https://github.com/tarantool/tarantool/tree/mechanik20051988/gh-5860-iproto-streams-v1
pr: https://github.com/tarantool/tarantool/pull/6139
Changes in v4:
1 - 4: commits was approved.
5: move 'if (stream == NULL)' check into 'iproto_msg_finish_processing_in_stream' function.
6: - rename test
- rename 'local new_stream' function to 'stream_new_stream'.
- we unable to use 'self._stream_id' in _request method, because when we call
it for spaces and indexes, 'self' == 'remote', which has no stream_id.
7: - add RAFT prefix for all requests types in iproto.
8: - rename 'rollback_on_disconnect_stream_route' ot 'rollback_on_disconnect_route'.
- rename 'iproto_stream_push_on_disconnect_msg' to 'iproto_stream_rollback_on_disconnect'
- add comment why we need 'mh_size(streams) == 0' check in iproto_connection_is_idle.
- add some asserts as indicated in the review.
9: - rename begin, commit, rollback functions to stream_begin, stream_commit and stream_rollback.
- add separate test for transactions.
Vladimir Davydov (2):
xrow: remove unused call_request::header
iproto: clear request::header for client requests
mechanik20051988 (7):
iproto: implement stream id in binary iproto protocol
salad: fix segfault in case when mhash table allocation failure
iproto: implement streams in iproto
net.box: add stream support to net.box
iproto: add RAFT prefix for all requests related to 'raft'.
iproto: implement interactive transactions over iproto streams
net.box: add interactive transaction support in net.box
.../gh-5860-implement-streams-in-iproto.md | 26 +
src/box/box.cc | 4 +-
src/box/call.c | 12 -
src/box/errcode.h | 2 +
src/box/iproto.cc | 479 ++-
src/box/iproto_constants.c | 10 +-
src/box/iproto_constants.h | 29 +-
src/box/lua/net_box.c | 144 +-
src/box/lua/net_box.lua | 240 +-
src/box/memtx_engine.c | 4 +-
src/box/txn.c | 25 +-
src/box/txn.h | 19 +
src/box/txn_limbo.c | 18 +-
src/box/xrow.c | 9 +-
src/box/xrow.h | 13 +-
src/lib/core/errinj.h | 2 +
src/lib/salad/mhash.h | 99 +-
test/box-tap/feedback_daemon.test.lua | 2 +-
test/box/access.result | 6 +-
test/box/access.test.lua | 6 +-
test/box/errinj.result | 2 +
test/box/error.result | 2 +
test/box/iproto_streams.lua | 13 +
test/box/misc.result | 5 +-
...net.box_console_connections_gh-2677.result | 2 +-
...t.box_console_connections_gh-2677.test.lua | 2 +-
.../net.box_incorrect_iterator_gh-841.result | 4 +-
...net.box_incorrect_iterator_gh-841.test.lua | 4 +-
test/box/net.box_iproto_hangs_gh-3464.result | 2 +-
.../box/net.box_iproto_hangs_gh-3464.test.lua | 2 +-
test/box/net.box_iproto_streams.result | 473 +++
test/box/net.box_iproto_streams.test.lua | 182 +
...ox_iproto_transactions_over_streams.result | 3009 +++++++++++++++++
..._iproto_transactions_over_streams.test.lua | 1238 +++++++
.../net.box_long-poll_input_gh-3400.result | 8 +-
.../net.box_long-poll_input_gh-3400.test.lua | 8 +-
test/box/suite.ini | 2 +-
test/unit/mhash_body.c | 4 +-
test/unit/xrow.cc | 7 +-
test/unit/xrow.result | 168 +-
40 files changed, 6021 insertions(+), 265 deletions(-)
create mode 100644 changelogs/unreleased/gh-5860-implement-streams-in-iproto.md
create mode 100644 test/box/iproto_streams.lua
create mode 100644 test/box/net.box_iproto_streams.result
create mode 100644 test/box/net.box_iproto_streams.test.lua
create mode 100644 test/box/net.box_iproto_transactions_over_streams.result
create mode 100644 test/box/net.box_iproto_transactions_over_streams.test.lua
--
2.20.1
More information about the Tarantool-patches
mailing list