matrix-org / matrix-org/complement
container logs not flushed if there is a timeout spinning up a container
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Go
- Sterne
- 99
- Forks
- 72
- Ø Merge
- 4 T. 1 Std.
- Gemergte PRs (30 T.)
- 8
Beschreibung
#392 added a ContainerStop to Deployer.Destroy, so that the container has a chance to gracefully shut down and flush its logs before we print them.
However, we print the logs in a couple of other situations:
- in
Deployer.Deploy, if there is a timeout waiting for the container to be ready. (In this case it looks like we don't destroy the container at all?) - in
Builder.ConstructBlueprint(viaBuilder.construct).
In both these cases, the logs are printed before the container is stopped.
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne damit, Deployer.Deploy und Builder.ConstructBlueprint über Builder.construct zu lesen, und vergleiche anschließend ihre Protokollbehandlung mit Deployer.Destroy und dessen ContainerStop-Verhalten. Reproduziere die Timeout- und Konstruktionspfade, um zu überprüfen, wann die Logs ausgegeben werden. Als erledigt gilt die Änderung, wenn der Container in beiden Fällen vor der Ausgabe der Logs gestoppt wird und der Timeout-Pfad außerdem den Lebenszyklus des Containers korrekt behandelt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- go
- Bereich
- testing
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100