Skip to content

fix: lease heartbeat 500 error and remove fork override in tests#415

Open
shaileshpadave wants to merge 1 commit into
mainfrom
fix/test-fork-override-and-lease-heartbeat-status
Open

fix: lease heartbeat 500 error and remove fork override in tests#415
shaileshpadave wants to merge 1 commit into
mainfrom
fix/test-fork-override-and-lease-heartbeat-status

Conversation

@shaileshpadave

Copy link
Copy Markdown

What

Two bugs found during macOS spawn-safety testing.

1. Lease heartbeat → 500 on server
Heartbeat was sent without a status field. Server NPEs calling getStatus().name() when status is null. Fixed by including status=IN_PROGRESS in heartbeat requests.

2. Integration test forces fork, breaks spawn default
test_workflow_execution.py had set_start_method('fork', force=True) which overrode the SDK's spawn default for the whole pytest session, causing SIGSEGV crashes on macOS for subsequent tests. Removed.

Tested

  • 1850 unit tests pass on Python 3.11, 3.13, 3.14
  • Comprehensive E2E 8/8 passes on live cluster

- Send IN_PROGRESS status in lease extension heartbeats to prevent
  NullPointerException on the server when getStatus() is called
- Remove set_start_method('fork', force=True) from integration test
  that was overriding the SDK's spawn default for the whole test session
  and causing SIGSEGV crashes on macOS

Found during macOS spawn-safety testing (Python 3.11/3.13/3.14).
@codecov

codecov Bot commented Jul 7, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

Files with missing lines Coverage Δ
src/conductor/client/automator/lease_tracker.py 98.19% <100.00%> (+0.01%) ⬆️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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.

1 participant