HCL Commerce Version 9.1.9.0

Resolución de problemas: Proveedor de seguridad JCEPlus

El proveedor de seguridad JCEPlus se configura como el proveedor de seguridad predeterminado a partir de Java 8 SR7, que se utiliza en HCL Commerce desde la versión 9.1.9.0. Se ha observado que el proveedor JCEPlus tiene una fuga de memoria nativa en algunos escenarios.

Problema

Se ha observado que el proveedor de seguridad JCEPlus que se incluye con la versión de IBM Java SDK y se empaqueta con HCL Commerce tiene una fuga de memoria nativa en algunos escenarios.

Debido a esta fuga de memoria, se pueden observar reinicios del pod cuando la memoria utilizada por el pod supera el límite. En este caso, Kubernetes podría OOMKill el pod.

Para diagnosticar este problema, obtenga los Javacores y revise el tamaño de la memoria JNI.

Por ejemplo:
3MEMUSER | +--JNI: 605,601,960 bytes / 22071 allocations

Solución

La solución a este problema depende de la versión HCL Commerce en cuestión:
  • HCL Commerce Version 9.1.9.0Para evitar este problema, elija una de las soluciones siguientes:
    • Actualice a una versión posterior de HCL Commerce que solucione este problema de forma predeterminada.
    • Vuelva a ordenar manualmente el proveedor de seguridad para priorizar el uso de JCE sobre JCEPlus en java.security. Consulte los recursos de IBM enlazados para obtener más información.
  • HCL Commerce Version 9.1.10.0El proveedor de seguridad predeterminado en HCL Commerce 9.1.10.0 se ha revertido a JCE en java.security para evitar esta posible fuga de memoria.
  • HCL Commerce Version 9.1.11.0 or laterLa fuga de memoria se ha resuelto en Java 8 SR FP 10.

    HCL Commerce 9.1.11.0 utiliza esta versión de IBM Java SDK. Por lo tanto, JCEPlus se restaura como el proveedor de seguridad predeterminado.

Resultado

En la mayoría de los casos, no es necesaria ninguna acción para resolver la desgredación del rendimiento debido a esta posible fuga de memoria.