Bugzilla – Bug 9670
More specific error exceptions requested from search
Last modified: 2009-07-01 16:40:06 UTC
You need to log in before you can comment on or make changes to this bug.
When search throws api_errors.ProblematicSearchServers exception we need to parse the output to determine what went wrong. This is a request for different exceptions to be raised for the differnt error conditions.
Since PSS object's contain the individual errors in them, I'll assume that what you're referring to is what John and Michal mentioned when they were visiting. Specifically, that the runtime error coming from versioned_urlopen requires parsing of its text. CCing j since versioned_urlopen is going away.
I took a look at the code that you have for parsing errors, since John and Michal asked about this when they were here. Instead of raising a series of different exceptions when search fails, Brock and I came up with a solution that raises a single exception, but it more concrete about categorizing the types of problems that the search encountered. The fix is in the current version of the transport webrev: http://cr.opensolaris.org/~johansen/webrev-xport-1 Check out api_errors.py 321-347: This exception contains a list of three constituent exceptions. The servers that failed due to transport problems, in failed_servers. The servers that returned a response that wasn't a valid according to the search/1 protocol, in invalid_servers. The servers that don't support the search/1 protocol in unsupported servers. Failed_servers and unsupported_servers contain lists of exceptions, which further describe the problem. The invalid_servers list contains the name of the publisher that returned an invalid result. If this information isn't sufficient to determine what went wrong, please clarify what additional information is needed.
Integrated 1Jul2009 as change set a48bee2a4b2e9c8345c29acea63116acf77dddb3