Problem

Während des Stresstests der Asset-Suche von Asset Share Commons [1] trat ein Memory Leak oder ein ungelöstes Objektproblem auf.

Schritte zur Reproduzierung:

  1. Installieren Sie AEM6.3, SP1 und CFP2

  2. Installieren Sie asset-share-commons.ui.apps-1.1.2.zip (auch unter 1.4.0)

  3. Installieren Sie asset-share-commons.ui.content-1.1.2.zip (auch unter 1.4.0)

  4. Erstellen Sie eine Seite „search template“ auf „Asset Share Commons“ auf Sites

  5. Führen Sie „Suchen“ mit einem beliebigen Wort, einschließlich Leerzeichen, einige hundert Malaus.

  6. Oder führen Sie diesen Befehl aus:

    # 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"

    Selbst nach einer Full Java GC können einige Objekte nicht freigegeben werden.

    # 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

    Eine Heapdump-Analyse weist auf folgende Problemstelle hin: org.apache.sling.models.impl.ModelAdapterFactory, geladen von org.apache.felix.framework.BundleWiringImpl $ BundleClassLoaderJava5 [2].

    1. https://github.com/Adobe-Marketing-Cloud/asset-share-commons
    2. Eine Instanz von "org.apache.sling.models.impl.ModelAdapterFactory", geladen von "org.apache.felix.framework.BundleWiringImpl$BundleClassLoaderJava5 @ 0x9749d5d0", nimmt 1.528.764.960 Byte (78,49%) in Anspruch. Der Speicher ist in einer Instanz von "org.apache.sling.models.impl.ModelAdapterFactory" aggregiert, die geladen wird durch "org.apache.felix.framework.BundleWiringImpl$BundleClassLoaderJava5 @ 0x9749d5d0".

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

Umgebung

AEM 6.3 SP1-CFP2 mit Asset Share Commons 1.1.2 und älteren Versionen.

Ursache

In Asset Share Commons ist ein Problem aufgetreten. Die QueryBuilder-Suche erstellt ungeschlossene ResourceResolver.

Lösung

Aktualisieren Sie Asset Share Commons auf Version 1.1.4 oder höher.

Dieses Werk unterliegt den Bedingungen der Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.  Twitter™- und Facebook-Beiträge fallen nicht unter die Bedingungen der Creative Commons-Lizenz.

Rechtliche Hinweise   |   Online-Datenschutzrichtlinie