tarantool/doc

Document IPROTO_FEATURE_ERROR_EXTENSION

Opened this issue · 0 comments

Product: Tarantool
Since: 2.10.0-beta2
Audience/target: developers
Root document: https://www.tarantool.io/en/doc/latest/dev_guide/internals/box_protocol/
SME:* @ locker

Details

A new feature bit for the IPROTO_ID command was added:

IPROTO_FEATURE_ERROR_EXTENSION = 2 

The protocol version was incremented - now it equals 2.

If a network client sets this bit, errors returned by CALL/EVAL will be
encoded as the MP_ERROR MsgPack extension (unless disabled globally by
msgpack.cfg.encode_error_as_ext). If the bit is unset, errors will be
encoded according to the serialization rules used for generic cdata
objects (converted to strings by default).

The built-in net.box connector sets this feature bit.

The server sets this feature bit if it supports the MP_ERROR MsgPack
extension so a net.box client can explicitly request the feature upon
connecting to a server:

net.box.connect(uri, {required_protocol_features = {'error_extension'}})

Requested by @locker in tarantool/tarantool@342f601