Skip to content

feat: create fallback directory on sticky disk mount failure#59

Open
devin-ai-integration[bot] wants to merge 3 commits into
mainfrom
devin/1781136164-fallible-sticky-disk-mount
Open

feat: create fallback directory on sticky disk mount failure#59
devin-ai-integration[bot] wants to merge 3 commits into
mainfrom
devin/1781136164-fallible-sticky-disk-mount

Conversation

@devin-ai-integration

@devin-ai-integration devin-ai-integration Bot commented Jun 11, 2026

Copy link
Copy Markdown

Summary

When the sticky disk mount fails (timeout, ConnectError: [canceled], etc.), the target directory is never created because mountStickyDisk bails before the mkdir -p / mount steps. This causes downstream workflow steps to crash on a missing path — the job fails entirely instead of gracefully degrading to a cold cache.

This adds a fallback after mount failure:

if (stickyDiskError) {
  core.warning(`Error getting sticky disk: ${stickyDiskError}`);
  // Create empty dir so subsequent steps don't fail
  await execAsync(`sudo mkdir -p ${shellQuote(stickyDiskPath)}`);
  await execAsync(`sudo chown $(id -u):$(id -g) ${shellQuote(stickyDiskPath)}`);
}

Jobs now continue with an empty directory (cold cache) instead of failing. Triggered by Pylon #8047 — twin-so hitting ~31% failure rate due to us-west Ceph cluster degradation.

Link to Devin session: https://app.devin.ai/sessions/8950e9fa29ce4e1098552fa904fd6109


View with Codesmith Autofix with Codesmith
Need help on this PR? Tag /codesmith with what you need. Autofix is disabled. (Staging)

When the sticky disk mount fails (e.g., due to timeout or context
canceled), create an empty directory at the specified path so that
subsequent workflow steps don't crash on a missing path. The job
continues with a cold cache instead of failing entirely.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@devin-ai-integration

Copy link
Copy Markdown
Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment, CI, and merge conflict monitoring

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit f16e674. Configure here.

Comment thread src/main.ts
Trent-TSE and others added 2 commits June 11, 2026 00:04
Mirrors the successful mount path behavior for nested cache mounts
(e.g. .nx/cache) where the parent directory also needs writable
permissions.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
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