[Tarantool-patches] [PATCH] iproto: stringify IPROTO_RAFT, IPROTO_PROMOTE

Serge Petrenko sergepetrenko at tarantool.org
Mon May 24 11:47:26 MSK 2021



21.05.2021 00:38, Cyrill Gorcunov пишет:
> This allows `xlog` Lua module to decode appropriate
> types into symbolic form.
>
> For example with the patch we should see raft and
> promote types in output.
>
>   | $ tarantoolctl cat 00000000000000000004.xlog
>   | ---
>   | HEADER:
>   |   lsn: 2
>   |   group_id: 1
>   |   type: RAFT
>   |   timestamp: 1621541912.4588
>   | BODY:
>   |   0: 3
>   |   1: 4
>   | ---
>   | HEADER:
>   |   lsn: 1
>   |   replica_id: 4
>   |   type: PROMOTE
>   |   timestamp: 1621541912.4592
>   | BODY:
>   |   2: 0
>   |   3: 0
>   |   83: 3
>
> Fixes #6088
>
> Signed-off-by: Cyrill Gorcunov <gorcunov at gmail.com>
> ---
>   .../unreleased/gh-6088-xlog-raft-lua.mg       | 19 +++++++++++++++++++
>   src/box/iproto_constants.h                    |  4 ++++
>   2 files changed, 23 insertions(+)
>   create mode 100644 changelogs/unreleased/gh-6088-xlog-raft-lua.mg
>
> diff --git a/changelogs/unreleased/gh-6088-xlog-raft-lua.mg b/changelogs/unreleased/gh-6088-xlog-raft-lua.mg
> new file mode 100644
> index 000000000..767cfbd07
> --- /dev/null
> +++ b/changelogs/unreleased/gh-6088-xlog-raft-lua.mg
> @@ -0,0 +1,19 @@
> +## bugfix/core
> + * Added decoding of election messages: `RAFT` and `PROMOTE` to
> +   `xlog` Lua module (gh-6088). Otherwise `tarantoolctl` shows
> +   plain number in `type`
> +   ```
> +   HEADER:
> +     lsn: 1
> +     replica_id: 4
> +     type: 31
> +     timestamp: 1621541912.4592
> +   ```
> +   instead of symbolic representation
> +   ```
> +   HEADER:
> +     lsn: 1
> +     replica_id: 4
> +     type: PROMOTE
> +     timestamp: 1621541912.4592
> +   ```
> diff --git a/src/box/iproto_constants.h b/src/box/iproto_constants.h
> index 99c8ca184..7362ddaf1 100644
> --- a/src/box/iproto_constants.h
> +++ b/src/box/iproto_constants.h
> @@ -305,6 +305,10 @@ iproto_type_name(uint16_t type)
>   		return iproto_type_strs[type];
>   
>   	switch (type) {
> +	case IPROTO_RAFT:
> +		return "RAFT";
> +	case IPROTO_PROMOTE:
> +		return "PROMOTE";
>   	case IPROTO_CONFIRM:
>   		return "CONFIRM";
>   	case IPROTO_ROLLBACK:

Thanks for the patch! LGTM.

-- 
Serge Petrenko



More information about the Tarantool-patches mailing list