From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from [87.239.111.99] (localhost [127.0.0.1]) by dev.tarantool.org (Postfix) with ESMTP id 0E8226EC40; Tue, 10 Aug 2021 15:57:22 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 0E8226EC40 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1628600242; bh=A0bqzqxTnUquh7FHfB8OMGvm4KRfjmvi1shPPKRHFLY=; h=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=u1b2YIUllXglLxho/qyO6bgXJ/fSwuRZaGWO+T7jIJz9JQYI7cmgGYJyei9Sw1ZMO wPnvaL599B+9KM+LR9Xw+jppjB5tfTO7pzVzM1mB+D7Dgh4JQkqge5aoyeCdi8G0Bi tzm6lGFkokuCJLlYYmlRfMRxPkNJj90lKC2q/EEg= Received: from mail-lj1-f181.google.com (mail-lj1-f181.google.com [209.85.208.181]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 85C126EC40 for ; Tue, 10 Aug 2021 15:57:20 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 85C126EC40 Received: by mail-lj1-f181.google.com with SMTP id m18so17640812ljo.1 for ; Tue, 10 Aug 2021 05:57:20 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=83Rov9nCBWxls8ET4BBUbhLD3Y6HxM5mEgzrPCK9lMQ=; b=MqpdNEADSYRuIwXiEX1gtNH7t0VYZW4SFgTMxSfPkBNE0wtqVJLwNaPqnTxEzg0KmF 0IBKMSbUBS+TKoA0A+T2z6OsolEmja8TxGC8HKf/XTpitNmvZMBd4Dg+v4PhkMG7tfLU TEL4Qk9SDi9EK+ZLUEmLwNs8zIEPRHhdxt4cn+8l5S0Mt58lGePvVhQg1OaVWjDG+2oL Ag9X+sfoudC0fyeuMahwW2OtfrfWU3JSLrHD0hBquXiDSbJTMBwHWCR+wtYdCgJtWofK 8LeLcbL5jvpPGz1MwzwqWLe4mpP6ByNvk0M0ltUox2H71kmAjfIxg0vsa1w8gH+vPXbr Q9Kw== X-Gm-Message-State: AOAM531e+LTdYcS12hX8C7AenuVVkvRl7szqdFt0eY3GrcU/EOfmzdzH JC5DK+UrZvRlMbGNYsEaYoDMV2TzvCr+Pw== X-Google-Smtp-Source: ABdhPJzeFbARdI8FtxxpviQd64A6IYweEipdKbp6uRmc8bPZLTSVBRn7VvQAwkmRap7wmjV1cJVqtA== X-Received: by 2002:a05:651c:1144:: with SMTP id h4mr18758895ljo.396.1628600239171; Tue, 10 Aug 2021 05:57:19 -0700 (PDT) Received: from grain.localdomain ([5.18.253.97]) by smtp.gmail.com with ESMTPSA id c8sm184489lfv.159.2021.08.10.05.57.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Aug 2021 05:57:17 -0700 (PDT) Received: by grain.localdomain (Postfix, from userid 1000) id 264E45A001E; Tue, 10 Aug 2021 15:57:16 +0300 (MSK) Date: Tue, 10 Aug 2021 15:57:16 +0300 To: Vladislav Shpilevoy Message-ID: References: <20210804190752.488147-1-gorcunov@gmail.com> <20210804190752.488147-3-gorcunov@gmail.com> <1a58f1dc-bd03-7b45-a99f-389b9b37f325@tarantool.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1a58f1dc-bd03-7b45-a99f-389b9b37f325@tarantool.org> User-Agent: Mutt/2.0.7 (2021-05-04) Subject: Re: [Tarantool-patches] [PATCH v10 2/4] limbo: order access to the limbo terms X-BeenThere: tarantool-patches@dev.tarantool.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Cyrill Gorcunov via Tarantool-patches Reply-To: Cyrill Gorcunov Cc: tml Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" On Tue, Aug 10, 2021 at 03:27:23PM +0300, Vladislav Shpilevoy wrote: ... > > > > And these three helpers looks very ugly. First of all they hide locking > > unlocking between functions, since there is no explicit lock/unlock > > in apply_synchro_row anymore. Do you really prefer this kind of > > design, or I miss something obvious? > > They look consistent with txn_begin/commit/rollback. They hide the locking, > exactly. This is what I wanted to achieve, because I don't like that > the applier interferes into the limbo so hard. Yes, I would prefer this API. > Lets wait for Sergey's opinion too. OK, I can make it so. While I still think this is a bad choise, because the key difference is the locking, where the rule of thumb is never spread locks over different functions, they must be released in the same function they have been taken (with rare exceptions). But I won't insist. If you and Serge are agree I'll rework.