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
F18890854: D14211.id.diff
Fri, Nov 7, 10:00 AM
F18829925: D14211.id34312.diff
Oct 25 2025, 2:19 AM
F18745956: D14211.id.diff
Oct 3 2025, 10:31 AM
F18737471: D14211.diff
Oct 1 2025, 10:55 AM
F18709457: D14211.diff
Sep 29 2025, 12:14 AM
F18684578: D14211.diff
Sep 26 2025, 9:44 AM
F18630702: D14211.id34312.diff
Sep 16 2025, 12:41 PM
F18629832: D14211.id.diff
Sep 16 2025, 10:02 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
Branch
dd12
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 8120
Build 9264: [Placeholder Plan] Wait for 30 Seconds
Build 9263: arc lint + arc unit