Failover AEM + Mongo não funciona | AEM 6.2 MongoDB 3.2.x

Problema

Quando você tem um cluster AEM + MongoDB de vários nós e encerra o nó primário do MongoDB e permite o failover, o AEM gera erros em todos os nós do cluster.

Ambiente

AEM 6.2 + Oak 1.4.15 ou anterior

Causa

Esse é um problema conhecido com o AEM + Oak 1.4.15 (e versões anteriores do Oak).

Resolução

  1. Atualize para o Oak 1.4.16 ou versão posterior do Oak conforme fornecido aqui.

  2. Configure socketTimeoutMS = 60000 no mongouri, por exemplo:

    #mongodb connection options
    CQ_JVM_OPTS="${CQ_JVM_OPTS} -Doak.documentMK.maxServerTimeDiffMillis=31000 -Doak.mongo.uri=mongodb://aemuser:redacted@mongo1host:27017,mongo2host:27017,mongo3host:27017/aem-author?authsource=aem-author&authMechanism=MONGODB-CR&replicaSet=aem&readPreference=nearest&w=2&socketTimeoutMS=60000 -Doak.mongo.db=aem-author"
  3. Adicione socketKeepAlive = true na configuração DocumentNodeStoreService. Por exemplo:

    # This file contains DocumentNodeStoreService configurations and information relating to the apps connection to the Mongo DB
    customBlobStore=B"true"
    maxReplicationLagInSecs=L"21600"
    blobCacheSize=I"16"
    cache=I"16384"
    cacheSegmentCount=I"16"
    cacheStackMoveDistance=I"16"
    nodeCachePercentage="50"
    prevDocCachePercentage="10"
    childrenCachePercentage="20"
    diffCachePercentage="15"
    docChildrenCachePercentage="2"
    persistentCache="./crx-quickstart/repository/cache,size\=2048,binary\=0"
    journalGCInterval=L"300000"
    journalGCMaxAge=L"21600000"
    journalGcBatchSize=I"100"
    blobGcMaxAgeInSecs=L"86400"
    socketKeepAlive=B"true"
Logotipo da Adobe

Fazer logon em sua conta