PB-043: Cancel a Fabric run from Monitor and the tray
State: Proposed. Not approved for implementation. Priority: P2. Owner when approved: Master product (unassigned; coordinate with Workload management, which owns the workload actions).
1. PR title and ID#
Cancel a running Fabric job from Monitor > Runs and the activity tray (PB-043)
2. Business problem#
People watch Fabric runs in Monitor > Runs and the tray. When a run is wrong or too expensive, they can't stop it there; capacity keeps burning until it finishes.
3. Current verified behavior#
cloud_service.pycancel_fabric_runcallsfabric_api.pycancel_job.- It is reachable only as the
cancelworkload action in Monitor > Workloads (Preview), throughworkload_service.pyworkload_act;app/ui/workloads.jsconfirms before cancelling. - Monitor > Runs and the tray (
app/ui/activity.jstrackFabricJobs) show running Fabric jobs with no Cancel. No test callscancel_fabric_rundirectly.
4. Desired behavior#
A Cancel button on running Fabric jobs started from this app, in Monitor > Runs and the tray, with a confirmation, after which the run shows Cancelled when Fabric reports it.
5. In scope and out of scope#
In scope: the two UI entry points, a test for cancel_fabric_run.
Out of scope: jobs not started from this app; pipelines.
6. Architecture and files#
app/ui/app.js (Monitor runs), app/ui/activity.js, cloud_service.py, sidecar/tests/test_cloud.py.
7. Functional requirements#
- Cancel only on rows in a running state with a job id.
- The same confirmation text as the workload action.
- Policy that turns Fabric runs off doesn't block cancelling.
8. Nonfunctional requirements#
Keyboard reachable and labelled (existing UI tests check icon buttons have names).
9. Dependencies#
None.
10. Security and compatibility#
Cancel acts only on jobs in the run log this app wrote; it never lists or cancels other users' jobs.
11. Acceptance criteria#
- Test for
cancel_fabric_runwith a fake client. - UI test: running Fabric rows have a named Cancel button; finished rows don't.
12. Unit and integration tests#
As above.
13. Manual verification#
On a tenant: start Run in Fabric, cancel from the tray, confirm Fabric shows the job cancelled.
14. Documentation#
docs/user-guide.md Monitor section.
15. Rollback#
Revert the UI change.
16. Definition of Done#
Merged, tests green, FEAT-FAB-07 limitation removed after review.
Need a hand?
Find a fix in troubleshooting, or share a reproducible issue with the community.
Get support ↗Improve this guide on GitHub ↗