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.3.4.0 du moteur Amazon Neptune (2024-10-01)
Depuis le 2024-10-01, la version 1.3.4.0 du moteur est généralement déployée. Notez que plusieurs jours sont nécessaires pour qu'une nouvelle version soit disponible dans chaque région.
Note
La version 1.3.0.0 du moteur implique un nouveau format pour les groupes de paramètres personnalisés et les groupes de paramètres de cluster personnalisés. Par conséquent, si vous effectuez une mise à niveau d’une version de moteur antérieure vers la version 1.3.0.0 ou une version supérieure, vous devrez recréer tous vos groupes de paramètres personnalisés et groupes de paramètres de cluster personnalisés existants à l’aide de la famille de groupes de paramètres neptune1.3
. Les versions antérieures utilisaient une famille de groupes de paramètres neptune1
ou neptune1.2
, lesquels ne sont pas compatibles avec les versions 1.3.0.0 et supérieures. Pour plus d’informations, consultez Groupes de paramètres Amazon Neptune.
Avertissement
Un problème a été détecté concernant les opérations de mise à jour SPARQL 1.1 qui peuvent être présentes dans certaines conditions lorsque des opérateurs de mise à jour sont utilisés avec des politiques d'autorisation basées sur des actions. Si vous utilisez les opérations de mise à jour SPARQL 1.1 avec des politiques d'autorisation basées sur des actions, nous vous recommandons de passer à la dernière version mineure du moteur Neptune (au moins 1.3.4.0) qui inclut un correctif pour ce problème.
Le cache du plan de requêtes a été temporairement désactivé pour les requêtes paramétrées impliquant des valeurs de paramètres numériques en raison d'un problème lié à la gestion des utilisations dupliquées d'un paramètre de type numérique, comme dans la requête suivante :
MATCH (n:movie) WHERE n.runtime>=$minutes RETURN n UNION MATCH (n:show) WHERE n.duration>=$minutes RETURN n parameters={"minutes":130}
Améliorations apportées à cette version du moteur
-
Ajout de la prise en charge de l'exécution des étapes Gremlin limit () dans les traversées imbriquées pour le moteur. DFE
-
Ajout de CloudWatch métriques liées au cache de résultats G705, comme indiqué ci-dessous, qui peuvent être utiles pour diagnostiquer et régler la latence du cache de résultats. Consultez Neptune Metrics pour plus de détails.
NumResultCacheHit NumResultCacheMiss ResultCacheSizeInBytes ResultCacheItemCount ResultCacheOldestItemTimestamp ResultCacheNewestItemTimestamp
Défauts corrigés dans cette version du moteur
Améliorations générales
-
Correction d'un bug où, dans de rares cas, le moteur se bloquait au lieu de renvoyer une erreur de requête.
Correctifs apportés à Gremlin
-
Nous avons amélioré le traitement des demandes et le signalement des erreurs lorsqu'un client ou un proxy envoie une demande de mise à niveau du Websocket via une HTTP connexion établie/utilisée (auparavant, 400 réponses contenant l'erreur « aucun script g705 fourni, code MissingParameterException » étaient renvoyées).
-
Optimisation de la gestion des étapes de MergeV avec des mises à jour de la valeur des propriétés de cardinalité unique. Par exemple, la requête ci-dessous est désormais prise en charge de manière native dans Neptune.
g.mergeV([(T.id): 1234]). option(onMatch, ['age': single(20), 'name': single('alice'), 'city': set('miami')])
-
Correction d'un bogue d'évaluation des requêtes Gremlin DFE qui provoquait l'échec des requêtes
InternalFailureException
lorsque la requête contenait une fonctionToMap
logique permettant de générer une carte lors de l'exécution et que la sortie de la carte était utilisée comme clé d'agrégation (inDFEAggregationNode
). Exemple de requête concerné :g.V("1").as("a").as("b").select("a","b").dedup()
openCypher correctifs
-
Correction d'un bogue en raison duquel l'exécution
collect(distinct())
avec des valeurs nulles présentes provoquait le renvoi d'une erreur. -
Correction d'un bug où l'exécution d'une requête paramétrée contenant un filtre de plage (</<=/>/>= par rapport à la valeur du paramètre) entraînait des résultats dupliqués/manquants.
-
Correction d'un bogue en DFE raison duquel le moteur produisait plus de résultats que ce qui était demandé dans les requêtes limites, ce qui pouvait entraîner des erreurs de mémoire insuffisante.
SPARQLcorrectifs
-
Correction d'un bogue en raison duquel l'exécution d'une requête de SPARQL mise à jour fédérée sur des clusters IAM dotés d'une authentification activée provoquait le renvoi d'une erreur.
-
Autorisations basées sur des actions fixes pour les opérations de mise à jour SPARQL 1.1.
Versions de langage de requête prises en charge dans cette version
Avant de mettre à niveau un cluster de base de données vers la version 1.3.4.0, assurez-vous que votre projet est compatible avec les versions de langage de requête suivantes :
Première version de Gremlin prise en charge :
3.7.1
Dernière version de Gremlin est prise en charge :
3.7.1
openCypher version :
Neptune-9.0.20190305-1.0
SPARQLversion :
1.1
Chemins de mise à niveau vers la version 1.3.4.0 du moteur
Vous pouvez effectuer une mise à niveau vers cette version à partir de la version 1.2.0.0 ou supérieure du moteur.
Mise à niveau vers cette version
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 base de données sur la console ou à l'aide duSDK. La CLI commande suivante permet de mettre 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.3.4.0 \ --allow-major-version-upgrade \ --apply-immediately
Pour Windows :
aws neptune modify-db-cluster ^ --db-cluster-identifier
(your-neptune-cluster)
^ --engine-version 1.3.4.0 ^ --allow-major-version-upgrade ^ --apply-immediately
Au lieu d'--apply-immediately
, vous pouvez spécifier --no-apply-immediately
. Pour effectuer une mise à niveau de version majeure, le allow-major-version-upgrade paramètre est obligatoire. Assurez-vous également d'inclure la version du moteu. Dans le cas contraire, le moteur sera peut-être mis à niveau vers une autre version.
Si votre cluster utilise un groupe de paramètres de cluster personnalisé, veillez à inclure ce paramètre pour le spécifier :
--db-cluster-parameter-group-name
(name of the custom DB cluster parameter group)
De même, si des instances du cluster utilisent un groupe de paramètres de base de données personnalisé, veillez à inclure ce paramètre pour le spécifier :
--db-instance-parameter-group-name
(name of the custom instance parameter group)
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. Si vous avez des questions ou des préoccupations, l'équipe de AWS support est disponible sur les forums communautaires et via le support AWS Premium