From: "bfields@fieldses.org" <bfields@fieldses.org>
To: "Myklebust, Trond" <Trond.Myklebust@netapp.com>
Cc: David Wysochanski <dwysocha@redhat.com>,
Dave Chiluk <chiluk@canonical.com>,
"linux-nfs@vger.kernel.org" <linux-nfs@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] NFSv4: Use exponential backoff delay for NFS4_ERRDELAY
Date: Thu, 25 Apr 2013 14:19:32 -0400 [thread overview]
Message-ID: <20130425181932.GA5049@fieldses.org> (raw)
In-Reply-To: <1366899034.6812.4.camel@leira.trondhjem.org>
On Thu, Apr 25, 2013 at 02:10:36PM +0000, Myklebust, Trond wrote:
> On Thu, 2013-04-25 at 09:49 -0400, bfields@fieldses.org wrote:
> > On Thu, Apr 25, 2013 at 01:30:58PM +0000, Myklebust, Trond wrote:
> > > On Thu, 2013-04-25 at 09:29 -0400, bfields@fieldses.org wrote:
> > >
> > > > My position is that we simply have no idea what order of magnitude even
> > > > delay should be. And that in such a situation exponential backoff such
> > > > as implemented in the synchronous case seems the reasonable default as
> > > > it guarantees at worst doubling the delay while still bounding the
> > > > long-term average frequency of retries.
> > >
> > > So we start with a 15 second delay, and then go to 60 seconds?
> >
> > I agree that a server should normally be doing the wait on its own if
> > the wait would be on the order of an rpc round trip.
> >
> > So I'd be inclined to start with a delay that was an order of magnitude
> > or two more than a round trip.
> >
> > And I'd expect NFS isn't common on networks with 1-second latencies.
> >
> > So the 1/10 second we're using in the synchronous case sounds closer to
> > the right ballpark to me.
>
> OK, then. Now all I need is actual motivation for changing the existing
> code other than handwaving arguments about "polling is better than flat
> waits".
> What actual use cases are impacting us now, other than the AIX design
> decision to force CLOSE to retry at least once before succeeding?
Nah, I've got nothing, and I agree that the AIX problem is there bug.
Just for fun I looked at re-checked the Linux server cases. As far as I
can tell they are:
- delegations: returned immediately on detection of any
conflict. The current behavior in the sync case looks
reasonable to me.
- allocation failures: not really sure it's the best error, but
it seems to be all the protocol offers. We probably don't
care much what the client does in this case.
- some rare cases that would probably indicate bugs (e.g.,
attempting to destroy a client while other rpc's from that
client are running.) Again we don't care what the client does
here.
- the 4.1 slot-inuse case.
We also by default map four errors (ETIMEDOUT, EAGAIN, EWOULDBLOCK,
ENOMEM) to delay. I thought I remembered one of those being used by
some HFS system, but can't actually find an example now. A quick grep
doesn't show anything interesting.
--b.
next prev parent reply other threads:[~2013-04-25 18:19 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-24 20:55 [PATCH] NFSv4: Use exponential backoff delay for NFS4_ERRDELAY Dave Chiluk
2013-04-24 21:11 ` J. Bruce Fields
2013-04-24 21:28 ` Myklebust, Trond
2013-04-24 21:54 ` Dave Chiluk
2013-04-24 22:35 ` Myklebust, Trond
2013-04-25 12:19 ` David Wysochanski
2013-04-25 13:19 ` Myklebust, Trond
2013-04-25 13:29 ` bfields
2013-04-25 13:30 ` Myklebust, Trond
2013-04-25 13:49 ` bfields
2013-04-25 14:10 ` Myklebust, Trond
2013-04-25 15:28 ` [PATCH] NFSv4: Use exponential backoff delay for Ni Matt W. Benjamin
2013-04-25 15:42 ` Myklebust, Trond
2013-04-25 15:42 ` Myklebust, Trond
2013-04-25 18:19 ` bfields [this message]
2013-04-25 18:40 ` [PATCH] NFSv4: Use exponential backoff delay for NFS4_ERRDELAY Chuck Lever
2013-04-25 18:46 ` bfields
2013-04-25 18:51 ` Chuck Lever
2013-04-25 18:57 ` bfields
2013-04-25 18:52 ` Myklebust, Trond
2013-04-25 14:51 ` Chuck Lever
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=20130425181932.GA5049@fieldses.org \
--to=bfields@fieldses.org \
--cc=Trond.Myklebust@netapp.com \
--cc=chiluk@canonical.com \
--cc=dwysocha@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nfs@vger.kernel.org \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.