Moi j’ai beaucoup beaucoup de blocks rejetés tous issus du même noeud apparemment :
2024-07-22 13:45:57 💔 Verification failed for block 0x782eb0e4b455359874df7618fbb45d7cb660daadffd04c97176bd5adfe69a0ce received from (12D3KooWAikpy6szmM7QW5QYEFqjiiWYJ3AXLU448htzFLqam2Qr): "Header 0x782eb0e4b455359874df7618fbb45d7cb660daadffd04c97176bd5adfe69a0ce rejected: too far in the future"
2024-07-22 13:47:57 💔 Verification failed for block 0x821a6aaca9837875e8a8ef3e3cd220cee8f4729da280a90f15681be07ac7146f received from (12D3KooWAikpy6szmM7QW5QYEFqjiiWYJ3AXLU448htzFLqam2Qr): "Header 0x821a6aaca9837875e8a8ef3e3cd220cee8f4729da280a90f15681be07ac7146f rejected: too far in the future"
2024-07-22 13:48:10 💔 Verification failed for block 0xf4308ab03df4aa36611889dcf23a351566ebab32f5e6c6a4d309e61024843561 received from (12D3KooWAikpy6szmM7QW5QYEFqjiiWYJ3AXLU448htzFLqam2Qr): "Header 0xf4308ab03df4aa36611889dcf23a351566ebab32f5e6c6a4d309e61024843561 rejected: too far in the future"
2024-07-22 13:49:15 💔 Verification failed for block 0xd4808f2d1e9dcf1276bcfa365cd76f84f84774f22935b5989f89bbe878b05325 received from (12D3KooWAikpy6szmM7QW5QYEFqjiiWYJ3AXLU448htzFLqam2Qr): "Header 0xd4808f2d1e9dcf1276bcfa365cd76f84f84774f22935b5989f89bbe878b05325 rejected: too far in the future"
Le coupable serait donc un noeud identifié par 12D3KooWAikpy6szmM7QW5QYEFqjiiWYJ3AXLU448htzFLqam2Qr ?
EDIT : j’ai ces traces dans mes logs depuis le 21 mai 2024.
Ça fait une piste à explorer, peut-être liée à un problème d’horloge, mais ça ne devrait quand même pas arriver et ça ne devrait pas bloquer la finalisation. Je regarde plutôt du côté des autres logs dont le fail du prevote et la chaîne principale disparue. Je sèche un peu, là. Une journée passée dessus et pas beaucoup de résultat.
Tous les containers sont sur le fuseau UTC. Les hôtes varient en fonction de leur configuration. Donc pas de soucis de date entre les containers je pense.
Je vois bien la même chose. Je pense que le bug a empêché tous les nœuds forgeron d’envoyer leur prévote grandpa, bloquant la finalisation. Il me reste à remonter à l’origine de ce bug.
Le souci que j’ai indiqué coté squid (syncro de l’indexer très très lente) n’a l’air d’être lente qu’a partir du dernier bloc finalisé, donc avec une peu de chance il se résolvera tout seul en résolvant ce problème de finalisation.
Est-ce que la finalisation est possible s’il y a des nœuds qui n’ont plus les blocs à finaliser ? Peut-être qu’il faudrait déconnecter tous les nœuds non-archive pour permettre aux archives d’avoir un consensus ? Je n’ai aucune idée de comment fonctionne la finalisation.
J’ai moi aussi ce message qui arrive toutes les quelques minutes. Ça correspond à un pair dont le certificat est invalide ? Y a-t-il moyen de l’identifier ?
C’est parce que squid utilise des layers postgres pour les blocs non finalisés qui sont susceptibles d’être annulés. Ça permet de gérer les rollback très facilement.
Non, je pense que c’est d’ailleurs ça le problème : le bloc pour lequel ont voté les forgerons a été mis à la poubelle trop tôt, ce qui les a empêché de voter. Mais une investigation plus poussée est nécessaire…
Les nœuds archive ne participent pas au consensus. Les forgerons ne sont généralement pas configurés comme archive, ça ne leur sert pas. Je ne pense pas qu’en resynchronisant un forgeron en mode archive puisse lui permettre de voter rétrospectivement pour le bloc qu’il n’avait pas à l’époque. Il faudrait trouver un moyen de forcer le vote sur des blocs récents, mais ça n’a pas l’air facile à faire.
Le pairs n’ont pas de certificat, c’est lié à rustls, donc plus probablement à la télémétrie. Je pense que c’est décorrélé.
Je ne pense pas que ça puisse résoudre quoi que ce soit, il n’y aura pas de nouvelle session de vote grandpa, et les blocs oubliés ne seront pas récupérés. Je suis en vacances donc je vais pas pouvoir chercher davantage. J’aimerais que elois puisse nous aider sur ce genre de cas, et sinon on rebootera, mais ce serait dommage parce qu’on louperait une occasion de comprendre ce qui peut mal se passer.