NFS: Stale file handle - after log cycling occurs.
Una pull request collegata è già stata integrata.
- #514 di @jaqx0r — integrata
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 25/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- docker, go
- Ambito
- observability
Direzione di ricerca
Inizia da filestream.go:116 e riproduci il comportamento segnalato usando un file di log montato tramite NFS/EFS, quindi ruota app.log come descritto durante il redeployment dell’applicazione. Confronta il comportamento di inseguimento del file e gli errori ripetuti dovuti a handle obsoleti con il lavoro nella pull request collegata #514; il lavoro è completato quando la rotazione non causa più un ciclo di errori persistente né un picco della CPU.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
I'm running mtail as a separate Docker container, mounting an NFS (EFS) volume to which another application writes out it's log files. I noticed however that at some point the mtail containers went to 100% CPU, closer investigation shows that the mtail logs are rapidly filling up with:
I0422 19:46:12.453819 13 filestream.go:116] read /logs/app.log: stale NFS file handle
I0422 19:46:12.453841 13 filestream.go:116] read /logs/app.log: stale NFS file handle
I0422 19:46:12.453872 13 filestream.go:116] read /logs/app.log: stale NFS file handle
...
...
That explains the 100% CPU at least, I guess. However, I found out that I can trigger this behaviour by simply redeploying the application that is writing out the logs (app.log will be renamed to app.log.1 on deployment and a fresh app.log is written out).
I'm understanding that mtail has some heuristics to attempt to follow files after rotation, is there a particular reason why this is failing when the files are served from NFS?
- Lingua principale
- Go
- Stelle
- 4k
- Fork
- 393
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di google/mtail
-
OSS-Fuzz issue 564843385Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 30/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 20/100
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
-
OSS-Fuzz issue 472581388Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 20/100
Tutte le issue di google/mtail
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
status: ready for dev
Difficoltà 1/5 1-3 ore Idoneità per principianti 92/100
hyperledger-labs/fabric-smart-client#2004 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
apache/datasketches-go#189 ·
I maintainer di solito rispondono entro 1 giorno