You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-dev@hadoop.apache.org by "Todd Lipcon (JIRA)" <ji...@apache.org> on 2012/05/11 21:20:49 UTC

[jira] [Created] (HADOOP-8394) Add flag in RPC requests indicating when a call is a retry

Todd Lipcon created HADOOP-8394:
-----------------------------------

             Summary: Add flag in RPC requests indicating when a call is a retry
                 Key: HADOOP-8394
                 URL: https://issues.apache.org/jira/browse/HADOOP-8394
             Project: Hadoop Common
          Issue Type: Improvement
          Components: ipc
    Affects Versions: 2.0.0
            Reporter: Todd Lipcon
            Priority: Minor


For idempotent operations, the IPC client transparently retries calls. For operations which aren't inherently idempotent, we often have to use some tricky logic to make them idempotent -- see HDFS-3031 for example. It would be nice if the RPC request had a flag indicating that the client was making a retry. Then, in the server side logic, we can add sanity checks that, when the logic indicates a call is an idempotent retry, the RPC call agrees.

One example where this is useful is the close() RPC. We can make it idempotent by saying that close() on an already-closed file should succeed. But, it's really an error to call close() twice outside the context of retries. Having this property set on the call would allow us to enable the "double close is OK" semantics only for retries.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira