Problema

Durante o teste de estresse da pesquisa de ativos do compartilhamento de ativos commons [1], ocorreu um problema de vazamento de memória ou de objeto não resolvido.

Etapas para reproduzir:

  1. Instalar o AEM 6.3, SP1 e CFP2

  2. Instalar o asset-share-commons.ui.apps-1.1.2.zip (ocorre até na versão 1.4.0)

  3. Instalar o asset-share-commons.ui.content-1.1.2.zip (acontece mesmo em 1.4.0)

  4. Criar uma página "modelo de pesquisa" em "Compartilhamento de Ativos Commons" em Sites

  5. Executar "Pesquisar" com qualquer palavra, incluindo em branco, centenas de vezes.

  6. Ou executar esse 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"

    Mesmo depois que o Java Garbage Collection completo é executado, alguns objetos não podem ser liberados.

    # 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

    Uma análise de despejo de heap informa que um suspeito org.apache.sling.models.impl.ModelAdapterFactory carregado por org.apache.felix.framework.BundleWiringImpl$BundleClassLoaderJava5 [2].

    1. https://github.com/Adobe-Marketing-Cloud/asset-share-commons
    2. Uma instância de "org.apache.sling.models.impl.ModelAdapterFactory" carregado por "org.apache.felix.framework.BundleWiringImpl$BundleClassLoaderJava5 @ 0x9749d5d0" ocupa 1.528.764.960 (78,49%) bytes. A memória é acumulada em uma instância de "org.apache.sling.models.impl.ModelAdapterFactory" carregado por "org.apache.felix.framework.BundleWiringImpl$BundleClassLoaderJava5 @ 0x9749d5d0".

      palavras-chave
      org.apache.sling.models.impl.ModelAdapterFactory
      org.apache.felix.framework.BundleWiringImpl$BundleClassLoaderJava5 @ 0x9749d5d0

Ambiente

AEM 6.3 SP1-CFP2 com Compartilhamento de Ativos Commons 1.1.2 e versões anteriores.

Causa

Houve um problema no Compartilhamento de Ativos Commons. A pesquisa QueryBuilder cria ResourceResolver não fechado.

Resolução

Atualizar Compartilhamento de Ativos Commons para a versão 1.1.4 ou posterior.

Esta obra está licenciada sob uma licença não adaptada da Creative Commons Attribution-Noncommercial-Share Alike 3.0  As publicações do Twitter™ e do Facebook não são cobertas pelos termos do Creative Commons.

Avisos legais   |   Política de privacidade online