From: lvasiliev <lvasiliev@tarantool.org> To: Vladislav Shpilevoy <v.shpilevoy@tarantool.org> Cc: tarantool-patches@dev.tarantool.org Subject: Re: [Tarantool-patches] [PATCH v2 4/5] iproto: Add session settings for IPROTO Date: Thu, 16 Apr 2020 12:36:27 +0300 [thread overview] Message-ID: <c0cd57e9-70d3-2d88-8da2-d3fe815fb6d5@tarantool.org> (raw) In-Reply-To: <5c3af252-f1ce-3e93-ac64-135eed764e06@tarantool.org> Hi! Thanks you for the feedback. On 16.04.2020 3:06, Vladislav Shpilevoy wrote: > Hi! Thanks for the fixes! > >>>> @TarantoolBot document >>>> Title: Add session_setting >>> >>> The doc request is corrupted, docbot won't understand that because >>> of leading whitespaces. >>> >>>> iproto_error_format setting has been added to _session_settings >>> >>> Looks like there is a lack of global setting similar to what we had >>> for tracebacks. Currently, when the option is false (by default), and >>> I want to use the new format everywhere, I need to find every single >>> place where I create a new session, and put there code saying >>> >>> box.session.settings.error_format = new/old/whatever >>> >>> I think there should be a global option when a user's application is >>> ready to switch to the new format completely. Otherwise it is going >>> to be hell to find all places where a new session is created, and patch >>> them. >>> >>> Just a reminder - every fiber.new(), fiber.create() creates a session, >>> every iproto connection is a session. >> This was discussed in TPT chat with Mons and Nazarov, and after that with you, Turenko, Mons ... in zoom. I was orienteted by the net.box session and I might not know something. Where do you suggest storing the setting? > > Looks like you didn't understood me. I don't propose to remove the > session local option. I propose to provide an ability to override it > with a global option if necessary. So we have session option by > default with the old format, and global option unset. > > If someone is ready to start using new errors everywhere, he just turns > the global option on. > > If someone is not ready, he continues using session local option. > > Why that may be needed - I said above. Turning that option on for every > session is going to be very tricky. But maybe it can be moved to the next > release (the global option). Don't know. The issue is already a huge > blackhole which absorbed lots of independent initially unplanned > features. The more we move for later, the better. > > You should try to ask users in the red chat. It helps sometimes, they > can share their opinions and experience of upgrades. Just formulate your > question in a short but detailed manner, provide a couple of > ready-to-choose answers, probably a poll. > Ok. But for beginning, I need to understand where this flag can be located. I will think about that but if you have a proposal, please, write it. >>>> + local ext_err_supported = version_at_least(remote.peer_version_id, 2, 4, 1) >>> >>> 3. This won't work in case it is an instance bootstrapped from the master >>> branch before 2.4.1 was released. I don't know how to fix it now. >> Sorry, I think this should not work until the release. > > Exactly for 'between-releases' users we introduced the new versioning schema > with 4 numbers. I don't think we can just say fuck off to them now. I > would better drop this from the patchset and added when somebody explicitly > asks for that, with good design and planning. > Ok.I have remove it, but:"Don't have 'between-releases' users a version more when previous release?" >>> >>>> + if not ext_err_supported then >>>> + box.error(box.error.PROC_LUA, >>>> + "Server doesn't support extended error format") >>>> + end >>>> + remote.space._session_settings:update('iproto_error_format', >>>> + {{'=', 2, 1}}) >>> >>> 4. This is additional network hop. I don't think it should be done >>> automatically. I would let users do that. >> It's network hop only if option will be set.As optimization it can be included to auth packet in future. > > Auth packets have nothing to do with session settings. It would be > encapsulation violation. Moreover, in addition to settings we may > want to configure more things in future. What if an encryption will > be added to Tarantool? What if we will add key exchange? I think we > should not add a new option + 1 network hop for every 'negotiation' > thing. Better omit this for now and design this properly when we have > more time. > > I don't propose to remove your code. I just propose to finish some > non-critical parts of it later. > ok
next prev parent reply other threads:[~2020-04-16 9:36 UTC|newest] Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-04-10 8:10 [Tarantool-patches] [PATCH v2 0/5] Extending error functionality Leonid Vasiliev 2020-04-10 8:10 ` [Tarantool-patches] [PATCH v2 1/5] error: Add a Lua backtrace to error Leonid Vasiliev 2020-04-14 1:11 ` Vladislav Shpilevoy 2020-04-15 9:25 ` lvasiliev 2020-04-16 0:00 ` Vladislav Shpilevoy 2020-04-16 1:11 ` Alexander Turenko 2020-04-16 8:58 ` lvasiliev 2020-04-16 9:30 ` Alexander Turenko 2020-04-16 12:27 ` lvasiliev 2020-04-16 12:45 ` Alexander Turenko 2020-04-16 17:48 ` lvasiliev 2020-04-16 8:40 ` lvasiliev 2020-04-16 9:04 ` lvasiliev 2020-04-10 8:10 ` [Tarantool-patches] [PATCH v2 2/5] error: Add the custom error type Leonid Vasiliev 2020-04-14 1:11 ` Vladislav Shpilevoy 2020-04-15 9:25 ` lvasiliev 2020-04-16 0:02 ` Vladislav Shpilevoy 2020-04-16 9:18 ` lvasiliev 2020-04-16 21:03 ` Vladislav Shpilevoy 2020-04-10 8:10 ` [Tarantool-patches] [PATCH v2 3/5] error: Increase the number of fields transmitted through IPROTO Leonid Vasiliev 2020-04-14 1:12 ` Vladislav Shpilevoy 2020-04-15 9:25 ` lvasiliev 2020-04-16 0:02 ` Vladislav Shpilevoy 2020-04-10 8:10 ` [Tarantool-patches] [PATCH v2 4/5] iproto: Add session settings for IPROTO Leonid Vasiliev 2020-04-14 1:12 ` Vladislav Shpilevoy 2020-04-15 9:26 ` lvasiliev 2020-04-16 0:06 ` Vladislav Shpilevoy 2020-04-16 9:36 ` lvasiliev [this message] 2020-04-16 21:04 ` Vladislav Shpilevoy 2020-04-10 8:10 ` [Tarantool-patches] [PATCH v2 5/5] iproto: Update error MsgPack encoding Leonid Vasiliev 2020-04-14 1:12 ` Vladislav Shpilevoy 2020-04-15 9:25 ` lvasiliev 2020-04-16 0:11 ` Vladislav Shpilevoy 2020-04-16 10:04 ` lvasiliev 2020-04-16 21:06 ` Vladislav Shpilevoy 2020-04-14 1:10 ` [Tarantool-patches] [PATCH v2 0/5] Extending error functionality Vladislav Shpilevoy 2020-04-15 9:48 ` lvasiliev
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=c0cd57e9-70d3-2d88-8da2-d3fe815fb6d5@tarantool.org \ --to=lvasiliev@tarantool.org \ --cc=tarantool-patches@dev.tarantool.org \ --cc=v.shpilevoy@tarantool.org \ --subject='Re: [Tarantool-patches] [PATCH v2 4/5] iproto: Add session settings for IPROTO' \ /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