Skip to content

Document IPROTO_FEATURE_ERROR_EXTENSION #2416

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
Tracked by #2646
Totktonada opened this issue Nov 9, 2021 · 0 comments
Open
Tracked by #2646

Document IPROTO_FEATURE_ERROR_EXTENSION #2416

Totktonada opened this issue Nov 9, 2021 · 0 comments
Labels
2.10 errors feature A new functionality iproto Related to the iproto protocol

Comments

@Totktonada
Copy link
Member

Totktonada commented Nov 9, 2021

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

@veod32 veod32 added server [area] Task relates to Tarantool's server (core) functionality feature A new functionality iproto Related to the iproto protocol labels Dec 24, 2021
@veod32 veod32 added this to the Estimate [@veod32] milestone Dec 24, 2021
@veod32 veod32 changed the title Document IPROTO_FEATURE_ERROR_EXTENSION [3pt] Document IPROTO_FEATURE_ERROR_EXTENSION Dec 24, 2021
@veod32 veod32 removed this from the Estimate [@veod32] milestone Dec 24, 2021
@veod32 veod32 added this to the iproto milestone Jan 13, 2022
@patiencedaur patiencedaur removed this from the iproto milestone Feb 1, 2022
patiencedaur added a commit that referenced this issue Nov 3, 2022
Resolves #1662
Resolves #2422
Resolves #2442
Resolves #2467
Resolves #2526
Part of #2416

* Split the Binary protocol page into several sections
* Move examples to How-to
* Correct the description of the greeting
  Resolves #2467
* Elaborate on IPROTO_OPS and the different uses of IPROTO_TUPLE
* Provide missing info on keys
* Clarify Replication items in terms of whether they are a request,
  response, map, key, etc. Groom the structure accordingly
* Add PROMOTE and DEMOTE descriptions
* Bring all SQL-related info into one document
* Clarify that IPROTO_REQUEST_TYPE is used in requests and responses alike
* Improve formatting
* Add tables for uniformity
* Add UML diagram illustrations in the SVG format

Co-authored-by: Kseniia Antonova <[email protected]>
Co-authored-by: Serge Petrenko <[email protected]>
@veod32 veod32 changed the title [3pt] Document IPROTO_FEATURE_ERROR_EXTENSION Document IPROTO_FEATURE_ERROR_EXTENSION Mar 6, 2023
@veod32 veod32 added errors 2.10 and removed server [area] Task relates to Tarantool's server (core) functionality 3sp labels Mar 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2.10 errors feature A new functionality iproto Related to the iproto protocol
Projects
None yet
Development

No branches or pull requests

3 participants