Re: [Dime] Proposal for error response wording (issue 85)

Steve Donovan <srdonovan@usdonovans.com> Wed, 22 October 2014 04:55 UTC

Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id EE23D1A8AAA for <dime@ietfa.amsl.com>; Tue, 21 Oct 2014 21:55:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.121
X-Spam-Level:
X-Spam-Status: No, score=-1.121 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_NEUTRAL=0.779] autolearn=no
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 cdy9uIxymRly for <dime@ietfa.amsl.com>; Tue, 21 Oct 2014 21:55:10 -0700 (PDT)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [74.124.197.190]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E238D1A8A9D for <dime@ietf.org>; Tue, 21 Oct 2014 21:55:10 -0700 (PDT)
Received: from 187.31.0.109.rev.sfr.net ([109.0.31.187]:53907 helo=b8e856229362.netpoint.com) by biz131.inmotionhosting.com with esmtpsa (TLSv1:DHE-RSA-AES128-SHA:128) (Exim 4.82) (envelope-from <srdonovan@usdonovans.com>) id 1Xgnwr-0001zA-PU; Tue, 21 Oct 2014 21:55:06 -0700
Message-ID: <544738A5.7090608@usdonovans.com>
Date: Wed, 22 Oct 2014 06:55:01 +0200
From: Steve Donovan <srdonovan@usdonovans.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
To: Ben Campbell <ben@nostrum.com>
References: <5444E8B9.8090002@usdonovans.com> <28879012-29FA-43F1-83EE-4B2A8539C7D8@nostrum.com> <22114_1413841265_54458171_22114_4224_1_6B7134B31289DC4FAF731D844122B36E8005B4@PEXCVZYM13.corporate.adroot.infra.ftgroup> <, <AA1C6CD5-A07F-4DC0-8685-70AB5A4DF153@nostrum.com> <>> <1979_1413867197_5445E6BD_1979_10335_1_s8e3rg7h7yyc2r23mds3uefp.1413867190363@email.android.com> <5446190F.2070804@usdonovans.com> <99D5FF0E-2D2B-4DB1-8C9C-19296A8D1822@nostrum.com>
In-Reply-To: <99D5FF0E-2D2B-4DB1-8C9C-19296A8D1822@nostrum.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 8bit
X-OutGoing-Spam-Status: No, score=-2.9
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srd+usdonovans.com/only user confirmed/virtual account not confirmed
Archived-At: http://mailarchive.ietf.org/arch/msg/dime/2a6-2BCo3ksTkI00xtU9HxQEicw
Cc: "dime@ietf.org" <dime@ietf.org>
Subject: Re: [Dime] Proposal for error response wording (issue 85)
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 22 Oct 2014 04:55:13 -0000

It wasn't clear to me when that would be used.  We can certainly update 
the text if someone has an agreeable suggestion for what that text 
should be.

In the mean time, I'm going to close the issue and leave this question 
to be resolved during review of the updates.

Regards,

Steve

On 10/21/14, 4:46 PM, Ben Campbell wrote:
> Did we intend to include anything about Lionel's suggestion on UNABLE_TO_DELIVER?  (I am neutral on that--I just wanted to make sure we didn't forget to consider it.)
>
> I also have one comment inline. Otherwise it looks good to me.
>
>
>> On Oct 21, 2014, at 3:27 AM, Steve Donovan <srdonovan@usdonovans.com> wrote:
>>
>> I have incorporated the following text into the document in the existing, previously empty, section 7. Error Response Codes.
>>
>> I will wait until tomorrow to close issue 85 to allow for discussion of the proposed wording.
>>
>> I have attached the diff as this wording is not in the draft.
>>
>> Regards,
>>
>> Steve
>>
>> ---
>>
>>     When a DOIC node rejects a Diameter request due to throttling, the
>>     DOIC node needs to select the appropriate error response code.
> Do we have separate text saying the node MUST send an error? If not, I suggest changing this to "... MUST respond with an appropriate error response code."
>
> The change from "the" to "an" was intentional. Since we are using SHOULD below for the actual choice, I assume we intend to leave room for an implementation to make other choices if it has a good reason.
>
>
>>   This
>>     determination is made based on the probability of the request
>>     succeeding if retried on a different path.
>>
>>     The DIAMETER_TOO_BUSY response code SHOULD be used when the request
>>     is likely to succeed on a different path.
>>
>>        For instance, if the request arrived at the reporting node without
>>        a Destination-Host AVP then the reporting node might determine
>>        that there is an alternative Diameter node that could successfully
>>        process the request and that retrying the transaction would not
>>        negatively impact the reporting node.
>>
>>     The DIAMETER_UNABLE_TO_COMPLY response code SHOULD be used to
>>     indicate that the request should not be retried.  This is used when
>>     the request is not likely to succeed on a different path and retrying
>>     would consume valuable resources during an occurance of overload.
>>
>>        For instance, if the request arrived at the reporting node with a
>>        Destination-Host AVP populated with its own Diameter identity then
>>        the reporting node can assume that retrying the request would
>>        result in it coming to the same reporting node.
>>
>>        A second example is when an agent that supports the DOIC solution
>>        is preforming the role of a reacting node for a non supporting
>>        client.  Requests that are rejected as a result of DOIC throttling
>>        in this scenario would generally be rejected with a
>>        DIAMETER_UNABLE_TO_COMPLY response code.
>>
>>
>>
>>
>> On 10/21/14, 6:53 AM, lionel.morand@orange.com wrote:
>>> I agree.
>>>
>>> Lionel
>>>
>>> Envoyé depuis mon Sony Xperia SP d'Orange
>>>
>>> ---- Ben Campbell a écrit ----
>>>
>>>
>>>
>>>> On Oct 20, 2014, at 4:41 PM, <lionel.morand@orange.com> <lionel.morand@orange.com>
>>>>   wrote:
>>>>
>>>> Hi,
>>>>
>>>> I think that:
>>>> - TOO_BUSY should be restricted to server answer
>>>>
>>> One of the reasons I think we need to state this by intended result and not by role in the network, is that I expect that an overloaded agent (according to the agent overload draft) might send TOO-BUSY. And a server that acts as an overload authority for a realm might send UNABLE-TO-[COMPLY or DELIVER] to a request that did not contain a Destination-Host AVP.
>>>
>>>
>>>> - UNABLE_TO_COMPLY as answer to non-supporting DOIC when no retransmission is required
>>>> - UNABLE_TO_DELIVER to supporting DOIC and to non-supporting DOIC node when retransmission to an alternate peer could be better.
>>>>
>>>> As a second step, we could enhance the answer message (in this draft or in a separate draft if preferred) with an error message (e.g. "Error-Diagnostic") that could provide further information to "new" node that will be then able to adapt their behavior.
>>>> So a supporting DOIC receiving UNABLE_TO_DELIVER/TOO_BUSY with an Error-Diagnostic set to e.g. "severe overload", besides the OLR in the answer, will know that retransmission on the path or a on a different path will likely cause the same error. If no error-diagnostic is sent back or ignored by the non-supporting-DOOIC node, we will go back to the situation prior this draft.
>>>>
>>>> Regards,
>>>>
>>>> Lionel
>>>>
>>>> -----Message d'origine-----
>>>> De : DiME [
>>>> mailto:dime-bounces@ietf.org
>>>> ] De la part de Ben Campbell
>>>> Envoyé : lundi 20 octobre 2014 19:10
>>>> À : Steve Donovan
>>>> Cc :
>>>> dime@ietf.org
>>>>
>>>> Objet : Re: [Dime] Proposal for error response wording (issue 85)
>>>>
>>>> I agree that we should generalize these, but I think the direction is not quite right. More inline:
>>>>
>>>>
>>>>> On Oct 20, 2014, at 5:49 AM, Steve Donovan <srdonovan@usdonovans.com>
>>>>>   wrote:
>>>>>
>>>>> We came to the following agreements on error responses:
>>>>>
>>>>> - Servers rejecting a Diameter request due to an overload condition should send a 3002 DIAMETER_TOO_BUSY error response.
>>>>>
>>>>> - Agents rejecting a Diameter request due to an overload condition should send a 5012 DIAMETER_UNABLE_TO_COMPLY.
>>>>>
>>>>> I propose that we generalize this to the following:
>>>>>
>>>>> - Reporting nodes rejecting a Diameter request due to an overload condition SHOULD send a 3002 DIAMETER-TOO-BUSY error response.
>>>>>
>>>>> - Reacting nodes rejecting a Diameter request due to an overload condition SHOULD send a UNABLE-TO-COMPLY.
>>>>>
>>>> I don't think we should state this in terms of reaction and reporting nodes. I think we should generalize to expected behavior. Also, in the case where the downstream node does not support DOIC, I'm not sure it makes sense to say the throttling node is really a reporting node (for that particular relationship.)
>>>>
>>>> My suggestion is we say that, if the throttling node has sufficient information to determine that the request is not likely to succeed if retried on another path, it SHOULD send UNABLE-TO-COMPLY. If it does not have that information, it SHOULD send TOO-BUSY.   (we should discuss why this is not a MUST if we have the conditionals in place.)
>>>>
>>>> Then we could go on to say that a reaction node (or agent) would typically fall under the first category, and a reporting node (or server) would typically fall under the second. But there certainly may be cases where a reacting node does not know if other paths could work, and where a reporting node might know that they couldn't.
>>>>
>>>>
>>>>
>>>>> This would mean that an agent acting as a reporting node (i.e.; server doesn't support DOIC or agent is acting as a server front end) would sent the TOO_BUSY response and an agent acting as a reacting node (i.e.; a client doesn't support DOIC) then it sends a UNABLE_TO_COMPLY response.
>>>>>
>>>>> I propose adding this to a new section 4.2.4.  The existing 4.2.4 on agent behavior will be deleted.
>>>>>
>>>>> I will hold off making this change until tomorrow (Tuesday morning).
>>>>>
>>>>> Regards,
>>>>>
>>>>> Steve
>>>>>
>>>>> _______________________________________________
>>>>> DiME mailing list
>>>>>
>>>>> DiME@ietf.org
>>>>> https://www.ietf.org/mailman/listinfo/dime
>>>> _______________________________________________
>>>> DiME mailing list
>>>>
>>>> DiME@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/dime
>>>>
>>>>
>>>> _________________________________________________________________________________________________________________________
>>>>
>>>> Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc
>>>> pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler
>>>> a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,
>>>> Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.
>>>>
>>>> This message and its attachments may contain confidential or privileged information that may be protected by law;
>>>> they should not be distributed, used or copied without authorisation.
>>>> If you have received this email in error, please notify the sender and delete this message and its attachments.
>>>> As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.
>>>> Thank you.
>>>>
>>>>
>>> _________________________________________________________________________________________________________________________
>>>
>>> Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc
>>> pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler
>>> a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,
>>> Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.
>>>
>>> This message and its attachments may contain confidential or privileged information that may be protected by law;
>>> they should not be distributed, used or copied without authorisation.
>>> If you have received this email in error, please notify the sender and delete this message and its attachments.
>>> As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.
>>> Thank you.
>>>
>>>
>>>
>> <Diff_ draft-ietf-dime-ovli-04.txt - draft-ietf-dime-ovli-04.txt.html>
>