-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
use plugin.retryHydrate #23
Comments
@judell very interesting finding, thanks for raising it, we will take a look at the existing backoff strategy used vs what we have been using in other plugins and initial appropriate change. Keep you posted on it. |
Thanks @rajlearner17. My sense of this evolving landscape is that, as a plugin writer:
In case of 2, would we expect that the plugin writer should generally expect to cooperate with retryHydrate, or rather expect to just let it do its thing? |
@judell we are considering this to check and work this week. We will keep posted. |
See also: turbot/steampipe-plugin-github#118 |
That a separate thing, I could've made a separate issue for it, should I? |
@judell noted. We will analyze when back in full capacity next week. |
Thanks @rajlearner17. |
This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 30 days. |
This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 30 days. |
This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 30 days. |
'This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 30 days.' |
'This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 30 days.' |
'This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 30 days.' |
'This issue was closed because it has been stalled for 90 days with no activity.' |
This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 30 days. |
This issue was closed because it has been stalled for 90 days with no activity. |
This is a query against the Steampipe public Slack that gets pretty far, then triggers a rate limit and will not complete.
Here is my first attempt to use
plugin.retryHydrate
: https://github.com/turbot/steampipe-plugin-slack/compare/use-retry-hydrate#diff-dd4fe9f3414fd76a85ed3ab2bc2e8896acd02d8e0687afc4599bc1bfec51059fIt seems to work, in that with this change the query will eventually complete (Time: 8m50.043227805s)
Again it gets fairly far before the rate limit kicks in. Then, there is a lot of chatter between e.g. the first line in the log extract below that returns 59 messages for a day, and the next line that returns 1 message for the following day.
If the API is going to make the plugin wait 3 seconds, would it be best to just take that wait, for example in
shouldRetryError
, withtime.Sleep(3 * time.Second)
?I've tried that, and it also eventually completes (Time: 5m53.883121854s).
It appears that the explicit wait finishes sooner, but I'm not sure about the time comparison because the point at which rate limiting kicks in may vary from run to run.
My questions:
What is
retryHydrate
's backoff strategy? I thought it would increase the backoff when the plugin encounters resistance, but I don't think I'm seeing evidence of that here.Is taking an explicit wait the right strategy here?
PS: This branch also increases the gulp size (
params.Count = 100
) from the default which is evidently 20.The text was updated successfully, but these errors were encountered: