On Tue, Jan 22, 2013 at 5:06 PM, Peter Cock <p.j.a.cock@googlemail.com> wrote:
On Tue, Jan 22, 2013 at 4:43 PM, Carl Eberhard <carlfeberhard@gmail.com> wrote:
Hello, Peter
In revision 8646:50c65739cd1a, I've changed the error handling in history_contents.py:index and the client-side code that fetches dataset info.
Long form: Now when an error (like yours) occurs when fetching dataset information for one or more datasets, the method will record the error for that dataset as part of the returned list and continue trying to fetch the other requested datasets. In other words, one specific dataset in error will not cause the entire API request to fail (and break the history panel).
Client-side code has been added to handle these types of errors better through the API and the initial mako page building. Now a dataset's server error will be shown on the client side as dataset in the 'error' state.
Short form: Both the API and client side should handle single datasets error-ing more gracefully than they did and the history panel should be more resilient and useful during and after a server error (at least of this kind).
Please let me know if you see more problems, C
Will do, thanks,
Peter
OK, having tried the new code (merged into my tools branch), the histories with these problem entries now show up in the right hand pane - the only hint of a problem is in the logs, e.g. galaxy.webapps.galaxy.api.history_contents ERROR 2013-01-23 16:38:52,802 Error in history API at listing contents with history ebfb8f50c6abde6d, hda 8c59bbd49fe7aae1: cannot concatenate 'str' and 'NoneType' objects This is consistent with the original exception (which my patch caught and logged) where both the name and val where None. So we don't know how these None values got into the database, but the user interface handles this gracefully now :) Thanks, Peter