[
https://issues.apache.org/jira/browse/HTTPCLIENT-1044?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12984117#action_12984117
]
Oleg Kalnichevski commented on HTTPCLIENT-1044:
-----------------------------------------------
(1) The check for the enclosing entity being repeatable is redundant and
unnecessary. The responsibility to decide as to whether or not an entity is
repeatable lies with the request director.
(2) There are many ways people can do silly things. I am aware that some web
applications can process GET requests in such a manner that effectively renders
them non-idempotent. This is however fairly rare. Entity enclosing methods are
more likely to cause issues when retried automatically. The default
HttpRequestRetryHandler implementation represents a compromise between
requirements of the HTTP spec and tolerance to common misbehaviours by real
world applications.
(3) I can live with plan C as long as the default HttpRequestRetryHandler
implementation remains unchanged and the point (1) is taken into consideration.
Oleg
> DefaultHttpRequestRetryHandler is not handling PUT as an idempotent method
> for retries, though RFC2616 section 9.1.2 clearly defines it to be one.
> --------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HTTPCLIENT-1044
> URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1044
> Project: HttpComponents HttpClient
> Issue Type: Improvement
> Components: HttpClient
> Affects Versions: 4.0.3, 4.1.0
> Reporter: Steffen Yount
> Priority: Minor
> Fix For: 4.2.0
>
> Attachments: HTTPCLIENT-1044.patch, HTTPCLIENT-1044_planB.patch,
> HTTPCLIENT-1044_planC.patch
>
>
> See attached patch file for a fix:
> Fix treats PUT requests as idempotent, marking them to be retried when their
> enclosed HttpEntity is either null or repeatable.
--
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: [email protected]
For additional commands, e-mail: [email protected]