Synchronisation difficile / récupérer les chunks

Tu peux rappeler comment on fait une sync locale ?
Je pensais faire ainsi auparavant mais ça ne semble plus fonctionner:

./target/release/duniter sync ../chunks/

Status: CANNOT_CONNECT_TO_REMOTE_FOR_SYNC

2 Likes

J’ai déplacé datajune. Les données sont maintenant séparées du site et sont sur https://files.datajune.coinduf.eu/chunks/

@poka tu utilises quelle version de Duniter ? Moi ça marche avec la 1.7. Mais tu utilises sûrement une pré-version de la 1.9. À voir…

Et oui je suis en 1.9-dev, c’est peut être ça je ne sais pas.

Le --help ne t’aide pas ?

Non.
J’ai pu sync à distance finalement donc pour moi c’est bon.
Je ne suis pas sûr que ce soit très utile de débuguer 1.9 de toute manière, je pense être le seul à m’en servir, à jamais … ^^

Petit update : j’ai maintenant automatisé Datajune qui met à jour les données quotidiennement

image

(il en va de même pour toutes les données qui en découlent, par exemple les plots du nombre membre https://files.datajune.coinduf.eu/plots/members.png)

1 Like

Ca m’étonne que personne ne s’en soit rendu compte depuis le temps, mais il y a une erreur ligne 15 du script, ce n’est pas un modulo mais bien une division qu’il faut faire.

END=$(expr $CURRENT % 250)

par

END=$(expr $CURRENT / 250 - 1)

Je sais d’où vient l’erreur, en Julia c’est ainsi:

x ÷ y integer divide x / y, truncated to an integer

Mais pas en bash (ni en python).

Je comprenais pas pourquoi il s’arrêtait à la tranche 225.
Un détail qui fait toute la différence ^^

Autre méthode moins élégante qui fonctionne tout aussi bien (plus besoin de la variable $CURRENT):

END=$(curl -sSJ https://files.datajune.coinduf.eu/chunks/ | grep ".json" | awk -F 'chunk_' '{ print $2 }' | awk -F- '{ print $1 }' | sort -V | tail -n1)

Sinon j’ai trouvé mon problème cité quelques messages plus haut, il faut tout simplement spécifier le chemin absolu du répertoire chunks, et non relatif…

1 Like

Salut !
Du coup, une fois que l’on a récupéré les chunks, c’est quoi la commande pour faire une synchronisation locale SVP ? :slight_smile:
Merci pour vos retours.

1 Like

Je sais plus, je crois qu’il faut donner le chemin absolu vers les données commençant par un /

Sur Dunitrust il y avait une option --localsync mais je pense qu’elle n’est pas sur Duniter.

2 Likes

en fait de mémoire j’avais résolu ce problème simplement en faisant mv ../chunks/ . puis ./target/release/duniter sync chunks/

quelque chose comme ça, une histoire de path, pas besoin d’options particulières pour la sync locale.

mais je pense qu’il vaut mieux concentrer nos énergies sur duniter 1.9 en mode docker: Dockerisation duniter 1.9 - #39 by aya

Il est possible que des choses fonctionnent mieux qu’en 1.8 car l’oxydation à progressé en 1.9, ce n’est pas juste GVA.

Et puis Docker, c’est la vie.

2 Likes

Oui, c’est bien ça.

1 Like

Ok ok, merci à tous les trois pour vos retours, on va voir comment on va faire, c’est pour installer Duniter sur un petit server qu’on loue mais qui n’est pas très véloce, la sync ne va jamais au bout pour l’instant… je vais voir si @ji_emme se sent d’installer la version Docker.

1 Like

Il est aussi possible de copier directement le dossier duniter_default d’un autre nœud déjà synchro.

2 Likes

ah bah oui encore mieux ça pour dépanner

1 Like

Merci ! C’est une bonne idée également :slight_smile:

Bonjour à tous,

est-ce qu’il n’y aurait pas un souci avec les URL du script (voir premier post)?
Le script fonctionnait pourtant bien chez moi, mais plus maintenant…

Oui, il y a un soucis que le nœud Duniter n’existe plus, donc il faut en prendre un autre. Par contre tout ce qui concerne DataJune devrait être encore en place.

bonjour,
j’ai également des problèmes de synchro sur mon noeud. Est-ce que c’est un “sécurité” que mon noeud doive se synchroniser du début jusqu’à la fin et que si ça ne fonctionne pas, on doive recommencer depuis le début ? Parce que là ça fait plusieurs fois que j’arrive au 3/4 ou 9/10 et ça bloque ensuite, c’est pénible. Il n’y a pas moyen de prendre pour acquis l’historique déjà téléchargé et de continuer ensuite là où ça en était ?
Par exemple là ça reste bloqué sur “2023 01 17”. Je trouve ça illogique de devoir recommencer depuis le début à chaque fois. Qu’en sera-t-il dans 5 ans ? Dans 10 ou 15 ans ? Le problème sera démultiplié…

Ça n’a pas de rapport avec la sécurité. C’est un design, un choix d’implémentation. Substrate implémente différemment la synchronisation.

La v1.8.7 résouts un des problèmes majeurs de Duniter v1 : la lenteur de BMA.
L’autre problème majeur est la synchronisation qui ne passe plus sur les petites/~moyennes configurations d’ordinateurs. Malheureusement, personne ne bosse actuellement sur ce sujet.
D’ici la migration à Duniter v2, qui n’aura pas lieu d’ici quelques années, il faudrait que quelqu’un s’attèle à ce sujet, sinon ça devient de plus en plus dur d’avoir des nœuds qui maintiennent le réseau en fonctionnement. On pourrait mettre en place un bounty pour ça pour qu’une personne s’en occupe.

4 Likes

et

ne suffit pas pour relancer un noeud

je note au passage que tout ce qui lié aux architectures 64bits prend des section de quatre gigas de ram de manière péremptoire