https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6221

--- Comment #16 from Simon Arlott 
<[email protected]> 2010-01-27 13:47:53 UTC ---
(In reply to comment #15)
> (in response to comment #14)
> > it should keep whichever port it finds until it's done with all its queries
> That is not true if it could have well more than 65536 queries.

Once you have a response, you can reuse the ID. Ideally it would poll the
socket in a non-blocking manner before doing each new query to attempt to
cleanup old queries more quickly.

> I am very ready to find out that one or more of the underlying assumptions 
> that
> led to the design used in bug 4260 are no longer valid, but I want to make 
> sure
> that we understand all of the issues before changing things. I hope you don't
> think that I am arguing with you about this -- It is all in the spirit of
> trying to dig as deep into the details as possible.

It appears that the previous code which that bug addresses used to request a
new port for every query (perhaps because it didn't use/verify the ID?). That's
far more likely to be the cause of the problems observed, with multiple
processes using hundreds of ports and then dropping them too quickly when they
don't respond.

The OS could also have been allocating ports inappropriately too, but this
should have affected DNS resolution for all applications because a port is
always needed to do a query.

-- 
Configure bugmail: 
https://issues.apache.org/SpamAssassin/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

Reply via email to