Perdita di memoria nella ricerca Asset Share Commons | AEM

Problema

Durante il test di stress di ricerca risorse di asset share commons [1], si è verificata una perdita di memoria o un problema di oggetti non risolti.

Passaggi da riprodurre:

  1. Installare AEM 6.3, SP1 e CFP2

  2. Installare asset-share-commons.ui.apps-1.1.2.zip (succede anche su 1.4.0)

  3. Installare asset-share-commons.ui.content-1.1.2.zip (succede anche su 1.4.0)

  4. Creare una pagina "search template" su "Asset Share Commons" sui siti

  5. Esegui "Cerca" con qualsiasi parola, spazio incluso, centinaia di volte.

  6. O eseguire questo 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"

    Anche dopo Full Java GC, alcuni oggetti non possono essere rilasciati.

    # 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

    Secondo un'analisi dump di heap, potrebbe essere org.apache.sling.models.impl.ModelAdapterFactory loaded by org.apache.felix.framework.BundleWiringImpl$BundleClassLoaderJava5 [2].

    1. https://github.com/Adobe-Marketing-Cloud/asset-share-commons
    2. Un'istanza di "org.apache.sling.models.impl.ModelAdapterFactory" loaded by "org.apache.felix.framework.BundleWiringImpl$BundleClassLoaderJava5 @ 0x9749d5d0" occupies 1,528,764,960 (78.49%) bytes. La memoria viene accumulata in un'istanza di "org.apache.sling.models.impl.ModelAdapterFactory" loaded by "org.apache.felix.framework.BundleWiringImpl$BundleClassLoaderJava5 @ 0x9749d5d0".

      Parole chiave
      org.apache.sling.models.impl.ModelAdapterFactory
      org.apache.felix.framework.BundleWiringImpl$BundleClassLoaderJava5 @ 0x9749d5d0

Ambiente

AEM 6.3 SP1-CFP2 con Asset Share Commons 1.1.2 e versioni precedenti.

Causa

Si è verificato un problema in Asset Share Commons. La ricerca QueryBuilder determina la mancata chiusura di ResourceResolver.

Risoluzione

Aggiornare Asset Share Commons alla versione 1.1.4 o successiva

Logo Adobe

Accedi al tuo account