HCL Commerce Version 9.1.9.0

Dépannage : Fournisseur de sécurité JCEPlus

Le fournisseur de sécurité JCEPlus est configuré comme fournisseur de sécurité par défaut depuis Java 8 SR7, utilisé dans HCL Commerce à partir de la version 9.1.9.0. Il a été constaté que le fournisseur JCEPlus avait une fuite de mémoire native dans certains scénarios.

Problème

Il a été constaté que le fournisseur de sécurité JCEPlus fourni avec la version du kit SDK IBM Java et fourni avec HCL Commerce présentait une fuite de mémoire native dans certains scénarios.

En raison de cette fuite de mémoire, des redémarrages du pod peuvent être observés lorsque la mémoire utilisée par le pod dépasse la limite. Dans ce cas, Kubernetes peut effectuer une opération OOMKill sur le pod.

Pour diagnostiquer ce problème, procurez-vous les répertoires Javacores et vérifiez la taille de la mémoire JNI.

Par exemple :
3MEMUSER | +--JNI: 605,601,960 bytes / 22071 allocations

Solution

La solution à ce problème dépend de l'édition de HCL Commerce en question :
  • HCL Commerce Version 9.1.9.0Pour éviter ce problème, utilisez l'une des solutions suivantes :
    • Procédez à une mise à niveau vers une version ultérieure de HCL Commerce qui résout ce problème par défaut.
    • Réordonnez manuellement le fournisseur de sécurité pour prioriser l'utilisation de JCE sur JCEPlus dans java.security. Pour plus d'informations, voir les ressources IBM associées.
  • HCL Commerce Version 9.1.10.0Le fournisseur de sécurité par défaut dans HCL Commerce 9.1.10.0 a été rétabli sur JCE dans java.security pour éviter cette fuite de mémoire potentielle.
  • HCL Commerce Version 9.1.11.0 or laterLa fuite de mémoire a été résolue dans Java 8 SR FP 10.

    HCL Commerce 9.1.11.0 utilise cette version du kit SDK IBM Java. Par conséquent, JCEPlus est restauré en tant que fournisseur de sécurité par défaut.

Résultat

Dans la plupart des cas, aucune action n'est requise pour résoudre la dégradation des performances en raison de cette fuite de mémoire potentielle.