Objetivo

¿Cómo puedo reindexar correctamente un índice síncrono Oak sin causar tiempo de inactividad?

Pasos

Reindexar un índice síncrono simplemente ajustando la propiedad reindex a true resulta en una operación síncrona que puede causar que una instancia de Oak se cuelgue. Para evitar esta situación, envíe la indexación a un proceso de fondo.  Para hacer esto, siga los pasos a continuación:

  1. Reindex en un proceso de fondo

    1. Establezca las siguientes propiedades de CRXDE Lite en la definición de índice para el índice de propiedad que se habilitará para la indexación de asíncronos: /oak:index/<property index>
      reindex=true

      reindex-async=true

    2. Para validar que lo anterior refresque el nodo, se debe establecer async="async-reindex".

    3. Invoque el índice startPropertyIndexAsyncReindex en la propiedad PropertyIndexAsyncReindex MBean. Esto iniciaría la tarea de fondo que buscaría tales tipos de índices. Después de la invocación, debería ver una línea de registro...

    4. Una vez que la reindexación se haya completado, el indicador de reindexación se reajustará a false.

    5. Vuelva a llamar al paso 3 para volver a cambiar el índice a un índice de sincronización. Si el indicador de asíncrono no se borra, es posible que haya que invocar al Mbean varias veces (esto puede suceder si se producen cambios que afecten simultáneamente a este índice).

    Nota: Solo se eliminará async="async-reindex" porque los controles en los que se realiza la indexación se activarán.  La propiedad 'reindex-async' es sólo un indicador de configuración que no cambiará automáticamente. La idea es que lo establezca una vez para las definiciones de índice específicas que controlan todas las reindexaciones futuras. Eso es lo que se espera: que permanezca ahí y que no tenga que volver a tocarlo.

  2. Eliminar el punto de comprobación de reindexación (sólo para AEM 6.2 y versiones anteriores)

    Durante el proceso de reindexación de asíncronos, se crea un punto de comprobación de repositorios. Una vez finalizada la tarea de indexación, debe liberarse como se describe a continuación, para garantizar que la colección de residuos de revisión se realice sin problemas más adelante:

    1. Invocar la operación listCheckpoints()

    2. Busque la fila del punto de comprobación con la propiedad "name=async-reindex".

    3. Copie su valor de id al portapapeles
      En MongoMK se verá similar a esto: r1234567aaaa-0-1
      En TarMK se verá similar a esto: 6eac07d0-fe27-4d16-82f8-6d5da4cefd67

    4. Luego abra la operación releaseCheckpoint().

    5. Pegue el id copiado como p1 y haga clic en "Invocar".

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

Esta obra está autorizada con arreglo a la licencia de Reconocimiento-NoComercial-CompartirIgual 3.0 Unported de Creative Commons.  Los términos de Creative Commons no cubren las publicaciones en Twitter™ y Facebook.

Avisos legales   |   Política de privacidad en línea