本頁面提供如何疑難排解復寫問題的資訊。
復寫(非反向復寫)因某些原因而失敗。
複製失敗有多種原因。 本文說明分析這些問題時可能採取的方法。
按一下「激活」按鈕時,複製是否完全觸發? 若非,則執行下列動作:
複製是否在複製代理隊列中排隊?
請前往/etc/replication/agents.author,然後按一下復寫代理以檢查,以檢查此項目。
如果一個代理隊列或幾個代理隊列被卡住:
佇列是否顯示 已阻止 狀態? 如果是,則發佈執行個體是否未執行或完全停止回應? 檢查發佈執行個體以查看其有何錯誤(亦即檢查記錄,並查看是否有OutOfMemory錯誤或其他問題)。 如果速度通常很慢,請提取線程轉儲並分析它們。
佇列狀態是否顯示 隊列處於活動狀態 — 待處理數量? 基本上,復寫工作可能卡在通訊端讀取中,等待發佈執行個體或調度程式回應。 這可能表示發佈執行個體或調度程式負載高或卡在鎖中。 從作者取用執行緒轉儲,並在此情況下發佈。
如果所有代理隊列都卡住
由於存放庫損毀或其他問題,某個內容片段可能無法在/var/replication/data底下序列化。 檢查logs/error.log中是否有相關錯誤。 要清除錯誤的複製項,請執行以下操作:
Sling事件架構工作佇列可能有問題。 嘗試在/system/console中重新啟動org.apache.sling.event套件組合。
可能是作業處理完全關閉。 您可以在Sling事件標籤的Felix Console底下查看。 檢查是否顯示 — Apache Sling事件(已停用作業處理!)
DefaultJobManager配置也可能進入不一致狀態。 當有人透過OSGiconsole手動修改「Apache Sling Job Event Handler」設定(例如,停用並重新啟用「Job Processing Enabled」屬性並儲存設定)時,就會發生此情況。
建立replication.log
有時,將所有復寫記錄設定為在DEBUG層級的個別記錄檔中新增,會很有幫助。 要執行此操作:
前往https://host:port/system/console/configMgr並以管理員身分登入。
尋找Apache Sling Logging Logger工廠,並按一下 + 按鈕(位於工廠配置右側)。 這將建立新的記錄器。
以下列方式設定設定:
如果您懷疑問題與sling事件/工作有任何關係,您也可以在categories:org.apache.sling.event下新增此java套件
有時候,暫停復寫佇列以減少製作系統的負載,而不停用它可能比較合適。 目前,只有通過臨時配置無效埠的駭客攻擊才能做到這一點。 從5.4開始,您可以在復寫代理佇列中看到暫停按鈕,但有一些限制
不會複製頁面權限,因為這些權限儲存在授予存取權的節點下,而不是與使用者一起。
一般頁面權限不應從作者複製到發佈,且預設不會。 這是因為這兩個環境中的存取權限應該不同。 因此,建議您在發佈時與作者分開設定ACL。
在某些情況下,嘗試將命名空間資訊從製作例項複製到發佈例項時,復寫佇列會遭到封鎖。 發生此情況是因為復寫使用者沒有 jcr:namespaceManagement
權限。 若要避免此問題,請確定:
jcr:namespaceManagement
權限。 您可以依照下列方式授予權限:https://localhost:4502/crx/de/index.jsp
)為管理員。jcr:namespaceManagement
從權限清單中。