Cómo reindexar un índice síncrono de AEM | AEM, Oak

AEM Para reindexar un índice de sincrónico, simplemente podría establecer la propiedad reindex en true. Sin embargo, esto puede hacer que se cuelgue una instancia de Oak, en cuyo caso debe enviar la indexación a un subproceso en segundo plano. Este artículo explica cómo hacerlo.

Descripción description

Entorno

Adobe Experience Manager

Problema/Síntomas

¿Cómo reindexo correctamente un índice síncrono de Oak sin provocar un tiempo de inactividad?

Resolución resolution

La reindexación de un índice sincrónico mediante el simple establecimiento de la propiedad reindex en true da como resultado una operación sincrónica que puede hacer que se cuelgue una instancia de Oak.

Para evitar esta situación, envíe la indexación a un subproceso en segundo plano. Siga estos pasos:

Paso 1: reindexe en un subproceso en segundo plano

  1. Establezca las siguientes propiedades de CRXDE Lite en la definición de índice para que el índice de propiedad esté habilitado para la indexación asíncrona:

    code language-none
    /oak:index/<property index>
    reindex=true
    reindex-async=true
    
  2. Para validar que lo anterior actualiza el nodo, se debe ser establecer async="async-reindex".

  3. Invoque startPropertyIndexAsyncReindex en el MBean PropertyIndexAsyncReindex.

    Esto debería iniciar el trabajo en segundo plano para buscar estos tipos de índices.

    Invocación de Post: debería ver que se realizará una reindexación de la línea de registro…

  4. Una vez completada la reindexación, el indicador de reindexación se restablecerá a false.

  5. Vuelva a invocar el paso 3 para volver a cambiar el índice a un índice de sincronización. Si no se elimina el indicador async, es posible que el MBean tenga que invocarse varias veces (puede ocurrir si hay cambios que ocurren simultáneamente y que afectan a este índice).

    Nota: Solo se quitará async="async-reindex", ya que controla en qué subproceso se producirá la indexación.

    La propiedad reindex-async es solo un indicador de configuración que no cambiará automáticamente.

    La idea es que se establezca una vez para las definiciones de índice específicas que controlen todas las reindexaciones futuras.

    Así se espera que permanezca y no tendrá que volver a tocarlo.

AEM Paso 2: Quite el punto de comprobación de reindexación (solo en la versión 6.2 y versiones anteriores de la)

Durante el proceso de reindexación asíncrona, se crea un punto de comprobación del repositorio.
Una vez finalizada la tarea de indexación, debe liberarse como se describe a continuación, para garantizar una recolección de basura de revisión sin problemas más adelante:

  1. Primero, abra CheckpointManager MBean:

    En MongoMK - /system/console/jmx/org.apache.jackrabbit.oak%3Aname%3DDocument+node+store+checkpoint+management%2Ctype%3DCheckpointManger

    En TarMK - /system/console/jmx/org.apache.jackrabbit.oak%3Aname%3DSegment+node+store+checkpoint+management%2Ctype%3DCheckpointManger

  2. Invoque la operación listCheckpoints().

  3. Encuentre la fila del punto de comprobación con la propiedad name=async-reindex

  4. Copie su valor de id. en el portapapeles:

    En MongoMK, tendrá un aspecto similar a: r1234567aaaa-0-1

    En TarMK, tendrá un aspecto similar a: 6eac07d0-fe27-4d16-82f8-6d5da4cefd67

  5. A continuación, abra la operación releaseCheckpoint().

  6. Pegue el ID copiado como p1 y haga clic en Invocar.

  7. Este paso liberará el punto de comprobación.

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f