[ 
https://issues.apache.org/jira/browse/SLING-10123?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17299334#comment-17299334
 ] 

Ashish Chopra commented on SLING-10123:
---------------------------------------

hi [~mohiaror]
bq. should we implement an ExponentialBackoff similar to [0]?
bq. If we want to use [0], would it make sense to extract it out into a common 
bundle which both distribution-journal and distribution-core are importing?
I'm interested in knowing what would the caller of [0] be doing while [0] waits 
for back-off time on an executor of its own. If the caller can only wait for it 
to finish (via a blocking call, or a sleep), then using [0] (or something 
equivalent) doesn't seem to make much sense to me.

[0] is only relevant when the caller can proceed to do something different and 
return to transport once the back-off duration is over. I don't think the above 
is applicable in the case this issue speaks of.

[0] 
https://github.com/apache/sling-org-apache-sling-distribution-journal/blob/master/src/main/java/org/apache/sling/distribution/journal/shared/ExponentialBackOff.java

> Distribution agent queue processor should implement a backoff in case of 
> retries for processing an item
> -------------------------------------------------------------------------------------------------------
>
>                 Key: SLING-10123
>                 URL: https://issues.apache.org/jira/browse/SLING-10123
>             Project: Sling
>          Issue Type: Bug
>          Components: Content Distribution
>    Affects Versions: Content Distribution Core 0.4.2
>            Reporter: Mohit Arora
>            Priority: Major
>             Fix For: Content Distribution Core 0.4.6
>
>
> In case of recoverable exceptions, distribution agent queue processor does 
> not evict the queue item from the processing queue [0]. Rather, the item is 
> retried infinitely until either the distribution of the item is successful or 
> a non-recoverable exception is thrown for the item. However, since there is 
> "something wrong" because of which an exception is thrown in the first place, 
> we should add a cool off period before trying to reattempt to distribute the 
> same item. This can be achieved through a linear or exponential backoff.
> cc - [~ashishc]
> [0] 
> https://github.com/apache/sling-org-apache-sling-distribution-core/blob/master/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentQueueProcessor.java#L147-L150



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to