incubator-libcloud mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Roman Bogorodskiy (JIRA)" <j...@apache.org>
Subject [libcloud] [jira] Commented: (LIBCLOUD-44) Workaround GoGrid API Errors
Date Sat, 24 Jul 2010 09:55:50 GMT

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

Roman Bogorodskiy commented on LIBCLOUD-44:
-------------------------------------------

Hello Russell,

1. What's the benefit of using POST instead of GET? I've checked the gogrid wiki and it says
that both GET and POST are equally supported but I don't see much difference...

2. As I've pointed on IRC, I don't quite like making client code make assumptions on API service
configuration (like that they're using Mashery for example). I think it would be better just
to create a general exception if the response is not of expected type, lile xml while we expect
json, that seems to be a more general solution, what do you thing?

3. I believe such counter should be introduced on the library level, not on a driver level
and should be somehow controlled by the user of the library.

BTW, looks like Mashrey issue was fixed, at least things were working fine during Thursday
and Friday.

> 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