apache / apache/druid

Clarifying VersionedIntervalTimeline.findFullyOvershadowed()

Offen
#8,167 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Improvement Question
Vorherrschende Sprache
Java
Sterne
14.1k
Forks
3.8k
Ø Merge
2 T. 58 Min.
Gemergte PRs (30 T.)
233

Beschreibung

In #7547, @jihoonson added clarifying comments for `completePartitionsTimeline` and `incompletePartitionsTimeline` fields in `VersionedIntervalTimeline`. One of the comments say that "IncompletePartitionsTimeline also includes completePartitionsTimeline".

It explains to me why the second part of the `findFullyOvershadowed()` algorithm iterates only over `incompletePartitionsTimeline`:

https://github.com/apache/incubator-druid/blob/7b9bd5359db80bdd9bb3f547161f94b369469b76/core/src/main/java/org/apache/druid/timeline/VersionedIntervalTimeline.java#L392-L404

But it doesn't explain why then the first part does exactly the same loop over both `completePartitionsTimeline` and `incompletePartitionsTimeline`:

https://github.com/apache/incubator-druid/blob/7b9bd5359db80bdd9bb3f547161f94b369469b76/core/src/main/java/org/apache/druid/timeline/VersionedIntervalTimeline.java#L364-L382

Related to #7433 and #8070.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne in core/src/main/java/org/apache/druid/timeline/VersionedIntervalTimeline.java und lies findFullyOvershadowed(), insbesondere die Schleifen um die Zeilen 364-404 sowie die Kommentare zu completePartitionsTimeline und incompletePartitionsTimeline. Kläre, warum die erste Schleife über beide Timelines iteriert, während die zweite nur über incompletePartitionsTimeline iteriert; die Kommentare sollten diesen Unterschied verständlich machen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
databases
Issue-Typ
Dokumentation
Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

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