Bug 9670 - More specific error exceptions requested from search
: More specific error exceptions requested from search
Status: RESOLVED FIXINSOURCE
Product: pkg
api-python
: os200906 (26c3e2407c53)
: ANY/Generic All
: P3 enhancement (vote)
: ---
Assigned To: johansen
: pkg/api-python watcher
:
:
:
:
:
  Show dependency treegraph
 
Reported: 2009-06-25 02:37 UTC by Padraig O'Briain
Modified: 2009-07-01 16:40 UTC (History)
2 users (show)

See Also:


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description Padraig O'Briain 2009-06-25 02:37:02 UTC
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.
Comment 1 Brock Pytlik 2009-06-25 03:02:20 UTC
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.
Comment 2 johansen 2009-06-25 10:27:18 UTC
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.
Comment 3 johansen 2009-07-01 16:40:06 UTC
Integrated 1Jul2009 as change set a48bee2a4b2e9c8345c29acea63116acf77dddb3