You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@synapse.apache.org by "Asankha C. Perera (JIRA)" <ji...@apache.org> on 2008/10/08 04:05:44 UTC

[jira] Resolved: (SYNAPSE-466) Dynamic setup of suspendDurationOnFailure

     [ https://issues.apache.org/jira/browse/SYNAPSE-466?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Asankha C. Perera resolved SYNAPSE-466.
---------------------------------------

    Resolution: Fixed

Fixed on trunk, with the new Endpoint syntax being:

<endpoint name="jmxName">
  <address uri="endpoint address" [format="soap11|soap12|pox|get"] [optimize="mtom|swa"]
         [encoding="charset encoding"]
         [statistics="enable|disable"] [trace="enable|disable"]>
    <enableRM [policy="key"]/>?
    <enableSec [policy="key"]/>?
    <enableAddressing [version="final|submission"] [separateListener="true|false"]/>?

    <timeout>
    	<duration>timeout duration in milli-seconds</duration>
    	<action>discard|fault</action>
    </timeout>?

    <markForSuspension>
        [<errorCodes>xxx,yyy</errorCodes>]
        <retriesBeforeSuspension>m</retriesBeforeSuspension>
        <retryDelay>d</retryDelay>
    </markForSuspension>

    <suspendOnFailure>
        [<errorCodes>xxx,yyy</errorCodes>]
        <initialDuration>n</initialDuration>
        <progressionFactor>r</progressionFactor>
        <maximumDuration>l</maximumDuration>
    </suspendOnFailure>

  </address>
</endpoint>

Documentation and samples to follow

> Dynamic setup of suspendDurationOnFailure
> -----------------------------------------
>
>                 Key: SYNAPSE-466
>                 URL: https://issues.apache.org/jira/browse/SYNAPSE-466
>             Project: Synapse
>          Issue Type: Improvement
>          Components: Endpoints
>    Affects Versions: 1.2
>            Reporter: Eric Hubert
>            Assignee: Asankha C. Perera
>             Fix For: 1.3
>
>
> The suspendDurationOnFailure must be a dynamic value which shall start with an initial (normally small) value, which then increases proportionally after each subsequent failed try. After a successful try the try-counter will be reset. An optional max value shall limit the maximum amount between subsequent checks. 
> Implementation idea:
> The suspendDurationOnFailure shall be implemented as a geometric series:
> d         =  d    *    q        <=>          d
>   n+1         n                                     n+1
>                                                     -------------
>                                                        d
>                                                          n
> With a configurable value d1 for the duration after the first failed try, an optional configurable quotient q to specify "the level of over proportionality"(default 3?) and an optional maximal limit of dn (default no limit).
> Additionally, it should be possible to specify a set of error conditions which at once would move the endpoint into suspension.
> A temporary error (such as a connection timeout or close) should be able to mark the endpoint for suspension, with a fixed number of retries and a corresponding delay. After the retries expires, the endpoint would be suspended. Again, it should be possible to specify the error conditions, which would mark the endpoint for suspension

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org