Troubleshooting · graph
Use when
A workspace submit ended with outcome
partial or unknown, or the workspace shows submission: partial or submission: unresolved.Looking for something else?
A submit that returned
rejected, where nothing was applied (card Workspace, rule workspace.3). A submit that waits for approval (problem A change returned pending).Signs
penumbra graph workspace submitprintssubmission: partialorsubmission: unknown, and exits with code 4.- The output ends with
next: penumbra graph workspace show "<name>" for the submission state, then submit again to resume. - A diagnostic says
Earlier phases have sealed receiptsorThe submission outcome is unresolved. No rollback is inferred. penumbra graph workspace show "<name>"printssubmission: partialorsubmission: unresolved, and the workspace has statussubmitted.- When you may resume, the same read prints
resume with --revision <r> --sequence <s>. - New staging is refused with
workspace_not_open.
Why it happens
A submit commits in up to three phases (card Workspace, rule workspace.5). Each phase is one commit with its own phase receipt. A later phase can be refused, or its reply can be lost, after an earlier phase is final. Penumbra cannot prove that a phase without a receipt did not run. Sounresolved is not a rollback.
What Penumbra does
By itself:- Keeps the plan and the receipt of each phase before it sends the next phase.
- Does not apply a phase that has a receipt a second time, when you resume.
- Checks your authority again for each remaining phase.
- Keeps the workspace with status
submitteduntil all phases are final. - When a Shape in the project has rules, runs the whole submit as one
transaction. A failure then keeps nothing, and the code is
workspace_atomic_submission_failed. - Shows a
resume withline only to the credential that may resume.
- Read the workspace.
- Resume with the same workspace and the same credential.
- Tell the person which phases are final.
- No operation rolls back a finished phase.
- No other credential can resume the submit.
Do
- Read the workspace:
penumbra graph workspace show "<name>". Read thesubmission:line. Usepenumbra graph workspace show "<name>" --jsonto see which phases have a receipt. - If the output has a
resume withline, run the command it describes:penumbra graph workspace submit "<name>" --revision <r> --sequence <s>. Use the values<r>and<s>from that line. - Or send the original submit again with its original
--request-idand the same arguments. This also returns the saved outcome or continues the phases that remain. - If there is no
resume withline, check which credential you hold withpenumbra whoami. Use the credential that submitted. If you cannot, tell the person that this credential cannot resume the submit. - If the submit ends in
partialorunknownagain, read the workspace again before the next try. - When the submit ends
applied, tell the person which items were created or changed.
Don’t
- Don’t open a new workspace and stage the same items again. The finished phases would run a second time.
- Don’t tell the person that the submit failed or was rolled back.
- Don’t use the current workspace revision to resume. Use the
--revisionand--sequencefrom theresume withline. - Don’t edit the staged items. The workspace is not open.
Check
penumbra graph workspace show "<name>"prints statusappliedandsubmission: applied.- With
--json,submission.receiptshas a receipt for each phase that had work. penumbra graph get <id>shows each entity that the submit created.