Cryptonews

Neo SPCC livre neofs-node v0.52.0 avec des politiques de placement et une révision de la maintenance

Source
cryptonewstrend.com
Publié
Neo SPCC livre neofs-node v0.52.0 avec des politiques de placement et une révision de la maintenance

Neo SPCC a publié neofs-node v0.52.0 parallèlement à des mises à jour coordonnées du SDK NeoFS Go et de deux intégrations GitHub Actions, introduisant la prise en charge de la politique de placement initiale, des outils de maintenance étendus et des changements de configuration interrompus dans la pile. Les versions reflètent une évolution vers un contrôle granulaire du placement des objets et une compatibilité API 2.22 dans l'infrastructure NeoFS.

NeoFS est le réseau de stockage d'objets distribué et décentralisé de Neo. La version v0.52.0, nommée « Woodo », fait suite à la v0.51.1, qui a introduit de nouveaux outils CLI et correctifs de stockage plus tôt cette année.

Ce que cela permet

Les politiques de placement initiales permettent aux opérateurs de conteneurs de contrôler l'emplacement initial de stockage des objets sur le réseau, en remplaçant le paramètre copies_number, désormais obsolète, par un paramètre max_replicas lié à la politique de placement du conteneur. L'outil de maintenance renommé, neofs-lancet (anciennement neofs-lens), peut désormais modifier l'état du stockage en plus de l'inspecter, permettant aux opérateurs de resynchroniser les métabases, de vider les caches d'écriture et de supprimer directement les objets. Les opérateurs de nœuds de stockage peuvent également recharger la configuration gRPC via le signal SIGHUP sans redémarrer les nœuds.

Modifications du nœud principal

L'ajout principal de la v0.52.0 concerne la prise en charge initiale de la politique de placement pour les conteneurs. Le paramètre copies_number dans les requêtes d'objet PUT n'a plus d'effet ; les opérateurs doivent plutôt utiliser le paramètre max_replicas dans la stratégie de placement initiale du conteneur.

La version renomme neofs-lens en neofs-lancet pour refléter la portée élargie de l'outil. Les nouvelles commandes incluent la méta-resynchronisation, les caches de vidage-écriture du stockage, la suppression des méta-suppressions et la suppression de fstree, donnant aux opérateurs un contrôle direct sur les métadonnées et l'état du stockage.

Les améliorations de performances incluent l'optimisation du régulateur (le régulateur démarre désormais à partir d'un décalage aléatoire et itère les listes d'objets au niveau du moteur), une nouvelle option de configuration policer.boost_multiplier et une exécution optimisée des requêtes HEAD/GET locales. De nouvelles métriques de compteur d’objets pour les objets racine, horodatage, verrouillage, lien et garbage collection remplacent le compteur logique précédent.

Changements interrompus et migration

Les développeurs effectuant une mise à niveau vers la version 0.52.0 doivent être conscients de plusieurs changements importants :

Les nœuds de stockage suppriment désormais définitivement les objets appartenant aux conteneurs impayés. Selon les notes de version, « Les données seront définitivement supprimées des fragments, la récupération n'est pas possible. »

L'option de configuration node.persistent_sessions.path (obsolète depuis la version 0.50.0), storage.shards.resync_metabase et réplicator.pool_size ont toutes été supprimées.

Les nœuds de stockage ne migrent plus automatiquement les métabases de la version 5 à la version 6 ou de la version 6 à la version 7. Les opérateurs sur les anciennes versions doivent migrer à l'aide de SN v0.51.1 ou se resynchroniser avec la v0.52.0.

Les nœuds de stockage renvoient des réponses non signées aux requêtes avec l'API v2.22 ou ultérieure.

L'indicateur CLI --await est obsolète pour les commandes de conteneur.

La version nécessite Go 1.25 ou supérieur et met à jour les dépendances, notamment neofs-sdk-go vers la v1.0.0-rc.18 et neo-go vers la v0.118.0.

Mises à jour du SDK et des actions GitHub

Neo SPCC a également livré neofs-sdk-go v1.0.0-rc.18, le SDK Go pour NeoFS, désormais compatible avec l'API 2.22.

Le SDK ajoute une API AuthUser() pour les jetons de session et la prise en charge de la politique de placement initial reflétant le nœud principal. Le package waiter est obsolète (n'est plus nécessaire avec l'API 2.21 ou version ultérieure) et PrmObjectPutInit.SetCopiesNumber est obsolète pour correspondre à la transition de l'API 2.22 loin de copies_number. La version corrige également plusieurs problèmes de jetons de session v2 et applique les limites de taille de signature de l'API 2.22.

Du côté CI/CD, gh-push-to-neofs v0.4.0 introduit des modifications de configuration majeures dans l'action GitHub utilisée pour publier des fichiers sur NeoFS. NEOFS_NETWORK_DOMAIN est remplacé par NEOFS_ENDPOINT, qui accepte une adresse complète avec schéma et port. NEOFS_HTTP_GATE est remplacé par HTTP_URL_PREFIX pour la passerelle personnalisée et la prise en charge du CDN. L'option STRIP_PREFIX est désormais toujours activée.

La mise à jour gh-push-allure-report-to-neofs v0.2.0 ajoute la prise en charge de l'historique des rapports de test Allure et met à jour sa dépendance vers gh-push-to-neofs v0.4.0. Les utilisateurs de l'action Allure doivent suivre le guide de migration gh-push-to-neofs pour mettre à jour leurs variables de configuration.

Corrections de bugs

La version de nœud v0.52.0 résout un blocage du GC lors de l'arrêt du stockage local, des problèmes de vérification de signature avec les objets stockés, des échecs de nouvelle tentative de transaction GAS et des améliorations du codage d'effacement pour l'évacuation des fragments.

La version du SDK corrige les erreurs de gestion des verbes de conteneur et d'identifiant d'objet pour les objets hérités dans le jeton de session v2.

Les notes de version complètes sont disponibles sur le lien ci-dessous : https://github.com/nspcc-dev/neofs-node/releases/tag/v0.52.0 https://github.com/nspcc-dev/neofs-sdk-go/releases/tag/v1.0.0-rc.18 https://github.com/nspcc-dev/gh-push-to-neofs/releases/tag/v0.4.0 https://github.com/nspcc-dev/gh-push-allure-report-to-neofs/releases/tag/v0.2.0