Re: [nfsv4] Benjamin Kaduk's Discuss on draft-ietf-nfsv4-rfc5661sesqui-msns-03: (with DISCUSS and COMMENT)

David Noveck <davenoveck@gmail.com> Sat, 18 January 2020 13:36 UTC

Return-Path: <davenoveck@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 EE408120020; Sat, 18 Jan 2020 05:36:12 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level:
X-Spam-Status: No, score=-1.998 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-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 sd4q5AgNMmk4; Sat, 18 Jan 2020 05:36:11 -0800 (PST)
Received: from mail-ed1-x529.google.com (mail-ed1-x529.google.com [IPv6:2a00:1450:4864:20::529]) (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 B588712001B; Sat, 18 Jan 2020 05:36:10 -0800 (PST)
Received: by mail-ed1-x529.google.com with SMTP id j17so25017221edp.3; Sat, 18 Jan 2020 05:36:10 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=3j/H+0nJ9tGto4D+UrFXxR+fuW5VVriR6+px8DYOmLQ=; b=eT5H/8ik2YLYHj9M6g5YOBmLPNtXwZFTA8Xpg+5D0Y0RkiIWcC8gAWs5fjwc2f+DxZ M4Lbud/Q8J1usx+gban8cbD8lJCq/VT9TXa36kOysutSpwqKDEt5EW+4p3UieknqrEZh 1bHCGX23U4PecaWQYzOEPv9d/wlJCpSn4EsUL8687I8iJPHVfpIMJ0FctaxuCke/3S5i LN79Qmkhzw0W4ymZIX0VedHHjq7tdGCtldpSH+ruUR+XW/qgWtZBXxXK2yFotigRiEiq 8jIW9SaRd4P8mslXR5IKEoflkbL2Wyu34jJgmNpJ5swJBx1u1LCtrw171fyLhKC2U6/K LrXA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=3j/H+0nJ9tGto4D+UrFXxR+fuW5VVriR6+px8DYOmLQ=; b=BnKE4Owro76LNlHXMepCUVEcq5bYXzGAGTbYm8woPEEkkFwGTYOIz7llkdnOJJNrQb OAnWbQkhOlNLdFvs3BY9i4L2K90i7SmeUZL3ESPiLxIIa4vZNII1V8AuSTHfllHJ/lEs 62PQiwVCTLIGebpwMwrZfV6MG6p2wpwWkVfDgvz9XPbZVjaLY7npqrrHwdSPOUXpt39x yVKu0qxVSyLX9YCL2L4vUA/+aMgzsb/S6mZ+0YgHGphFg+1/sLcICbFq6qjONfvpqOLI SmZoLeBKdyZ6eM84nPYuonbv7gM+f7B49XIjv89F+1nBeE7XqgGhhe/tip+Jz5yfUZv6 oxhQ==
X-Gm-Message-State: APjAAAW+/Ut9s98haILYyPVxhkUoBSy8HL6C2F+6YbjrM4i5GWVmOVRF 5zWZGFE4mHQ1kkO+XowrCZOCyT0Mpj/5x2lZfKVPMRRr
X-Google-Smtp-Source: APXvYqwV3I3jcojPrrbPDdEMYmVbDXyzUoC/NFpF2GjHqu0Uob9T0XMqejQXRxVcuR3i23FeLAAIFhT7Ukgg4QgwbeQ=
X-Received: by 2002:a05:6402:6cc:: with SMTP id n12mr8795282edy.344.1579354569122; Sat, 18 Jan 2020 05:36:09 -0800 (PST)
MIME-Version: 1.0
References: <157665795217.30033.16985899397047966102.idtracker@ietfa.amsl.com> <CADaq8jegizL79V4yJf8=itMVUYDuHf=-pZgZEh-yqdT30ZdJ5w@mail.gmail.com> <20191223021435.GW35479@kduck.mit.edu> <CADaq8jetpqMbKgVj6xTHYqkeJZXL3WZsVgrRdooYhaK0S8uTVA@mail.gmail.com> <20200113182716.GH66991@kduck.mit.edu>
In-Reply-To: <20200113182716.GH66991@kduck.mit.edu>
From: David Noveck <davenoveck@gmail.com>
Date: Sat, 18 Jan 2020 08:35:57 -0500
Message-ID: <CADaq8jdELRzigMvsWsNGQmPUs0uqm2fJkuO9RPH=bXhd4q0qYw@mail.gmail.com>
To: Benjamin Kaduk <kaduk@mit.edu>
Cc: The IESG <iesg@ietf.org>, draft-ietf-nfsv4-rfc5661sesqui-msns@ietf.org, nfsv4-chairs@ietf.org, Magnus Westerlund <magnus.westerlund@ericsson.com>, NFSv4 <nfsv4@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000112809059c6a242d"
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/0Hk65LMTb5UxDhbsy6Y4Fi_Wrhw>
Subject: Re: [nfsv4] Benjamin Kaduk's Discuss on draft-ietf-nfsv4-rfc5661sesqui-msns-03: (with DISCUSS and COMMENT)
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: Sat, 18 Jan 2020 13:36:13 -0000

On Mon, Jan 13, 2020 at 1:27 PM Benjamin Kaduk <kaduk@mit.edu> wrote:

> Hi David,
>
> Lots of good stuff trimmed (and thank you for them!).  Just one comment for
> this thread...
>
> On Thu, Jan 02, 2020 at 10:08:23AM -0500, David Noveck wrote:
> > On Sun, Dec 22, 2019 at 9:14 PM Benjamin Kaduk <kaduk@mit.edu> wrote:
> >
> > > On Fri, Dec 20, 2019 at 09:46:22AM -0500, David Noveck wrote:
> [...]
> > > > > In a similar "discuss discuss" vein, Section 11.10.8 describes a
> > > > > scenario that does not give much clarity, at a protocol level, into
> > > what
> > > > > degree of replication synchronization a client can expect from a
> given
> > > > > file system that advertises multiple replicas.  I recognize that
> this
> > > is
> > > > > de facto just stating the deployed reality, but it's also hard to
> feel
> > > > > good about having this level of ambiguity in a propsed standard,
> > > >
> > > > It gets easier over time.  Sigh!  This would be the fourth Proposed
> > > > Standard with this issue :-(
> > > >
> > > > Still I think we can do a bit better by relyimg on the three special
> > > cases
> > > > listed at
> > > > the end of that section and adding something like the following
> after the
> > > > list:
> > > >
> > > >    When none of these special situations apply, there is no basis,
> > > >    within the protool, for the client making assumptions about the
> > > >    contents of a replica file ststem and its relationship to previous
> > > >    file sytem instances.  This may mean that switching between file
> > > >    system that are not read-only is not available, where either the
> > >
> > > Hmm, do we want to add a descriptor like "nominally identical" to "file
> > > systems" (note: plural)
> > >
> >
> > Will do.
> >
> >
> > >
> > > >    client does not use or the server does not support the
> > > >    fs_locations_info atribute.
> > >
> > > That helps some.  We might consider a note in the first paragraph (near
> > > "The namespace will typically be constructed") about the details of
> that
> > > being configured in an out-of-band manner.
> > >
> >
> > I don't think details can be provided since this is pretty much up to the
> > server although we can make it clear that the server constructs this on
> > the basis of what it knows about the file system and their
> characteristics,
> > i.e information not really part of the protocol.
> >
> > How about:.
> >
> >    The server is responsible for contructing an appropriate namespace.
> >    Typically, it is contructed so that applications can choose an
> > appropriate
> >    level of support, so that in one position in  the namespace a varied
> set
> >    of replicas might  be listed, while in another only those that are
> > up-to-date
> >    would be considered replicas.
> >
> >
> > I'll think about doing that.
>
> I'm not so much concerned about how the server constructs the namespace (as
> the current practice leaves that entirely up to the server), but rather how
> the client, or some human associated with the client, learns what the
> server did.  That is, having a fancy namespace with extra semantics doesn't
> do you any good if no one else knows what those semantics are :)
> I was just hoping that this document could be more explicit about "this
> protocol doesn't give you a way to communicate the extra semantics from
> server to client, but you probably want to do it somehow".  I don't mind
> giving more details about the types of semantics a server might encode in
> the namespace as well, but that's not the direction I was trying to push
> in.
>

OK.  I think I can address your concerns but it needs to be pointed out
that
in many cases of the  "extra" semanntics we are talking about, the semantics
are clear.  This is true of trunking, referrals and migration.   In the
case of
"replication", we do have a lot of existing uncertainty and I will try to
put in the
kind of text you suggest.

This and related issues have been mentioned in a number of sub-threads and
I intend to
consolidate text addressing  them here.   I'm going to propose that we
address all
these issues by some additions to Section 11.5.4.  Specfically I propose
revsing the
the second paragrapgh and adding a new tthird pragraph so that the last two
paragraphs
read as follows;

   In the event that the occurrence of server failures, communications
   problems, or other difficulties make continued access to the current
   file system impossible or otherwise impractical, the client can use
   the alternate locations as a way to get continued access to its data.

   The alternate locations may be physical replicas of the (typically
   read-only) file system data supplemneted by possible asynchronous
   propagation of updates.  Alternatively, they may provide for the use
   of various forms of server clustering in which multiple servers
   provide alternate ways of accessing the same physical file system.
   How the difference between replicas affects file system transitions
   can be represented within the fs_locations and fs_locations_info
   attributes and how the client deals with file system transition
   issues will be discussed in detail in later sections.

   Although the location attributes provide some information about the
   nature of the inter-replica transition, many aspects of the semantics
   of posible asynchronous updates are not currently described by the
   protocol, making it necessary that clients using replication to
   switch among replicas undergoing change familiarize themselves with
   the semantics of the update approach used.  Because of this lack of
   specificity, many applications may find use of migration more
   appropiate, since, in that case, the server, when effecting the
   transition, has established a point in time such that all updates
   made before that can propagated to the new replica as part of the
   migration event.


-Ben
>