orchestrator: NFS-cache "cache path is not set" WARN logged on every build/launch instead of once
Maintainer antworten meist innerhalb von 2 Tagen
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 72/100
Rechercherichtung
Beginne mit den beiden in dem Issue genannten Aufrufstellen: der useNFSCache-Prüfung um packages/orchestrator/pkg/template/build/builder.go:304 und der um packages/orchestrator/pkg/sandbox/template/cache.go:1218. Der vorgeschlagene Helper gehört in packages/shared/pkg/storage neben storage.WrapInNFSCache. Fertig ist, wenn die Warnung pro Prozess genau einmal erscheint, ihr Text besagt, dass das NFS-Caching deaktiviert bleibt, bis das Cache-Verzeichnis gesetzt ist, und ein Unit-Test das Verhalten „nur einmal“ abdeckt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Summary
When an NFS-cache feature flag is enabled but no cache path is configured, the orchestrator logs WARN "NFSCache feature flag is enabled but cache path is not set" on the hot path — once per template build, per sandbox launch, and per snapshot resume — and NFS caching is silently disabled. On a dev-default deployment this floods the logs (hundreds of identical lines observed) while telling the operator nothing new after the first line.
Why it happens by default
Three flags default to env.IsDevelopment() (i.e. on in dev):
use-nfs-for-building-templates(UseNFSCacheForBuildingTemplatesFlag)use-nfs-for-snapshots(SnapshotFeatureFlag)use-nfs-for-templates(TemplateFeatureFlag)
If the shared chunk cache dir is not set (common in a plain dev bring-up), each of the two call sites warns on every operation:
packages/orchestrator/pkg/template/build/builder.go:304(useNFSCache, per build)packages/orchestrator/pkg/sandbox/template/cache.go:1218(useNFSCache, per launch/resume)
Both emit the identical message, and both return "cache disabled". So the warning is pure repetition — the path comes from immutable config and won't change within a process.
Proposal
Emit the warning once per process instead of on every operation, and make the message state the consequence (NFS caching disabled until the cache dir is configured). A shared WarnNFSCachePathUnsetOnce(ctx) in packages/shared/pkg/storage (already imported by both call sites, since both call storage.WrapInNFSCache) guarded by sync.Once keeps it to a single line and removes the duplicated string. Behavior (cache disabled) is unchanged.
Happy to send the PR (small, with a unit test).
- Vorherrschende Sprache
- Go
- Sterne
- 1.8k
- Forks
- 503
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus e2b-dev/runtime
-
client-proxy: WARN "invalid host" spam from unroutable bare-IP Host requests (external probes)Evtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 2 Tagen
-
api: autoPause default is declared in the spec and in a Go constant with no test keeping them in syncEvtl. vergeben @AdaAibaby hat das vor 4 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
Maintainer antworten meist innerhalb von 2 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
Maintainer antworten meist innerhalb von 2 Tagen
-
[Bug]: flock() on a mounted volume hangs forever (mount is missing `nolock`)Evtl. vergeben @AdaAibaby hat das vor 56 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
Maintainer antworten meist innerhalb von 2 Tagen
-
sandbox cache: StartRemoving state transition not broadcast, all allocations see stale Running stateEvtl. wieder frei Ein Pull Request dazu wurde ohne Merge geschlossen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 86/100
Maintainer antworten meist innerhalb von 2 Tagen
Alle Issues in e2b-dev/runtime
Ähnliche Issues
-
date_time, url_encode, html_escape, to_unix_time, contains_all and contains_any panic when called without argumentsEvtl. vergeben @antcybersec hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
projectdiscovery/dsl#372 ·
Maintainer antworten meist innerhalb von 1 Tag
-
blocked-needs-validation
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
projectcapsule/capsule#2265 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
JuliusBrussee/caveman#1449 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 1 Tag
-
bot-found bug priority: P3
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
madenvel/KalinkaPlayer#498 ·