incubator-libcloud mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Russell Haering (JIRA)" <j...@apache.org>
Subject [libcloud] [jira] Commented: (LIBCLOUD-44) Workaround GoGrid API Errors
Date Mon, 26 Jul 2010 00:31:52 GMT

    [ 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.


Mime
View raw message