-
Notifications
You must be signed in to change notification settings - Fork 921
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
Retry5xxSessionProxy + graceful reindexing #208
Conversation
Much better solution indeed. |
Hmm… SemVer quandary: Do I release this as 1.4.0 because Or do I release it as 1.3.2 because it "fixes" the existing brittle reindexing behavior? |
I like my bike sheds red. Joking aside, I think introduction of new apis is a minor release, not a patch, regardless of purpose. |
My vote is for 1.3.2 as long as it does not break anything. On Friday, April 13, 2012 at 12:47 PM, Nick Zadrozny wrote:
|
Looks good. I'm seeing 500 errors in production, would love to have this as 1.3.2. |
This looks good! The small qualms you have (e.g., Also let's make sure it's rebased and merged into master too, right? I think it would be good to update the README there as well with info on how to use this. |
If you'd like me to handle the merge and rebase, I'd be glad to. Just say the words :) |
Relabeling as for |
@alindeman make it so! I'm afk all day and only blocked on bikeshed issues at this point :) Nick Zadrozny On Sunday, April 15, 2012 at 4:40, Andy Lindeman wrote:
|
Awesome. This is just what we are after. We've been putting up with the 500 errors for a little while now. As @nz would know, Websolr have done some good things to hopefully make these problems go away too. http://help.websolr.com/kb/status-reports/ongoing-sporadic-50x-errors-updated-15-apr-12 |
Fun times in the cloud! |
For your code reviewing pleasure.
Travis build: http://travis-ci.org/#!/sunspot/sunspot/builds/1071595
sunspot
New
Retry5xxSessionProxy
which will retry a 5xx error once, then gracefully return the Solr response to be parsed by the application.This thing is basically opt-in and not on by default…
sunspot_rails
Exception: the
sunspot:reindex
task will now use theRetry5xxSessionProxy
. I figure this is a pretty reasonable place for it, sine the reindexing is desperately brittle right now and really needs the love.TODO
More manual integration testing of the rake task. Please do lend a hand if you have a few minutes. Even just a normal reindex on a test app to help confirm that I haven't screwed anything up.
Still trying to decide how I'm going to set up my testing rig to generate random 500 errors. Probably a little proxymachine app in front of Solr.
/cc @fizx
Did my testing, found a few bugs, added
ECONNRESET
to the retryable exceptions. I also added some$stderr.puts
calls to make some kind of noise to the user, but I'm not entirely sure how I feel about those being there. /shrug