-
-
Notifications
You must be signed in to change notification settings - Fork 284
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
DefaultResolver gets ignored with excon 0.103.0 #832
Comments
Thanks for the detailed report, that is definitely an unintended consequence of our recent change. I guess my inclination might be to at least partially revert the recent timeout related interface changes, and document for folks that they can instead use What do you think? |
Since this is something that is already possible to configure yourself outside this gem, I would find it logical to use that existing implementation, so that current setups which are already using default resolvers don't break in unexpected ways. A notice in the documentation on how to configure this yourself with the default resolvers, with So while a revert is not ideal in terms of backwards compatibility, due to version |
@robinmoneybird Yeah, I think that makes sense. @bruno-b-martins I also wanted to circle you in to get your thoughts on this since you drove the change. I will need to think a bit more on specifically how we would want to do this in terms of backwards compatibility and potential deprecation, but it seems like it might be the right thing to do. What do you think? |
Hey there, I agree with @robinmoneybird that a revert outweighs the incompatibility issue introduced in Since this change was introduced less than 1 week ago, it might be that nearly no one is using it yet. Thinking on @robinmoneybird's suggestion of setting the resolvers outside of Probably there is a better solution for this. Something in the line of having Excon receive the Resolvers to use already set up (timeouts). And in Excon we would |
@bruno-b-martins Yeah that makes sense. It sounds like a possible in-between solution as suggested by @bruno-b-martins could be that we revert the dns_timeout argument changes, but instead add a new argument that expects an array of pre-configured resolvers. This would allow the flexibility of making the sort of changes both of you are after, without having to change it for everything that might use it in your application. By default we could configure excon then to still use @bruno-b-martins @robinmoneybird does that sound like a good approach? |
To me it sounds like a good approach. Do you want help? |
@bruno-b-martins I'd love help if you have some capacity. I have a 3 week old at home and am heading to a tech conference for the later half of this week, so I don't think I'll have a chance to do much with it until at least mid next week otherwise. |
Wow! Congrats 😊 I can probably start the PR next week and I'll ping you when in doubt. Reviewing should take less time than developing and testing 😅 |
@bruno-b-martins thanks. Sounds great, just let me know if you have questions (as you suggest, that's much easier to find time and brain power for). |
I believe this is now addressed by #834 and released in v0.104.0. |
@geemus, @bruno-b-martins, thank you for the quick turn-around on this issue. |
From what I can tell, is that after the changes made in #830, which are included in release
0.103.0
, the ResolvDefaultResolver
is ignored.This change makes it impossible to use an overwritten default Resolv config (for example, in my use-case with a Rails initializer):
Would it be possible to use the
Resolv::DefaultResolver
and add the DNS timeouts config to the predefinedResolv::DNS
instances, or something that would make using a custom Resolv configuration possible?The text was updated successfully, but these errors were encountered: