동기식 AEM 인덱스를 다시 인덱싱하는 방법 | AEM, Oak
동기 AEM 인덱스를 다시 인덱싱하려면 reindex 속성을 true(으)로 설정하면 됩니다. 하지만 이로 인해 Oak 인스턴스가 정지될 수 있으며, 이 경우 인덱싱을 백그라운드 스레드로 전송해야 합니다. 이 문서에서는 방법을 설명합니다.
설명 description
환경
Adobe Experience Manager
문제/증상
다운타임이 발생하지 않고 동기식 Oak 인덱스를 제대로 다시 인덱싱하려면 어떻게 합니까?
해상도 resolution
reindex 속성을 true(으)로 설정하여 동기 인덱스를 다시 인덱싱하면 동기 작업이 발생하여 Oak 인스턴스가 중단될 수 있습니다.
이러한 상황을 방지하려면 인덱싱을 백그라운드 스레드로 보내십시오. 아래 단계를 수행합니다.
1단계: 백그라운드 스레드에서 다시 인덱싱
-
비동기 인덱싱에 사용할 수 있도록 속성 인덱스에 대한 인덱스 정의의 CRXDE Lite 에서 다음 속성을 설정하십시오.
code language-none /oak:index/<property index> reindex=true reindex-async=true
-
위의 노드가 새로 고쳐졌는지 확인하려면
async="async-reindex"
을 설정해야 합니다. -
PropertyIndexAsyncReindex
MBean에서startPropertyIndexAsyncReindex
을(를) 호출합니다.이렇게 하면 해당 유형의 인덱스를 검색하는 백그라운드 작업이 시작됩니다.
Post 호출 로그 라인 리인덱싱이 수행될지 표시되어야 합니다.
-
다시 인덱싱이 완료되면 다시 인덱싱 플래그가 false(으)로 재설정됩니다.
-
인덱스를 동기화 인덱스로 다시 변경하려면 3단계를 다시 호출합니다. 비동기 플래그가 삭제되지 않으면 Mbean을 여러 번 호출해야 할 수 있습니다(이 인덱스에 동시에 영향을 주는 변경 사항이 발생하는 경우).
참고: 인덱싱이 발생할 스레드를 제어하므로
async="async-reindex"
만 제거됩니다.reindex-async
속성은 자동으로 변경되지 않는 구성 플래그일 뿐입니다.향후 모든 리인덱싱을 제어하는 특정 인덱스 정의에 대해 한 번만 설정하는 것이 좋습니다.
상태가 그대로 유지되며 다시 터치할 필요가 없습니다.
2단계: 리인덱싱 검사점 제거(AEM 6.2 및 이전 버전만 해당)
비동기 리인덱싱하는 동안 저장소 체크포인트가 생성됩니다.
인덱싱 작업이 완료되면 나중에 수정 가비지 수집을 원활하게 보장하기 위해 아래 설명된 대로 릴리스해야 합니다.
-
먼저 CheckpointManager MBean:
을(를) 엽니다.
MongoMK에서 -/system/console/jmx/org.apache.jackrabbit.oak%3Aname%3DDocument+node+store+checkpoint+management%2Ctype%3DCheckpointManger
-
listCheckpoints()
작업을 호출합니다. -
name=async-reindex
속성을 사용하여 체크포인트 행을 검색합니다. -
ID 값을 클립보드에 복사:
MongoMK에서 해당 값은 다음과 비슷합니다.r1234567aaaa-0-1
TarMK에서 해당 값은 다음과 유사합니다.
6eac07d0-fe27-4d16-82f8-6d5da4cefd67
-
그런 다음
releaseCheckpoint()
작업을 엽니다. -
복사한 ID를 p1로 붙여넣고 호출 을 클릭합니다.
-
이 단계에서 체크포인트가 릴리스됩니다.