From: lvasiliev <lvasiliev@tarantool.org> To: Konstantin Osipov <kostja.osipov@gmail.com>, alexander.turenko@tarantool.org, tarantool-patches@dev.tarantool.org Subject: Re: [Tarantool-patches] [PATCH 3/6] iproto: Add negotiation phase Date: Wed, 25 Mar 2020 10:35:41 +0300 [thread overview] Message-ID: <178dd6a0-cdee-532c-3d0a-af76062d5f6c@tarantool.org> (raw) In-Reply-To: <20200324200216.GA18984@atlas> On 24.03.2020 23:02, Konstantin Osipov wrote: > * Leonid Vasiliev <lvasiliev@tarantool.org> [20/03/24 16:02]: >> The negotiation phase has been added to IPROTO >> >> For possibility to have a custom parameters of session the negotiation >> phase has been added. This is necessary to enable the transmission of >> an error in different formats(depending on the choice of the client). >> >> @TarantoolBot document >> Title: IPROTO: The negatiation phase >> For backward compatibility of the data transmission format, >> the negotiation phase has been added to IPROTO. >> A new key (IPROTO_NEGOTIATION) has been added to IPROTO command codes. >> NEGOTIATION BODY: CODE = 0x0E >> +==========================+ >> | | >> | NEGOTIATION PARAMETERS | >> | | >> +==========================+ >> MP_MAP >> Session negotiation parameters are a map with keys like ERROR_FORMAT_VERSION ... >> The response is a map with all stated negotiation parameters. >> So, for work with the new format of errors, it is necessary to perform the negotiation phase, >> otherwise errors will be transmitted in the old format (by default). > > Why not make it a key in IPROTO_AUTH, and require a separate > round-trip? Hi. Because it's not a part of AAA. > > Why have it at all and not look at server version, which is part > of the greeting already? > The cause is backward compatibility. For example: a client application may expect an error as a string (IPROTO_OK case) and instead of which it will receive an error as an “object”. A greeting is sent only from the server side to the client, but the server must know what format should be used to send errors (what format does the client expect).
next prev parent reply other threads:[~2020-03-25 7:35 UTC|newest] Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-03-24 12:45 [Tarantool-patches] [PATCH 0/6] Extending error functionality Leonid Vasiliev 2020-03-24 12:45 ` [Tarantool-patches] [PATCH 1/6] error: Add a Lua backtrace to error Leonid Vasiliev 2020-04-05 22:14 ` Vladislav Shpilevoy 2020-04-08 13:56 ` Igor Munkin 2020-03-24 12:46 ` [Tarantool-patches] [PATCH 2/6] error: Add the custom error type Leonid Vasiliev 2020-04-05 22:14 ` Vladislav Shpilevoy 2020-03-24 12:46 ` [Tarantool-patches] [PATCH 3/6] iproto: Add negotiation phase Leonid Vasiliev 2020-03-24 20:02 ` Konstantin Osipov 2020-03-25 7:35 ` lvasiliev [this message] 2020-03-25 8:42 ` Konstantin Osipov 2020-03-25 10:56 ` Eugene Leonovich 2020-03-25 11:13 ` Konstantin Osipov 2020-03-26 11:37 ` lvasiliev 2020-03-26 11:18 ` lvasiliev 2020-03-26 12:16 ` Konstantin Osipov 2020-03-26 12:54 ` Kirill Yukhin 2020-03-26 13:19 ` Konstantin Osipov 2020-03-26 13:31 ` Konstantin Osipov 2020-03-26 21:13 ` Alexander Turenko 2020-03-26 21:53 ` Alexander Turenko 2020-03-27 8:28 ` Konstantin Osipov 2020-03-26 23:35 ` Alexander Turenko 2020-03-27 8:39 ` Konstantin Osipov 2020-03-24 12:46 ` [Tarantool-patches] [PATCH 4/6] error: Add extended error transfer format Leonid Vasiliev 2020-03-24 12:46 ` [Tarantool-patches] [PATCH 5/6] error: Add test for extended error Leonid Vasiliev 2020-03-24 12:46 ` [Tarantool-patches] [PATCH 6/6] error: Transmit an error through IPROTO_OK as object Leonid Vasiliev 2020-03-27 23:11 ` [Tarantool-patches] [PATCH 0/6] Extending error functionality lvasiliev 2020-03-28 13:54 ` Alexander Turenko 2020-03-30 10:48 ` lvasiliev 2020-04-01 15:35 ` Alexander Turenko
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=178dd6a0-cdee-532c-3d0a-af76062d5f6c@tarantool.org \ --to=lvasiliev@tarantool.org \ --cc=alexander.turenko@tarantool.org \ --cc=kostja.osipov@gmail.com \ --cc=tarantool-patches@dev.tarantool.org \ --subject='Re: [Tarantool-patches] [PATCH 3/6] iproto: Add negotiation phase' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox