Comment 1 for bug 145894

Revision history for this message
James Henstridge (jamesh) wrote :

After investigating this, the <Fault 8002: 'error'> bit is what twisted.web.xmlrpc returns if a non-Fault exception gets raised. So in principle we can pass useful error messages back to the client, which is good.

After a bit of experimentation, the actual fault looks like a database integrity error. The XML-RPC method looks up the product, then creates a branch with that user, product and branch name.

Unfortunately, the product lookup returns None, so it ends up creating a +junk branch instead. On the next operation, it will look up the branch and find it doesn't exist and try to create it again. This then fails because the branch already exists (albeit in a different location).

The fix is to make the XML-RPC method return an appropriate fault if the product does not exist.