AEM Communities 사용자 동기화가 작동을 멈춤

AEM Communities 사용자 동기화가 작동을 멈추고 사용자가 더 이상 게시 인스턴스 간에 동기화되지 않습니다.

원인

사용자 동기화가 실패하는 원인은 다양합니다.  가장 일반적인 원인:

  • 구성 오류
  • 사용자가 게시 인스턴스에 있을 때 저장 시 오류
  • 오류 또는 권한 문제(작성자 또는 게시 인스턴스)로 인해 사용자 패키지를 저장하지 못하는 시스템 오류
  • 사용자 패키지 누락으로 인해 Sling 작업이 작동하지 않음

해결 방법

1. 설명서의 문제 해결 안내 따르기

II. VaultDistributionPackageBuilderFactory 업데이트(AEM 6.2에만 해당).

** AEM 6.2에만 적용됩니다.

다음 항목을 해결하기 위해 socialpubsync-vlt Vault Package Builder Factory 업데이트:

  • 안정성과 성능을 높이기 위해 비 클러스터형 인스턴스의 파일 시스템에 사용자 동기화 패키지 저장
  • rep:policy 노드를 포함하고 .token 및 rep:cache 노드가 사용자와 동기화되지 않도록 함
  • "패키지를 검색할 수 없습니다" 오류 방지 [1]
  1. OSGi 콘솔 http://host:port/system/console/configMgr로 이동합니다.

  2. 이름 필드가 socialpubsync-vltApache Sling Distribution Packaging - Vault Package Builder Factory를 찾습니다.

  3. 유형 드롭다운 목록을 선택하고 jcr 패키지 대신 파일 패키지를 선택합니다.  비 클러스터 인스턴스에서만 이 단계를 수행합니다.

  4. [패키지 필터] 필드에서 다음 값을 추가합니다.

    • /home/users|-.*/rep:cache
    • /home/users|-.*/.tokens
    • /home/users|-.*/rep:policy 
    참고:

    여기에 rep:cache를 추가하면 다음과 같은 오류를 방지합니다.

    [... POST /libs/sling/distribution/services/importers/socialpubsync HTTP/1.1] org.apache.jackrabbit.vault.packaging.impl.ZipVaultPackage Error during install.
    javax.jcr.nodetype.ConstraintViolationException: OakConstraint0034: Attempt to create or change the system maintained cache.

  5. The digest algorithm to calculate the package checksum 드롭다운 목록을 선택하고 md5를 선택합니다.

  6. [저장]을 클릭합니다.

AEM6.2를 실행 중인 경우 모든 작성자 및 게시 인스턴스에 Cumulative Fix Pack 3을 설치하거나 AEM 고객 지원 센터에 문의하여 NPR-13034에 대한 핫픽스를 요청하십시오.  이 수정 사항을 설치하지 않으면 위의 구성이 적용되지 않습니다. 

III. sling: Folder 노드 배포(AEM 6.2에만 해당).

** AEM 6.2에만 적용됩니다.

사용자 동기화의 기본 구성에 문제가 있습니다. 이 구성에서는 social/relationships/following과 같은 sling:Folder 노드를 배포하지 않습니다.  

  1. http://aem-host:port/system/console/configMgr/com.adobe.cq.social.sync.impl.UserSyncListenerImpl로 이동하여 관리자로 로그인합니다.

  2. sling:Folder를 Node Types에 추가합니다.

IV. 모든 사용자 패키지 지우기

보유한 Sling Distribution 및 AEM Social Communities 버전에 따라 /etc/packages/sling(이전 버전 - 핫픽스 없는 AEM6.1) 또는 /var/sling/distribution/packages(신규 버전 - AEM Social Communities FP4 이상의 AEM 6.1에 생성된 사용자 패키지가 있을 수 있습니다).

  1. http://host:port/crx/explorer/index.jsp로 이동합니다.

  2. 관리자로 로그인합니다.

  3. /etc/packages로 이동하여 sling 하위 폴더를 삭제합니다.

  4. /var/sling/distribution으로 이동하여 패키지 하위 폴더를 삭제합니다.

  5. [저장]을 클릭합니다.

Vault Package Builder Factory 구성에서 유형 필드를 파일 패키지로 이미 설정한 경우 temp 폴더에서 패키지를 지워야 합니다.: 

  1. AEM 서버에 로그인합니다.

  2. AEM의 Java 프로세스에서 사용하는 temp 디렉토리로 이동합니다(JVM 매개 변수 - Djava.io.tmpdir에 의해 정의되었을 수 있습니다.)

  3. 해당 폴더에서 모든 패키지를 지웁니다.  Linux에서 사용할 수 있는 명령 예: for i in dstrpck*; do rm $i; done

  4. 모든 AEM 인스턴스(게시 인스턴스 및 작성자 인스턴스)에 대해 반복합니다.

V. 분산 큐의 차단 해제

패키지를 지웠으므로 이를 참조하는 정지된 모든 Sling 작업을 삭제하십시오.  몇 가지 오류로 인해 /var/eventing/jobs/unassigned에 있는 이전 작업이 처리되지 않으면 사용자 동기화를 할 수 없습니다. 각 AEM 노드에서 삭제하여 동기화 큐를 차단 해제하십시오. 

  1. http://host:port/crx/explorer/index.jsp로 이동합니다.

  2. 관리자로 로그인합니다.

  3. 콘텐츠 탐색기를 엽니다.

  4. /var/eventing/jobs를 찾습니다.

  5. /var/eventing/jobs/unassigned의 첫 번째 하위 폴더를 마우스 오른쪽 버튼으로 클릭합니다.

  6. org.apache.sling.distribution으로 시작하는 하위 노드를 찾습니다.

  7. 해당 노드를 마우스 오른쪽 버튼으로 클릭하고 반복적으로 삭제합니다.

  8. [예비 스캔] 상자의 선택을 취소합니다.

  9. 삭제합니다.

VI. 추가 분석

위의 단계 중 어느 것으로도 사용자 동기화 문제를 해결하지 못한 경우 이러한 Java 패키지(작성자 및 게시 인스턴스)에 대해 디버그 레벨 로깅을 사용하십시오.

  1. http://aem-host:port/system/console/slinglog로 이동합니다.

  2. [새 로거 추가]를 클릭합니다.

  3. 다음 값을 설정합니다.

    • Log Level -> Debug
    • Log File -> logs/usersync.log
    • Loggers
      • org.apache.sling.distribution
      • org.apache.sling.event
      • com.adobe.cq.social.sync
  4. [저장]을 클릭합니다.

  5. 도움이 필요하면 문제에 대한 설명과 로그 파일을 첨부하여 AEM 고객 지원 센터에 문의하십시오.

[1] 6.2 Cumulative Fix Pack 5 이상을 적용한 뒤 발생하는 사용자 동기화 오류

22.08.2017 12:38:16.044 *ERROR* [sling-default-655-scheduledEventTriggerorg.apache.sling.distribution.agent.impl.TriggerAgentRequestHandler@3b05483d] org.apache.sling.distribution.agent.impl.SimpleDistributionAgent [agent][socialpubsync] cannot retrieve packages
org.apache.sling.distribution.common.DistributionException: java.lang.NullPointerException
at org.apache.sling.distribution.packaging.impl.FileDistributionPackageBuilder.readPackageInternal(FileDistributionPackageBuilder.java:127)
at org.apache.sling.distribution.packaging.impl.AbstractDistributionPackageBuilder.readPackage(AbstractDistributionPackageBuilder.java:111)
at org.apache.sling.distribution.serialization.impl.vlt.VaultDistributionPackageBuilderFactory.readPackage(VaultDistributionPackageBuilderFactory.java:243)
at org.apache.sling.distribution.transport.impl.SimpleHttpDistributionTransport.retrievePackage(SimpleHttpDistributionTransport.java:156)
at org.apache.sling.distribution.packaging.impl.exporter.RemoteDistributionPackageExporter.exportPackages(RemoteDistributionPackageExporter.java:82)
at org.apache.sling.distribution.agent.impl.SimpleDistributionAgent.exportPackages(SimpleDistributionAgent.java:214)
at org.apache.sling.distribution.agent.impl.SimpleDistributionAgent.execute(SimpleDistributionAgent.java:182)
at org.apache.sling.distribution.agent.impl.TriggerAgentRequestHandler.handle(TriggerAgentRequestHandler.java:71)
at org.apache.sling.distribution.trigger.impl.ScheduledDistributionTrigger$ScheduledDistribution.run(ScheduledDistributionTrigger.java:134)
at org.apache.sling.commons.scheduler.impl.QuartzJobExecutor.execute(QuartzJobExecutor.java:118)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException: null
Adobe 로고

내 계정 로그인