[ 
https://issues.apache.org/jira/browse/LIBCLOUD-44?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12892158#action_12892158
 ] 

Russell Haering commented on LIBCLOUD-44:
-----------------------------------------

Roman,

1. My final commit didn't make use of the POSTs, so it might make more sense to 
put them in a separate commit. As to why POST should be used, GET is for 
retrieving data and by convention (and specification) shouldn't be used for 
"Unsafe" methods.

2. I'm generally inclined to agree with you on this point. My intention was to 
abstract away API-specific details, and since I was able to catch and handle 
this very specific error I decided to do so. Ideally GoGrid would just fix the 
problem (I haven't tested it in the last few days, but I hope you're right on 
that), and occasional problems in any API could be passed up to the user, but 
in this case there should be some distinction between failures on methods that 
can be safely re-attempted and those that can't (that was my original plan with 
the POSTs).

3. Definitely

> Workaround GoGrid API Errors
> ----------------------------
>
>                 Key: LIBCLOUD-44
>                 URL: https://issues.apache.org/jira/browse/LIBCLOUD-44
>             Project: Libcloud
>          Issue Type: Bug
>          Components: Core
>            Reporter: Russell Haering
>            Assignee: Roman Bogorodskiy
>         Attachments: gogrid_workaround.patch
>
>
> I've been receiving occasional errors from the Mashery Proxy in front of the 
> GoGrid API. I have modified the GoGrid driver to do the following:
> 1. Use POSTs in place of GETs for API calls with the potential to provision, 
> destroy or reboot servers. These aren't actually used in the fix I eventually 
> settled on, but should probably be used in any case.
> 2. When checking for the success of a request, check for headers indicating a 
> proxy error and raise an exception specific to this error.
> 3. Implement a counter to retry requests up to 20 times, once every 10 
> seconds, when these errors occur. I haven't spent too much time tuning this, 
> but with 10 retries I was still getting occasional failures.
> I'll be attaching the patch momentarily, or these changes (among others) have 
> been applied to my github fork at: http://github.com/russellhaering/libcloud

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

Reply via email to