Document IPROTO_FEATURE_ERROR_EXTENSION
Nobody has claimed this yet.
- Dominant language
- CSS
- Stars
- 15
- Forks
- 49
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 3
Description
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 https://github.com/tarantool/tarantool/commit/342f601fc0f984ffa975897ee602d9f9cfc2d0ad
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Open the box protocol root document at the Tarantool documentation URL and find the section covering IPROTO_ID features. Document IPROTO_FEATURE_ERROR_EXTENSION, protocol version 2, MP_ERROR encoding behavior, and the net.box required_protocol_features example; the work is done when these details are accurately reflected in the protocol guide.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- lua
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 58/100