bitwalker / bitwalker/libgraph
Duplicate vertex ids when adding high number of vertices
- Vorherrschende Sprache
- Elixir
- Sterne
- 571
- Forks
- 76
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
When adding large number of vertices, some of my vertices weren't added to the graph.
For example
```
vertices = 0..250000 |> Enum.map(& &1)
Graph.add_vertices(Graph.new, vertices)
#Graph
```
I fixed it for myself by changing the function `Graph.Utils.vertex_id(v)` to
``` def vertex_id(v), do: v```
instead of
``` def vertex_id(v), do: :erlang.phash2(v, @max_phash)```
Apparently I had duplicate key in my graph otherwise.
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Rechercherichtung
Beginne damit, das Beispiel mit Graph.add_vertices(Graph.new, 0..250000) zu reproduzieren, und untersuche Graph.Utils.vertex_id/1, insbesondere dessen Verwendung von :erlang.phash2. Bestätige, wie sich doppelte Vertex-IDs auf das Einfügen auswirken. Erledigt ist dies, wenn das Hinzufügen des Beispielbereichs alle 250001 Vertices ohne doppelte Schlüssel beibehält.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- elixir
- Bereich
- data
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 48/100