Problema

Durante la prueba de esfuerzo de la búsqueda de activos de Asset Share Commons [1], se produjo una fuga de memoria o un problema de objeto no resuelto.

Procedimiento:

  1. Instalar AEM 6.3, SP1 y CFP2

  2. Instalación de asset-share-commons.ui.apps-1.1.2.zip (ocurre incluso en 1.4.0)

  3. Instalación de asset-share-commons.ui.content-1.1.2.zip (ocurre incluso en 1.4.0)

  4. Creación de una página "plantilla de búsqueda" en Asset Share Commons, en Sitios

  5. Ejecute "Buscar" con cualquier palabra, incluso en blanco, cientos de veces.

  6. O ejecute este comando:

    # ab -n 100 -c 1 -A admin:admin "http://localhost:4502/content/asset-share-commons/en/light/searchtestpage.html?layout=card&p.offset=0&p.limit=24"

    Incluso después de Full Java GC, algunos objetos no se pueden liberar.

    # jcmd 1810 GC.class_histogram | grep AssetResult
    505: 169 6760 com.adobe.aem.commons.assetshare.search.results.impl.result.AssetResultImpl
    # jcmd 1810 GC.class_histogram | grep AssetResult
    189: 1608 64320 com.adobe.aem.commons.assetshare.search.results.impl.result.AssetResultImpl

    Un análisis de volcado en memoria indica que el sospechoso es org.apache.sling.models.impl.ModelAdapterFactory cargado por org.apache.felix.framework.BundleWiringImpl$BundleClassLoaderJava5 [2].

    1. https://github.com/Adobe-Marketing-Cloud/asset-share-commons
    2. Una instancia de "org.apache.sling.models.impl.ModelAdapterFactory" cargada por "org.apache.felix.framework.BundleWiringImpl$BundleClassLoaderJava5 @ 0x9749d5d0" ocupa 1.528.764.960 (78,49%) bytes. La memoria se acumula en una instancia de "org.apache.sling.models.impl.ModelAdapterFactory" cargada por "org.apache.felix.framework.BundleWiringImpl$BundleClassLoaderJava5 @ 0x9749d5d0".

      Palabras clave
      org.apache.sling.models.impl.ModelAdapterFactory
      org.apache.felix.framework.BundleWiringImpl$BundleClassLoaderJava5 @ 0x9749d5d0

Entorno

AEM 6.3 SP1-CFP2 con Asset Share Commons 1.1.2 y versiones anteriores.

Causa

Hubo un problema en Asset Share Commons. La búsqueda de QueryBuilder crea ResourceResolver no cerrado.

Resolución

Actualizar Asset Share Commons a la versión 1.1.4 o posterior.

Esta obra está autorizada con arreglo a la licencia de Reconocimiento-NoComercial-CompartirIgual 3.0 Unported de Creative Commons.  Los términos de Creative Commons no cubren las publicaciones en Twitter™ y Facebook.

Avisos legales   |   Política de privacidad en línea