Re: [nfsv4] persistent sessions and compound atomicity

Trond Myklebust <trondmy@gmail.com> Fri, 11 December 2020 17:36 UTC

Return-Path: <trondmy@gmail.com>
X-Original-To: nfsv4@ietfa.amsl.com
Delivered-To: nfsv4@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 73CD33A0B15 for <nfsv4@ietfa.amsl.com>; Fri, 11 Dec 2020 09:36:35 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2p_6BYWZlLsR for <nfsv4@ietfa.amsl.com>; Fri, 11 Dec 2020 09:36:34 -0800 (PST)
Received: from mail-qk1-x72a.google.com (mail-qk1-x72a.google.com [IPv6:2607:f8b0:4864:20::72a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 36AC03A0D37 for <nfsv4@ietf.org>; Fri, 11 Dec 2020 09:36:32 -0800 (PST)
Received: by mail-qk1-x72a.google.com with SMTP id i67so1656879qkf.11 for <nfsv4@ietf.org>; Fri, 11 Dec 2020 09:36:32 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version; bh=ZAIuxuWDiGVCOl3gzuF1360WgpcVGwgKMpv6v/idSHg=; b=ITJeY2GUKc/IfUvypvAckFGwogSRVzaKetplB9A4YATr1JrsPQKSjDNS+98WSTWePd IqV4r6gQegE8XiuN8KAYTE/ME56UCJAUuMP0Tz+vroDxuSC/9aqwSc+tDjXe4i806NRg CCeMgvyQsjUp51AHE8y3mtOnc8RgC4c49a6hPDGJOA3HIFH//7SX+61DQ/qR/yYlaRQ0 z/PD6tQ7a0B7BjMY9STv7SsWSXGr4S0GVEnZBEB3lNXosv1edJNpmBwg/GH4GdL2qGfT NKAqnipvqgMmI9O7dKPbOPb7rMN0ZuO2n8bETBhQETDc1gBvHlqSpT+QY5G1QG5aInYs JOdg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version; bh=ZAIuxuWDiGVCOl3gzuF1360WgpcVGwgKMpv6v/idSHg=; b=cANlQ3rgbX+MVsBOe2esEW97bcjlKKvZh9LlWryKZXenSs88er7kTZioQ2SMG74JjC Zo1UiLrVjfrshvXGAc0dSeViSdHolBwCmXJorQF7p6oFFSPtGmOYh7z24JnK/zhOLd4D UNt6uX041G4bUP6y0vn0A+M74eL7OXslKbp/SvoHWE4/E4JJRRM8pTLjOR0HFRPfPw0K sHCdDaob/hJhkdr4v/TYpvRWljANvyQJO5hu6Z33p61V9pDSuAWvTHvnRiEmyxfoCF8o GWkq66LqbijhzF6crYDww7BORBLZrUG6EgNfxtjdfA9OWJNCiUslHlQ2oojU/00CHAD7 sdCw==
X-Gm-Message-State: AOAM531SN5OX71/lCoL2thGQKpSuEfcEVoQOS2mOBEKIPx7by1DgqrRU 8J+nm0HocKIVGufEpTCcdw==
X-Google-Smtp-Source: ABdhPJw+jHe3or8YmAyCM9LafQ25503QBfVfn1zbuOFRze19A1Eptc/fVJGHgUkX3qM60NwE6Jvcvw==
X-Received: by 2002:a05:620a:227:: with SMTP id u7mr17377646qkm.256.1607708191019; Fri, 11 Dec 2020 09:36:31 -0800 (PST)
Received: from [192.168.75.2] (c-68-36-133-222.hsd1.mi.comcast.net. [68.36.133.222]) by smtp.gmail.com with ESMTPSA id z26sm6985182qtf.58.2020.12.11.09.36.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 11 Dec 2020 09:36:30 -0800 (PST)
Message-ID: <f4061e63c9dbf20ccc192d33cae4e9fffeb06523.camel@gmail.com>
From: Trond Myklebust <trondmy@gmail.com>
To: David Noveck <davenoveck@gmail.com>
Cc: "J. Bruce Fields" <bfields@fieldses.org>, Tom Talpey <tom@talpey.com>, Rick Macklem <rmacklem@uoguelph.ca>, "nfsv4@ietf.org" <nfsv4@ietf.org>
Date: Fri, 11 Dec 2020 12:36:29 -0500
In-Reply-To: <CADaq8je2hgE6EnjR38R4rqP8SHzyx-vX+Wx3bEMvKt0t+AfqhA@mail.gmail.com>
References: <20201209002639.GC16661@fieldses.org> <93d4e52e-23e6-cf5f-4b0f-50060f4c6151@talpey.com> <20201209144927.GB23889@fieldses.org> <2d94c517-04ba-75b0-9583-4b7eb4aa8ced@talpey.com> <YQXPR0101MB096883BD0B2EBF66D12FC732DDCC0@YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM> <20201209225944.GC24283@fieldses.org> <CADaq8jdYyigfkHDbAdk7uARzdSsoNHdPZdUJjPMka5_4tZ6C6Q@mail.gmail.com> <7246cdd69b6e53fee4b657d9c51a973208c96cbf.camel@gmail.com> <CADaq8je2hgE6EnjR38R4rqP8SHzyx-vX+Wx3bEMvKt0t+AfqhA@mail.gmail.com>
Content-Type: multipart/alternative; boundary="=-LzzaQO9AiOz6hckF6taN"
User-Agent: Evolution 3.38.2 (3.38.2-1.fc33)
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/AtupNSQTLXMtk2VZ7B4DRyOWOxY>
Subject: Re: [nfsv4] persistent sessions and compound atomicity
X-BeenThere: nfsv4@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NFSv4 Working Group <nfsv4.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/nfsv4/>
List-Post: <mailto:nfsv4@ietf.org>
List-Help: <mailto:nfsv4-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 11 Dec 2020 17:36:35 -0000

On Fri, 2020-12-11 at 06:12 -0500, David Noveck wrote:
> 
> 
> On Thu, Dec 10, 2020, 9:23 PM Trond Myklebust <trondmy@gmail.com>
> wrote:
> 
> 
> > 
> > in Section 2.10.6.5 of RFC5661, there is the following snippet:
> 
> Deleted snippet about making the execution of a COMPOUND a
> transaction.

The thing in the spec was talking about a COMPOUND, but I believe it is
easier to implement as a per-op transaction. I believe that still
satisfies the language in the rest of the spec.

> > 
> > 
> > Why shouldn't a client implementer reading the above be able to
> > conclude that a NFS4ERR_DEADSESSION error implies that the
> > operation failed with no side-effects?
> 
> No reason at all.  The problem is that requiring the server to
> implement COMPOUNDs as atomic transactions if it implements
> persistent sessions has no real justification and probably cannot be
> implemented.
> 

The fact that it hasn't been implemented yet means that we still the
option of throwing it out of the current spec.

Hammerspace could probably implement this spec as it is defined today,
but it would very likely cause a performance penalty that I don't see
us being willing to take. Is anyone else planning on doing so?


> Also I don't think it is right for the sever to send DEADSESSION
> since the persistent session is not dead.  I still like DELAY which
> Tom thinks is the spawn of the devil, but feel that if the server
> reboots, SERVERFAULT is justified for ops abandoned because of that.
> 
> Maybe we need an nfsv4 error with error code 666, even if DELAY is
> not it.  Could be a subject for an I-D to be submitted 4/1/2021😊
> 

Make it an op:

   OP_SPAWN_DELAY  = 666,


-- 
Trond Myklebust
Linux NFS client maintainer, Hammerspace
trond.myklebust@hammerspace.com