From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Subject: Re: [tarantool-patches] Re: [PATCH 1/1] Allow to ignore space formats via command line option References: <48493aa9dc94ded22aee27178c342343aa1b8b65.1533300304.git.v.shpilevoy@tarantool.org> <20180803134714.3eosv3bs2l7q5bxw@esperanza> From: Vladislav Shpilevoy Message-ID: <17a2a616-2e8a-7b2c-0500-78fabbee64d4@tarantool.org> Date: Fri, 3 Aug 2018 16:58:15 +0300 MIME-Version: 1.0 In-Reply-To: <20180803134714.3eosv3bs2l7q5bxw@esperanza> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit To: Vladimir Davydov Cc: tarantool-patches@freelists.org, kostja@tarantool.org List-ID: On 03/08/2018 16:47, Vladimir Davydov wrote: > On Fri, Aug 03, 2018 at 03:46:26PM +0300, Vladislav Shpilevoy wrote: >> It is a common case that an instance is running on a version >> 1.6.*, then is upgraded to 1.9 with box.schema.upgrade(). But >> some of users has malformed space formats, and some of them got >> and ignored errors on box.schema.upgrade(). Such half-upgraded >> data can not be used to start a new version due to format >> violations, and can not be rolled back because some of new system >> spaces managed to be created. And we can not repair raw xlogs and >> snapshots because we have no such tools and they are zipped. >> >> So it would be useful to have a command line option >> --ignore-space-formats. It would allow to start an instance on >> the spaces with malformed formats, fix them, create a snapshot >> and then start with the formats turned on. >> >> Closes #3605 >> >> @TarantoolBot document >> Title: Command line option '--ignore-space-formats' >> The option allows to turn off space formats validation before >> the instance is started. Usefull to fix malformed formats after >> an upgrade from version < 1.7.5 to >= 1.7.5. > > Why a command line option? Why not a box.cfg parameter? > Or, even better, box.cfg.force_recovery? > I just do not want to clog box.cfg options with this pure debug one. Force_recovery should skip violating records instead of ignoring the format. But I don't mind, for me all the 3 ways are ok and helps me to repair customers with broken schemes. So if you want, I can add a box.cfg option or reuse force_recovery to always ignore space formats. What should I do?