Os arquivos do cache do Dispatcher são atualizados inesperadamente | AEM
Procure um padrão coletando os logs sobre as solicitações de invalidação de cache e as solicitações de conteúdo. Verifique os 3 cenários diferentes na seção Resolução.
Descrição description
Ambiente
Adobe Experience Manager (AEM)
Problema
Às vezes, os arquivos do Dispatcher armazenados em cache são atualizados em um momento inesperado ou com frequência imprevista.
Resolução resolution
Após a publicação do conteúdo, o Adobe Experience Manager (AEM) envia uma solicitação de invalidação de cache (GET /dispatcher/invalidate.cache) ao Dispatcher. Depois disso, quando uma solicitação de conteúdo chegar à Dispatcher, ela atualizará seus arquivos armazenados em cache.
Com base nesse comportamento, procure por um padrão coletando os logs sobre as solicitações de invalidação de cache e as solicitações de conteúdo.
Exemplo de logs para uma solicitação de invalidação:
Dispatcher - log_acesso
127.0.0.1 - - [ 07/Jun/2022:13:44:35 +0900] "GET /dispatcher/invalidate.cache HTTP/1.1" 200 13 "about:blank" "Jakarta Commons-HttpClient/3.1"
Dispatcher - dispatcher.log
[ 07/Jun/2022:13:44:35 +0900] "GET /dispatcher/invalidate.cache HTTP/1.1" 200 purge [ publish/-] 0ms
Publish - error.log
07.06.2022 13:44:35.750 *INFO* [ sling-threadpool-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx-(apache-sling-job-thread-pool)-1-com_day_cq_replication_job_flush(com/day/cq/replication/job/flush)] com.day.cq.replication.Agent.flush Sending GET request to http://localhost:80/dispatcher/invalidate.cache
...
07.06.2022 13:44:35.758 *INFO* [ sling-threadpool-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx-(apache-sling-job-thread-pool)-1-com_day_cq_replication_job_flush(com/day/cq/replication/job/flush)] com.day.cq.replication.Agent.flush Replication (ACTIVATE) of /content/xx-xxxxxx/us/en/products successful.
Causa
São casos típicos em que os arquivos armazenados em cache do Dispatcher são atualizados inesperadamente.
Caso 1 - Atualizações frequentes do cache para conteúdos inesperados
Os arquivos armazenados em cache são atualizados com frequência, mas o conteúdo atualizado não é o destino da solicitação de invalidação de cache.
Nesse caso, o valor de /statfileslevel
na configuração do Dispatcher pode ser muito baixo. Observe que, ao comentar /statfileslevel
no dispatcher.any, significa "0" para esse valor.
Quando tiver /statfileslevel "0"
e publicar conteúdo, todos os arquivos armazenados em cache serão invalidados independentemente dos caminhos. O link no Guia Dispatcher do AEM abaixo descreve os detalhes:
Configuração do Dispatcher - Invalidando Arquivos por Nível de Pasta
Caso 2 - Solicitações de invalidação de cache de um cliente indesejado
A configuração do Dispatcher pode não ter uma restrição apropriada para solicitações de invalidação de cache. Verificar /allowedClients
em dispatcher.any.
Caso 3 - Nenhuma solicitação de invalidação de cache
A configuração do Dispatcher pode usar a invalidação do cache com base no tempo. Neste caso, /enableTTL "1"
deve existir em dispatcher.any.