Requêtes longues

Certaines requêtes semblent ne jamais aboutir, comme celle ci:

query {
  event(limit: 10, orderBy: {block: {height: DESC}}) {
    args
    argsStr
    block {
      height
    }
  }
}

C’est juste le orderBy block qui fou la merde, on le retire et la réponse est direct.
Probablement un soucis de clé d’indexation quelque part ?

Bizarre, il y a bien un @index sur le height : schema.graphql · main · nodes / duniter-squid · GitLab. Et je l’utilise souvent sans problème :thinking:

Mais là j’ai le même problème, et mon indexeur est HS (toujours #16):


J’ai dit n’importe quoi, je n’avais pas vu que la requête portait sur les événements, pas les blocs. Effectivement, si on voulait pouvoir récupérer tous les événements par numéro de bloc, il faudrait ajouter directement le numéro de bloc dans cette entité. Je pense d’ailleurs qu’on devrait le faire sur absolument tout.

Et là je me rends compte qu’il faudrait optimiser un peu :

{
  "data": {
    "eventAggregate": {
      "aggregate": {
        "count": 3340870
      }
    }
  }
}

Il faudrait retirer les System.ExtrinsicSuccess parce que ce n’est pas intéressant :

query {
  eventAggregate(where: { name: { _neq: "ExtrinsicSuccess" } }) {
    aggregate {
      count
    }
    nodes {
      pallet
      name
    }
  }
}
{
  "data": {
    "eventAggregate": {
      "aggregate": {
        "count": 291019
      },

Avec ça on devrait déjà gagner un facteur 10 dans le nombre d’événements.

#36

2 Likes