[Tarantool-patches] [PATCH v2 00/11] ER_READONLY reason

Vladislav Shpilevoy v.shpilevoy at tarantool.org
Fri Nov 12 02:54:19 MSK 2021


Changes in v2:
- A lot of minor fixes in all the commits;
- libuuid is moved into libcore;
- ER_READONLY message got the same details as in the fields.

Branch: http://github.com/tarantool/tarantool/tree/gerold103/gh-5568-err-readonly-reason
Issue: https://github.com/tarantool/tarantool/issues/5568

Vladislav Shpilevoy (11):
  diag: return created error from diag_set()
  uuid: move into libcore
  error: introduce error_payload
  error: move code to struct error from ClientError
  error: use error_payload to store optional members
  error: use error_payload in MessagePack codecs
  error: use error_payload in Lua
  luatest: copy config in cluster:build_server()
  luatest: add new helpers for 'server' object
  box: enrich ER_READONLY with new details
  error: report ER_READONLY reason in message

 .../unreleased/gh-5568-readonly-reason.md     |   4 +
 extra/exports                                 |   3 +-
 src/CMakeLists.txt                            |   3 +-
 src/box/applier.h                             |   2 +-
 src/box/bind.h                                |   2 +-
 src/box/box.cc                                |  69 ++-
 src/box/errcode.h                             |   2 +-
 src/box/error.cc                              |  57 +--
 src/box/error.h                               |  60 +--
 src/box/field_def.c                           |   4 +-
 src/box/index.cc                              |   4 +-
 src/box/lua/serialize_lua.c                   |   2 +-
 src/box/mp_error.cc                           | 197 +++-----
 src/box/msgpack.c                             |   2 +-
 src/box/replication.h                         |   2 +-
 src/box/sql/mem.c                             |   2 +-
 src/box/sql/mem.h                             |   2 +-
 src/box/tuple.h                               |   2 +-
 src/box/tuple_compare.cc                      |   8 +-
 src/box/xlog.h                                |   2 +-
 src/box/xrow.h                                |   2 +-
 src/lib/CMakeLists.txt                        |   1 -
 src/lib/core/CMakeLists.txt                   |   3 +
 src/lib/core/crash.c                          |   2 +-
 src/lib/core/diag.c                           |  37 +-
 src/lib/core/diag.h                           | 109 +++-
 src/lib/core/error_payload.c                  | 301 +++++++++++
 src/lib/core/error_payload.h                  | 190 +++++++
 src/lib/core/exception.cc                     |   8 +-
 src/lib/core/exception.h                      |  66 +++
 src/lib/{uuid => core}/mp_uuid.c              |   0
 src/lib/{uuid => core}/mp_uuid.h              |   0
 src/lib/{uuid => core}/tt_uuid.c              |   0
 src/lib/{uuid => core}/tt_uuid.h              |   0
 src/lib/mpstream/CMakeLists.txt               |   2 +-
 src/lib/mpstream/mpstream.c                   |   2 +-
 src/lib/swim/CMakeLists.txt                   |   2 +-
 src/lib/swim/swim_io.h                        |   2 +-
 src/lib/swim/swim_proto.h                     |   2 +-
 src/lib/uuid/CMakeLists.txt                   |   2 -
 src/lua/error.lua                             |  84 ++--
 src/lua/init.lua                              |  24 -
 src/lua/msgpack.c                             |   6 +-
 src/lua/tnt_msgpuck.h                         |   2 +-
 src/lua/utils.c                               |   2 +-
 test/box/error.result                         |   4 +-
 test/box/error.test.lua                       |   2 +-
 test/engine/func_index.result                 |   3 +-
 test/luatest_helpers/cluster.lua              |   1 +
 test/luatest_helpers/server.lua               |  66 ++-
 .../gh_5568_read_only_reason_test.lua         | 304 ++++++++++++
 test/replication/anon.result                  |   6 +-
 test/replication/catch.result                 |   4 +-
 test/replication/election_qsync.result        |  11 +-
 test/replication/election_qsync.test.lua      |   4 +-
 .../gh-6034-qsync-limbo-ownership.result      |  22 +-
 .../gh-6034-qsync-limbo-ownership.test.lua    |   8 +-
 test/sql-tap/CMakeLists.txt                   |   2 +-
 test/sql-tap/gh-6024-funcs-return-bin.c       |   2 +-
 test/sql-tap/sql_uuid.c                       |   2 +-
 test/unit/CMakeLists.txt                      |   4 +-
 test/unit/error.c                             | 466 ++++++++++++++++++
 test/unit/error.result                        | 161 ++++++
 test/unit/mp_error.cc                         |  76 ++-
 test/unit/mp_error.result                     |  27 +-
 test/unit/swim_proto.c                        |   2 +-
 test/unit/swim_test_utils.c                   |   2 +-
 test/unit/swim_test_utils.h                   |   2 +-
 test/unit/uuid.c                              |   4 +-
 test/unit/vy_iterators_helper.c               |   2 +-
 test/unit/xrow.cc                             |   2 +-
 test/vinyl/misc.result                        |   2 +-
 third_party/lua-cjson/lua_cjson.c             |   2 +-
 third_party/lua-yaml/lyaml.cc                 |   2 +-
 74 files changed, 2069 insertions(+), 404 deletions(-)
 create mode 100644 changelogs/unreleased/gh-5568-readonly-reason.md
 create mode 100644 src/lib/core/error_payload.c
 create mode 100644 src/lib/core/error_payload.h
 rename src/lib/{uuid => core}/mp_uuid.c (100%)
 rename src/lib/{uuid => core}/mp_uuid.h (100%)
 rename src/lib/{uuid => core}/tt_uuid.c (100%)
 rename src/lib/{uuid => core}/tt_uuid.h (100%)
 delete mode 100644 src/lib/uuid/CMakeLists.txt
 create mode 100644 test/replication-luatest/gh_5568_read_only_reason_test.lua
 create mode 100644 test/unit/error.c
 create mode 100644 test/unit/error.result

-- 
2.24.3 (Apple Git-128)



More information about the Tarantool-patches mailing list