Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Orchestration completion and failure are logged and counted before the commit

Open
#60 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
72/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
rust

Research direction

Start in src/runtime/dispatchers/orchestration.rs, reading the log and metric code around lines 741-893, the first-turn metrics around 670-681, and the commit around 949-961. Trace ack_orchestration_item and verify that terminal logs and metrics occur only after a successful commit, including the lost-lock case described in the issue.

Written by the indexing model from the issue text.

Description

bug

Summary

process_orchestration_item writes the "Orchestration completed" and "Orchestration failed" log lines, and records the completion and failure metrics, before it calls ack_orchestration_item. When the commit is rejected, the logs and the metrics describe something that did not happen.

Where

Effects

  • A turn that lost its lock still logs Orchestration failed at ERROR, or Orchestration completed. Its commit is then rejected with Invalid lock token. An operator sees an error for an instance that is healthy.
  • record_orchestration_completion_with_labels, record_orchestration_failure_with_labels and record_continue_as_new count a turn that was not committed. The turn that commits later is counted again.
  • decrement_active_orchestrations runs twice for one instance, so the active gauge drifts down.

How this was checked

Read in the code. A local reproduction of a lost lock showed the log pattern: the turn logged Orchestration failed at ERROR, and the next line was ack_orchestration_item failed with non-retryable error with Invalid lock token.

Suggested fix

Write the terminal logs and record the metrics after a successful commit. PR #49 does this for the poison path. This is the same change for the normal path.

Tracked in #55.

Dominant language
Rust
Stars
221
Forks
61
Avg merge
3d 5h
Merged PRs (30d)
1

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from microsoft/duroxide

All issues in microsoft/duroxide

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.