[Tarantool-patches] [PATCH 0/7] Stacked diagnostics area
Nikita Pettik
korablev at tarantool.org
Wed Feb 19 17:16:49 MSK 2020
Branch: https://github.com/tarantool/tarantool/commits/np/gh-1148-stacked-diag
Issue:
https://github.com/tarantool/tarantool/issues/1148
https://github.com/tarantool/tarantool/issues/4778
Patch-set basically consists of two parts: first one fixes undocumented
behaviour of box.error.new() which sets created error to diagnostics
area. The reason why it is required is described in the corresponding
github ticked. Second part is about stacked diagnostics itself: patch
error structure extending it with double linked list, provide Lua and
C interfaces to interact with it, support stacked diagnostics in IProto
protocol and net.box module (all points according to the rfc:
https://github.com/tarantool/tarantool/commit/1acd32d98f628431429b427df19caa9d269bb9c8).
Kirill Shcherbatov (2):
box: rename diag_add_error to diag_set_error
iproto: refactor error encoding with mpstream
Nikita Pettik (5):
box/error: introduce box.error.set() method
box/error: don't set error created via box.error.new to diag
box: introduce stacked diagnostic area
box/error: clarify purpose of reference counting in struct error
iproto: support error stacked diagnostic area
extra/exports | 2 +
src/box/applier.cc | 2 +-
src/box/error.cc | 33 +++++
src/box/error.h | 24 ++++
src/box/iproto_constants.h | 6 +
src/box/key_list.c | 16 +--
src/box/lua/call.c | 6 +-
src/box/lua/error.cc | 71 ++++++----
src/box/lua/net_box.lua | 32 ++++-
src/box/relay.cc | 4 +-
src/box/vy_scheduler.c | 6 +-
src/box/xrow.c | 150 ++++++++++++++++----
src/lib/core/diag.c | 51 +++++++
src/lib/core/diag.h | 110 ++++++++++++++-
src/lib/core/exception.cc | 2 +-
src/lib/core/exception.h | 2 +-
src/lua/error.c | 2 +-
src/lua/error.h | 3 +
src/lua/error.lua | 40 ++++++
src/lua/utils.c | 2 +-
test/box-py/iproto.result | 6 +-
test/box-py/iproto.test.py | 6 +-
test/box/iproto.result | 166 ++++++++++++++++++++++
test/box/iproto.test.lua | 73 ++++++++++
test/box/misc.result | 295 ++++++++++++++++++++++++++++++++++++++++
test/box/misc.test.lua | 119 ++++++++++++++++
test/box/net.box.result | 65 +++++++++
test/box/net.box.test.lua | 25 ++++
test/engine/func_index.result | 50 +++++--
test/engine/func_index.test.lua | 7 +
30 files changed, 1282 insertions(+), 94 deletions(-)
create mode 100644 test/box/iproto.result
create mode 100644 test/box/iproto.test.lua
--
2.15.1
More information about the Tarantool-patches
mailing list