Page MenuHomePhabricator

Improve error and exception handling for Drydock resources
ClosedPublic

Authored by epriestley on Oct 1 2015, 12:46 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Oct 2, 5:43 PM
Unknown Object (File)
Wed, Oct 2, 5:39 PM
Unknown Object (File)
Wed, Oct 2, 5:38 PM
Unknown Object (File)
Wed, Oct 2, 5:56 AM
Unknown Object (File)
Mon, Sep 30, 9:49 PM
Unknown Object (File)
Sat, Sep 21, 6:54 PM
Unknown Object (File)
Sun, Sep 15, 8:22 AM
Unknown Object (File)
Sun, Sep 15, 7:42 AM
Subscribers
None

Details

Summary

Ref T9252. Currently, error handling behavior isn't great and a lot of errors aren't dealt with properly. Try to improve this by making default behaviors better:

  • Yields, slot lock exceptions, and aggregate or proxy exceptions containing an excpetion of these types turn into yields.
  • All other exceptions are considered permanent failures. They break the resource and

This feels a little bit "magical" but I want to try to get the default behaviors to align reasonably well with expectations so that blueprints mostly don't need to have a ton of error handling. This will probably need at least some refinement down the road, but it's a reasonable rule for all exception/error conditions we currently have.

Test Plan

I did a clean build, but haven't vetted this super thoroughly. Next diff will do the same thing to leases, then I'll work on stabilizing this code better.

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable