Version 1.0.4.1 du moteur Amazon Neptune (08/12/2020) - Amazon Neptune

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Version 1.0.4.1 du moteur Amazon Neptune (08/12/2020)

Depuis le 8 décembre 2020, la version 1.0.4.1 du moteur est déployée globalement. Notez que plusieurs jours sont nécessaires pour qu'une nouvelle version soit disponible dans chaque région.

Versions de correctifs ultérieures pour cette version

  • Sortie : 1.0.4.1.R1.1 (22/03/2021)

  • Sortie : 1.0.4.1.R2 (24/02/2021)

    Important

    Sortie : 1.0.4.0 (12/10/2020) a rendu les protocoles TLS 1.2 et HTTPS obligatoires pour toutes les connexions à Amazon Neptune. Cependant, un bogue dans cette version a permis aux connexions HTTP et/ou aux connexions TLS obsolètes de continuer à fonctionner pour les clients qui avaient précédemment défini un paramètre de cluster de bases de données afin d'empêcher l'application de connexions HTTPS.

    Ce bogue a été corrigé dans les versions de correctifs 1.0.4.0.R2 et 1.0.4.1.R2, mais le correctif provoquait des échecs de connexion inattendus lors de l'installation automatique des correctifs. Pour cette raison, les deux correctifs ont été annulés et ne peuvent être installés que manuellement, afin de vous permettre de mettre à jour votre configuration pour TLS 1.2.

    Le fait de devoir utiliser SSL/TLS pour toutes les connexions à Neptune affecte vos connexions avec la console Gremlin, le pilote Gremlin, Gremlin Python, .NET, nodeJs, les API REST, ainsi que les connexions à l'équilibreur de charge. Si vous avez utilisé le protocole HTTP ou une ancienne version de TLS jusqu'à présent, vous devrez mettre à jour le client et les pilotes concernés, et modifier le code pour qu'il utilise exclusivement le protocole HTTPS avant d'installer les derniers correctifs sur le système.

Nouvelles fonctionnalités pour cette version du moteur

Améliorations de cette version du moteur

  • Optimisation de certains modèles d'insertion conditionnelle Gremlin pour éviter les exceptions de modification simultanée.

Défauts corrigés dans cette version du moteur

  • Correction d'un bogue Gremlin qui pouvait entraîner des résultats manquants pour un modèle spécifique de requêtes qui utilisaient l'étape as().

  • Correction d'un bogue Gremlin qui pouvait provoquer des erreurs lors de l'utilisation de l'étape project() imbriquée dans une autre étape, comme union().

  • Correction d'un bogue Gremlin dans l'étape project().

  • Correction d'un bogue Gremlin lié à la traversée basée sur des chaînes, à cause duquel l'étape none() ne fonctionnait pas.

  • Correction d'un bogue Gremlin lié à la traversée basée sur des chaînes, à cause duquel un mappage vide n'était pas pris en charge comme argument de l'étape inject().

  • Correction d'un bogue Gremlin lié à l'exécution de traversées basées sur des chaînes dans le moteur DFE et à cause duquel une méthode de terminal telle que toList() ne fonctionnait pas correctement.

  • Correction d'un bogue Gremlin qui empêchait de clôturer des transactions lors de l'utilisation de l'étape iterate() dans les requêtes sous forme de chaîne.

  • Correction d'un bogue Gremlin qui pouvait provoquer une exception pour les requêtes utilisant le modèle is(P.gte(0)) dans certaines situations.

  • Correction d'un bogue Gremlin qui pouvait provoquer une exception pour les requêtes utilisant le modèle order().by(T.id) dans certaines situations.

  • Correction d'un bogue Gremlin en raison duquel les requêtes utilisant le modèle addV().aggregate() généraient des résultats incorrects dans certaines situations.

  • Correction d'un bogue Gremlin qui pouvait provoquer une exception dans certaines situations pour les requêtes utilisant l'étape path() suivie du modèle d'étape project().

  • Correction d'un bogue SPARQL où la fonction SUBSTR signalait une erreur au lieu de renvoyer une chaîne vide.

  • Correction d'un bogue dans le moteur DFE en raison duquel les opérations de jointure dans les plans de requêtes non bloquants pouvaient générer des résultats incorrects en présence de variables indépendantes.

Versions de langage de requête prises en charge dans cette version

Avant de mettre à niveau un cluster de bases de données vers la version 1.0.4.1, assurez-vous que votre projet est compatible avec les versions de langage de requête suivantes :

  • Version Gremlin : 3.4.8

  • Version SPARQL : 1.1

Chemins de mise à niveau vers la version de moteur 1.0.4.1

Votre cluster sera automatiquement mis à niveau vers cette version de correctif lors de votre prochaine fenêtre de maintenance si vous exécutez la version de moteur 1.0.4.1.

Vous pouvez mettre à niveau manuellement n'importe quelle version antérieure du moteur Neptune vers cette version.

Mise à niveau vers cette version

Amazon Neptune 1.0.4.1 est désormais disponible globalement.

Si un cluster de bases de données exécute une version de moteur à partir de laquelle il existe un chemin de mise à niveau vers cette version, il peut être mis à niveau dès maintenant. Vous pouvez mettre à niveau n'importe quel cluster éligible à l'aide des opérations de cluster de bases de données sur la console ou à l'aide du kit SDK. La commande CLI suivante met immédiatement à niveau un cluster éligible :

Pour Linux, OS X ou Unix :

aws neptune modify-db-cluster \ --db-cluster-identifier (your-neptune-cluster) \ --engine-version 1.0.4.1 \ --apply-immediately

Pour Windows :

aws neptune modify-db-cluster ^ --db-cluster-identifier (your-neptune-cluster) ^ --engine-version 1.0.4.1 ^ --apply-immediately

Les mises à jour sont appliquées simultanément à toutes les instances figurant dans un cluster de bases de données. Une mise à jour nécessite un redémarrage de la base de données sur ces instances. Vous subirez donc un temps d'arrêt allant de 20-30 secondes à plusieurs minutes, après quoi vous pourrez reprendre l'utilisation du cluster de bases de données.

Toujour effectuer des tests avant la mise à niveau

Lorsqu'une nouvelle version majeure ou mineure du moteur Neptune est publiée, testez toujours vos applications Neptune sur cette version avant de procéder à la mise à niveau. Même une mise à niveau mineure peut introduire de nouvelles fonctionnalités ou de nouveaux comportements susceptibles d'affecter le code.

Commencez par comparer les pages de notes de mise à jour de votre version actuelle à celles de la version cible pour déterminer s'il existe des modifications des versions de langage de requête ou d'autres changements majeurs.

Le meilleur moyen de tester une nouvelle version avant de mettre à niveau le cluster de bases de données de production est de cloner ce cluster pour qu'il exécute cette nouvelle version du moteur. Vous pouvez ainsi exécuter des requêtes sur le clone sans affecter le cluster de bases de données de production.

Toujours créer un instantané manuel avant de procéder à la mise à niveau

Avant la mise à niveau, nous vous recommandons vivement de toujours créer un instantané manuel du cluster de bases de données. Un instantané automatique n'offre qu'une protection à court terme, tandis qu'un instantané manuel reste disponible jusqu'à ce que vous le supprimiez explicitement.

Dans certains cas, Neptune crée un instantané manuel pour vous dans le cadre du processus de mise à niveau, mais il est préférable de ne pas compter sur ce mécanisme et de créer dans tous les cas votre propre instantané manuel.

Lorsque vous êtes certain de ne pas avoir besoin de rétablir l'état antérieur à la mise à niveau de votre cluster de bases de données, vous pouvez supprimer explicitement l'instantané manuel que vous avez créé vous-même, ainsi que celui que Neptune a éventuellement créé. Si Neptune crée un instantané manuel, il porte un nom commençant par preupgrade, suivi du nom de votre cluster de bases de données, de la version du moteur source, de la version du moteur cible et de la date.

Note

Si vous essayez de procéder à une mise à niveau alors qu'une action en attente est en cours, une erreur telle que la suivante peut survenir :

We're sorry, your request to modify DB cluster (cluster identifier) has failed. Cannot modify engine version because instance (instance identifier) is running on an old configuration. Apply any pending maintenance actions on the instance before proceeding with the upgrade.

Si vous rencontrez cette erreur, attendez que l'action en attente soit terminée ou déclenchez immédiatement une fenêtre de maintenance pour laisser la mise à niveau précédente se terminer.

Pour plus d'informations sur la mise à niveau de la version du moteur , consultez Maintenance du cluster de bases de données Amazon Neptune. En cas de question ou de doute, l'équipe AWS Support est disponible sur les forums de la communauté et via AWS Premium Support.