diff --git a/dashboard/src/routes/+page.svelte b/dashboard/src/routes/+page.svelte index ae3ef670..7e27192f 100644 --- a/dashboard/src/routes/+page.svelte +++ b/dashboard/src/routes/+page.svelte @@ -2067,7 +2067,7 @@ >
A macOS RDMA driver error was detected. This is a known issue - with the experimental jaccl driver. + with the experimental RDMA driver in macOS.
Error: @@ -2657,7 +2657,9 @@ : getMetaInstancePlacingStatus(id)} {@const metaData = item.isMetaInstance ? metaInstancesData[id] : null} {@const retryError = metaData?.lastFailureError && !downloadInfo.isFailed - ? `(${((metaData.consecutiveFailures - 1) % 3) + 1}/3) ${metaData.lastFailureError}` + ? metaData.consecutiveFailures > 0 + ? `(${((metaData.consecutiveFailures - 1) % 3) + 1}/3) ${metaData.lastFailureError}` + : metaData.lastFailureError : null} {@const statusText = downloadInfo.statusText} {@const isDownloading = downloadInfo.isDownloading} @@ -3523,7 +3525,9 @@ : getMetaInstancePlacingStatus(id)} {@const metaData = item.isMetaInstance ? metaInstancesData[id] : null} {@const retryError = metaData?.lastFailureError && !downloadInfo.isFailed - ? `(${((metaData.consecutiveFailures - 1) % 3) + 1}/3) ${metaData.lastFailureError}` + ? metaData.consecutiveFailures > 0 + ? `(${((metaData.consecutiveFailures - 1) % 3) + 1}/3) ${metaData.lastFailureError}` + : metaData.lastFailureError : null} {@const statusText = downloadInfo.statusText} {@const isDownloading = downloadInfo.isDownloading} diff --git a/src/exo/master/tests/test_reconcile.py b/src/exo/master/tests/test_reconcile.py index d260106d..7a3a813f 100644 --- a/src/exo/master/tests/test_reconcile.py +++ b/src/exo/master/tests/test_reconcile.py @@ -664,7 +664,7 @@ def test_apply_instance_retrying_skips_missing_runners(): def test_apply_instance_created_resets_failure_counter(): - """InstanceCreated resets consecutive_failures on the MetaInstance.""" + """InstanceCreated resets consecutive_failures but preserves last_failure_error.""" meta = _meta_instance().model_copy( update={"consecutive_failures": 3, "last_failure_error": "old error"} ) @@ -674,7 +674,7 @@ def test_apply_instance_created_resets_failure_counter(): new_state = apply(state, IndexedEvent(idx=0, event=event)) mi = new_state.meta_instances[meta.meta_instance_id] assert mi.consecutive_failures == 0 - assert mi.last_failure_error is None + assert mi.last_failure_error == "old error" assert mi.placement_error is None diff --git a/src/exo/shared/apply.py b/src/exo/shared/apply.py index 654d12c8..62bb719e 100644 --- a/src/exo/shared/apply.py +++ b/src/exo/shared/apply.py @@ -210,7 +210,6 @@ def apply_instance_created(event: InstanceCreated, state: State) -> State: instance.meta_instance_id, placement_error=None, consecutive_failures=0, - last_failure_error=None, ) return state.model_copy(update=update)