]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
mds: treat open requests as non-idempotent
authorSage Weil <sage@newdream.net>
Thu, 13 Nov 2008 21:30:26 +0000 (13:30 -0800)
committerSage Weil <sage@newdream.net>
Thu, 13 Nov 2008 21:30:26 +0000 (13:30 -0800)
commit93914659103fb4c6eb76a0760dcb10db36e556f5
tree0f63baf152dea40b8954186695955b27b9bb8ee7
parent5fb2827f1875ce5d72e404bb555cb6ae38cdf8d8
mds: treat open requests as non-idempotent

The problem is that the reply contains a capability, and as such
is statefull and can't be lost.  Forwards by the MDS on behalf of
the client, however, introduce the possibility of multiple copies
or a request in flight if one of the MDSs fails, and the client
will drop any duplicate replies it receives.

Alternatively, the client could _also_ parse duplicate responses
(i.e. call fill_trace).  I'm not sure if that's a good idea.  In
any case, MDS forwarded requests are only really important for
dealing with flash flood scenarios on extremely large clusters,
so let's just set this aside for now.
src/messages/MClientRequest.h