graphprotocol / graphprotocol/graph-node

[Bug] Sorting subgraphs by nested FDS field throws error

Offen
#5,168 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

bug offchain Stale
Vorherrschende Sprache
Rust
Sterne
3.2k
Forks
1.1k
Ø Merge
4 T. 1 Std.
Gemergte PRs (30 T.)
1

Beschreibung

Bug report

Querying the graph-network arbitrum subgraph and sorting by metadata__displayName; throws an error (see log output).
There was a recent change to the network subgraph to support File Data Services; this change moved the displayName field from the top-level Subgraph entity to be in a nested SubgraphMetadata entity that is controlled by FDS.
Sorting by any field in the metadata entity throws this error.

Relevant log output
Results in this error message from graph-node


message: `Failed to get entities from store: column cc.block_range does not exist, query = /* controller='filter',application='sgd675036',route='d8217ff92881cd2a-9ef95e8b5fa290fd',action='174820478' */\nselect 'Subgraph' as entity, to_jsonb(c.*) as data from (select c.*\n from "sgd675036"."subgraph" c left join "sgd675036"."subgraph_metadata" as cc on (cc."id" = c."metadata" and cc."block_range" @> $1) \n where c.block_range @> $2 and (c."active" = $3 and c."entity_version" = $4 and exists (select 1 from "sgd675036"."subgraph_metadata" as i where i."id" = c."metadata" and i.block$ <= $5 and (left("display_name", 256) != left($6, 256))))\n\n order by cc."display_name" asc, c."id" asc\n limit 20) c -- binds: [174820478, 174820478, true, 2, 174820478, ""]
IPFS hash

No response

Subgraph name or link to explorer

https://api.thegraph.com/subgraphs/name/graphprotocol/graph-network-arbitrum

Some information to help us out
  • Tick this box if this bug is caused by a regression found in the latest release.
  • Tick this box if this bug is specific to the hosted service.
  • I have searched the issue tracker to make sure this issue is not a duplicate.
OS information

None

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, die verknüpfte GraphQL-Abfrage gegen den graph-network-arbitrum-subgraph zu reproduzieren, und untersuche die im Log angezeigte graph-node-Store-Abfrage, insbesondere den Join mit subgraph_metadata und dessen block_range-Bedingung. Verfolge, wie das Sortieren nach verschachtelten Metadatenfeldern generiert wird; abgeschlossen ist die Aufgabe, wenn das Sortieren nach verschachtelten Feldern nicht mehr den Fehler wegen einer fehlenden Spalte erzeugt und die gemeldete Abfrage Ergebnisse zurückgibt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
graphql, rust
Bereich
backend, databases
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

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