Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

FlushAndTeardown is insufficient to save data to disk

Geschlossen
#1,189 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 2 Tagen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
48/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Veraltet
Tech-Stack
cpp, csharp
Bereich
data

Rechercherichtung

Beginnen Sie bei den C#-Wrapper-Einstiegspunkten LogManager.FlushAndTeardown und Flush und verwenden Sie die Reproduktion mit OfflineStorage und MaxTeardownUploadTimeInSec auf 0 gesetzt. Verfolgen Sie, wie während des Teardowns in die Warteschlange eingereihte Ereignisse persistiert werden, und überprüfen Sie anschließend, dass alle 1000 Ereignisse gespeichert werden, ohne einen separaten Flush-Aufruf zu erfordern.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

bug

Describe your environment.
Version 3.7.62.1 c# wrapper, highly likely to repro from c++

Steps to reproduce.

            var logger = LogManager.Initialize("your token");
            var config = new LogConfiguration()
            {
                OfflineStorage = "C:\\path\\",
                MaxTeardownUploadTimeInSec = 0,
            };
            LogManager.PauseTransmission();
            for (var i = 0; i < 1000; i++)
            {
                var ev = new EventProperties("test");
                logger.LogEvent(ev);
            }
            LogManager.FlushAndTeardown();

What is the expected behavior?
All 1000 events are persisted to disk

What is the actual behavior?
<1000 seen

Additional context.
Adding a Flush before FlushAndTeardown resolves the problem but is clearly a hack.
Discussed here: https://github.com/microsoft/cpp_client_telemetry/pull/1186

@lalitb @mkoscumb

Vorherrschende Sprache
C
Sterne
104
Forks
67
Ø Merge
2 T. 15 Std.
Gemergte PRs (30 T.)
10

Entwicklungsumgebung

Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus microsoft/cpp_client_telemetry

Alle Issues in microsoft/cpp_client_telemetry

Ähnliche Issues

Weitere Issues zu C

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.