Skip to content

Fix FilesystemManager caching - #9120

Merged
nolanpro merged 1 commit into
developfrom
fix-filesystem-caching
Nov 2, 2026
Merged

nolanpro merged 1 commit into
developfrom
fix-filesystem-caching

Conversation

@nolanpro

@nolanpro nolanpro commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

Attempt to fix filesystem caching issue caught by nightly testbench

ci:deploy
ci:run-testbench

ci:skip-build

@cursor

cursor Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

PR Summary

Medium Risk
Changes tenant-switch behavior for all filesystem I/O; incorrect flushing could break Storage or worsen isolation, though scope is narrow and covered by a new test.

Overview
Fixes tenant storage bleed in long-lived workers (Horizon/Octane): after disk root/url config is rewritten, Laravel’s FilesystemManager could still serve the previous disk adapter, so Storage kept using landlord storage/app instead of storage/tenant_{id}.

Adds flushFilesystemDisks(), which calls Storage::forgetDisk() for configured disks and drops the filesystem container binding, and invokes it from makeCurrent() (after tenant paths) and forgetCurrent() (after restoring landlord disk config and lang paths). forgetCurrent() also restores landlord filesystem disk roots/URLs before flushing, so switching back off a tenant picks up the correct paths.

A new unit test warms the landlord local disk, switches tenants, asserts paths point at tenant storage, then asserts forgetCurrent() restores the original landlord path.

Reviewed by Cursor Bugbot for commit 5b210e3. Bugbot is set up for automated code reviews on this repo. Configure here.

@nolanpro

nolanpro commented Nov 2, 2026

Copy link
Copy Markdown
Contributor Author

QA server K8S was successfully deployed https://tenant-1.ci-a891df23ff.engk8s.processmaker.net

@nolanpro
nolanpro force-pushed the fix-filesystem-caching branch from 6ff4554 to 5b210e3 Compare November 2, 2026 19:11
@nolanpro

nolanpro commented Nov 2, 2026

Copy link
Copy Markdown
Contributor Author

QA server K8S was successfully deployed https://tenant-1.ci-a891df23ff.engk8s.processmaker.net

@nolanpro
nolanpro merged commit 4fd8c79 into develop Nov 2, 2026
38 of 44 checks passed
@nolanpro
nolanpro deleted the fix-filesystem-caching branch November 2, 2026 23:07
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