Re: [Dime] Issue #27 - Result code sent when agent throttles message

Steve Donovan <srdonovan@usdonovans.com> Wed, 02 April 2014 13:26 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 1E54A1A01CB for <dime@ietfa.amsl.com>; Wed, 2 Apr 2014 06:26:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.58
X-Spam-Level: *
X-Spam-Status: No, score=1.58 tagged_above=-999 required=5 tests=[BAYES_50=0.8, HTML_MESSAGE=0.001, 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 SnaFoptqgCkm for <dime@ietfa.amsl.com>; Wed, 2 Apr 2014 06:26:09 -0700 (PDT)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [23.235.209.16]) by ietfa.amsl.com (Postfix) with ESMTP id 480C11A01D5 for <dime@ietf.org>; Wed, 2 Apr 2014 06:26:01 -0700 (PDT)
Received: from [85.114.54.3] (port=16572 helo=Steves-MacBook-Air-2.local) by biz131.inmotionhosting.com with esmtpsa (TLSv1:DHE-RSA-AES128-SHA:128) (Exim 4.82) (envelope-from <srdonovan@usdonovans.com>) id 1WVLAs-0002cm-BT for dime@ietf.org; Wed, 02 Apr 2014 06:25:57 -0700
Message-ID: <533C0FDC.1080705@usdonovans.com>
Date: Wed, 02 Apr 2014 15:25:48 +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.4.0
MIME-Version: 1.0
To: dime@ietf.org
References: <53304336.20006@usdonovans.com>
In-Reply-To: <53304336.20006@usdonovans.com>
Content-Type: multipart/alternative; boundary="------------010202010509070307050405"
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/uI9M8v1MQFxCx_-PwMX-bNxp3Nk
Subject: Re: [Dime] Issue #27 - Result code sent when agent throttles message
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, 02 Apr 2014 13:26:13 -0000

All,

Do we have any thoughts on the options outlined below?

Regards,

Steve

On 3/24/14, 3:37 PM, Steve Donovan wrote:
> All,
>
> We don't have a clean solution for this as existing error result codes 
> do not get the desired behavior of the reacting node not retrying the 
> request on another path, if available.
>
> The proposal has been made that we propose an extension to 6733 to 
> introduce a new result code.  This would be something like:
>
>    DIAMETER_REQUEST_THROTTLED  3011
>
>     A request was received by an agent and the agent determined that 
> the request needed to be throttled due to an existing overload
>     condition.  The client SHOULD NOT attempt to retry the request and 
> the client SHOULD NOT attempt to sent the request to an
>     an alternate peer.
>
> My assumption is that this extension would be included in the the 
> CER/CEA exchange so an agent would know if it is supported. A client 
> that supports this extension is referred to as a 6733+ client below.  
> A client that doesn't is referred to as a 6733 client.
>
> With this extension we have two options for wording to be put into the 
> DOIC specification.
>
> 1) Indicate that a DOIC agent that throttles a request MUST send a 
> 3011 error response for all clients, 6733 and 6733+.  This would 
> depend on default processing in clients for result codes that the 
> client does not understand.  This default processing is not defined in 
> 6733 (at least I didn't find it).  The closest I could find was the 
> following.  If an unrecognized result code was interpreted as the 
> answer message containing an error then throttling a request would 
> result in the session being terminated.
> In the case where the answer message itself contains errors, any
>     related session SHOULD be terminated by sending an STR or ASR
>     message.  The Termination-Cause AVP in the STR MAY be filled with the
>     appropriate value to indicate the cause of the error.  An application
>     MAY also send an application-specific request instead of an STR or
>     ASR message to signal the error in the case where no state is
>     maintained or to allow for some form of error recovery with the
>     corresponding Diameter entity.
> RFC 6733 - Diameter Base Protocol 2) Indicate that a DOIC agent that 
> throttles a request MUST send a 3011 response to 6733+ clients.  For 
> 6733 clients the agent MUST send DIAMETER_TOO_BUSY 3002.  This is not 
> perfect as 3002 says the client should try to send to an alternative 
> peer, but it is as close as we can get.
>
> Neither of these solutions are perfect and would come with the strong 
> recommendation that Diameter nodes that support DOIC should also 
> support the above extension.
>
> I propose number 1 as it at least does result in reduction of traffic 
> sent toward the overloaded server.
>
> Regards,
>
> Steve
>
>
>
>
>
>
>
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime