Skip to content

Fix Service Bus lock renewal for long-running topic callbacks#51

Merged
sujata-m merged 1 commit into
developfrom
feature-lock-issue
Jun 1, 2026
Merged

Fix Service Bus lock renewal for long-running topic callbacks#51
sujata-m merged 1 commit into
developfrom
feature-lock-issue

Conversation

@sujata-m
Copy link
Copy Markdown
Contributor

@sujata-m sujata-m commented Jun 1, 2026

Summary

  • Adds parent-side proactive lock renewal for in-flight Azure topic messages while callback workers are still running.
  • Registers messages with AutoLockRenewer before starting callback execution.
  • Tracks in-flight callback tasks and releases tracking during settlement.
  • Cancels process workers only after the message lock has actually expired, preventing duplicate long-running processing after lock loss.
  • Adds configurable process fallback behavior with TOPIC_CALLBACK_PROCESS_FALLBACK_MODE.
  • Bumps package version to 0.0.26.
  • Adds unit coverage for proactive renewal, lock-loss handling, fallback behavior, and in-flight cleanup.

Testing

  • python -m pytest
  • 273 passed, 1 existing warning.

**Summary**
- Adds parent-side proactive lock renewal for in-flight Azure topic messages while callback workers are still running.
- Registers messages with `AutoLockRenewer` before starting callback execution.
- Tracks in-flight callback tasks and releases tracking during settlement.
- Cancels process workers only after the message lock has actually expired, preventing duplicate long-running processing after lock loss.
- Adds configurable process fallback behavior with `TOPIC_CALLBACK_PROCESS_FALLBACK_MODE`.
- Bumps package version to `0.0.26`.
- Adds unit coverage for proactive renewal, lock-loss handling, fallback behavior, and in-flight cleanup.

**Testing**
- `python -m pytest`
- `273 passed`, `1` existing warning.
@sujata-m sujata-m merged commit a77fb56 into develop Jun 1, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants