Contents

Introduction

Prerequisites

Requirements

Componentes Utilizados

Problema: Ocorreu um erro ao processar uma ação de política de sincronização

Solução

Introduction

Este documento descreve como podemos solucionar problemas e resolver erros do Cisco Policy Suite (CPS) relacionados a uma ação de política de sincronização.

Prerequisites

Requirements

A Cisco recomenda que você tenha conhecimento destes tópicos:

- Sistema operacional Linux

- Cisco Policy Suite

Componentes Utilizados

As informações neste documento são baseadas no Cisco Policy Suite.

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.

Problema: Ocorreu um erro ao processar uma ação de política de sincronização

Erros observados no arquivo de log /var/log/broadhop/consolidated-qns.log:

ERROR c.b.policy.impl.RulesPolicyService - An error occured while processing a Sync Policy Action.

com.broadhop.spr.exception.SubscriberException: Data store is not available: No master DB available: sessionmgrxx-SITE1:27720

ERROR c.b.policy.impl.RulesPolicyService - An error occured while processing a Sync Policy Action.

com.broadhop.spr.exception.SubscriberException: Duplicate Value for Unique Data Constraint: credential networkId: 61431792343

O exemplo mostra o erro em 2 sites diferentes e 2 timestamps diferentes:

O tempo de resposta do diâmetro pode aumentar ligeiramente devido ao erro e picos também podem ser observados no enxerto.

SITE-1 consolidado-qregistros ns:

SITE1-qns11 2016-10-13 09:44:59,343 [pool-2-thread-1] ERROR c.b.policy.impl.RulesPolicyService - An error occured while processing a Sync Policy Action.

com.broadhop.spr.exception.SubscriberException: Data store is not available: No master DB available: sessionmgrxx-SITE1:27720

at com.broadhop.spr.dao.impl.mongo.MongoPersistence.searchSubscribers(MongoPersistence.java:433) ~[com.broadhop.spr.dao.mongo_2.3.6.r078013.jar:na]

SITE1-qns04 2016-10-13 10:42:03,629 [pool-2-thread-1] ERROR c.b.policy.impl.RulesPolicyService - An error occured while processing a Sync Policy Action.

SITE1-qns06 2016-10-13 10:47:20,555 [pool-3-thread-1] ERROR c.b.policy.impl.RulesPolicyService - An error occured while processing a Sync Policy Action.

Logs de Mongo do SITE-1:

2016-10-13T08:22:02.330+1100 [conn15604045] command spr.$cmd command: count { count: "subscriber", query: { services_key.code_key: "HWBB" }, fields: {} } planSummary: COLLSCAN keyUpdates:0 numYields:2 locks(micros) r:1297276 reslen:48 700ms

2016-10-13T08:47:02.909+1100 [conn15605855] command spr.$cmd command: count { count: "subscriber", query: { services_key.code_key: "HWBB" }, fields: {} } planSummary: COLLSCAN keyUpdates:0 numYields:1 locks(micros) r:1095391 reslen:48 585ms

2016-10-13T09:37:02.563+1100 [conn15609536] command spr.$cmd command: count { count: "subscriber", query: { services_key.code_key: "HWBB" }, fields: {} } planSummary: COLLSCAN keyUpdates:0 numYields:0 locks(micros) r:519701 reslen:48 519ms

2016-10-13T09:52:02.472+1100 [conn15610667] command spr.$cmd command: count { count: "subscriber", query: { services_key.code_key: "HWBB" }, fields: {} } planSummary: COLLSCAN keyUpdates:0 numYields:1 locks(micros) r:1072306 reslen:48 564ms

2016-10-13T10:27:02.649+1100 [conn15613701] command spr.$cmd command: count { count: "subscriber", query: { services_key.code_key: "HWBB" }, fields: {} } planSummary: COLLSCAN keyUpdates:0 numYields:1 locks(micros) r:657876 reslen:48 504ms

SITE-2 consolidado-registros de qns:

SITE2-qns04 2016-11-18 05:28:33,776 [pool-1361732-thread-1] ERROR c.b.policy.impl.RulesPolicyService - An error occured while processing a Sync Policy Action.

com.broadhop.spr.exception.SubscriberException: Duplicate Value for Unique Data Constraint: credential networkId: 61431792343

SITE2-qns09 2016-11-17 20:47:59,539 [pool-1361592-thread-1] ERROR c.b.policy.impl.RulesPolicyService - An error occured while processing a Sync Policy Action.

com.broadhop.spr.exception.SubscriberException: Duplicate Value for Unique Data Constraint: credential networkId: 61431792343

SITE2-qns06 2016-11-17 01:45:15,476 [pool-63652-thread-1] ERROR c.b.policy.impl.RulesPolicyService - An error occured while processing a Sync Policy Action.

com.broadhop.spr.exception.SubscriberException: Data store is not available: No master DB available: sessionmgr11-SITE1:27720

SITE2-qns12 2016-11-17 01:45:15,514 [pool-63484-thread-1] ERROR c.b.policy.impl.RulesPolicyService - An error occured while processing a Sync Policy Action.

com.broadhop.spr.exception.SubscriberException: Data store is not available: No master DB available: sessionmgr11-SITE1:27720

SITE2-qns10 2016-11-12 07:40:53,659 [pool-63538-thread-1] ERROR c.b.policy.impl.RulesPolicyService - An error occured while processing a Sync Policy Action.

com.broadhop.spr.exception.SubscriberException: Duplicate Value for Unique Data Constraint: credential networkId: 61431792343

"Ocorreu um erro durante o processamento de uma ação de política de sincronização" pode ser causado por dois motivos:

1. O MongoDB principal/principal não está acessível ou está inoperante.

2. As instâncias do Servidor de Políticas (QNS) não podem acessar a máquina virtual (VM) do sessionmgr devido a um problema de rede.

Os registros indicam que isso está relacionado a uma flutuação de rede, pois as exceções de acesso à VM do sessionmgr para Ação de Política de Sincronização podem ser observadas na maioria das VMs do QNS. Essas exceções são relacionadas ao BD SPR mestre (sessionmgr11-SITE1:27720) que não pode ser alcançado. Durante a mesma duração, não há erros observados nos registros do MongoDB. Além disso, não foi observado nenhum failover de DB primário para secundário durante o mesmo período.

Solução

Ocorreram erros de "Ação de política de sincronização" no SITE1 e SITE2 devido a dois motivos:

1.

SITE1-qns11 2016-10-13 09:44:59,343 [pool-2-thread-1] ERROR c.b.policy.impl.RulesPolicyService - An error occured while processing a Sync Policy Action.

com.broadhop.spr.exception.SubscriberException: Data store is not available: No master DB available: sessionmgrxx-SITE1:27720

"Arquivo de dados não disponível".  Isto parece claramente o caso de pequenas flutuações de rede que são resolvidas em sucessões rápidas:

2.

SITE2-qns04 2016-11-18 05:28:33,776 [pool-1361732-thread-1] ERROR c.b.policy.impl.RulesPolicyService - An error occured while processing a Sync Policy Action.

com.broadhop.spr.exception.SubscriberException: Duplicate Value for Unique Data Constraint: credential networkId: 61431792343

O "Valor Duplicado para Restrição Exclusiva de Dados " não tem impacto no sistema ou nos assinantes, pois essa exceção seria observada quando uma solicitação duplicada é recebida do PCEF.  O pedido original já foi atendido.

Estas são as etapas que a Cisco recomenda que sejam executadas quando "O armazenamento de dados não está disponível" for observado no arquivo consolidado-qns.log.

Etapa 1. Verifique o caminho da rede ou qualquer roteador entre as VMs QNS e a VM sessionmgr11-SITE1VM.

Etapa 2. Verifique o /var/log/messages de VMs QNS e do sessionmgr11-SITE1VM.

Etapa 3. Verifique o roteador através do qual QNS e Sessionmgr11-SITE1 VM estão conectados

Para confirmar se a exceção "datastore not available" ocorre enquanto há uma tentativa de conectar qualquer instância do DB na sessão mgrxx-xxx:277xx, você pode executar esse comando por toda a duração (pode ser 24 horas) na VM sesssionmgrxx onde o problema de rede está sendo observado.  A saída será armazenada em /var/tmp/output.txt.

while true; do netstat -apn | grep 27720; sleep 1 ; done | tee /var/tmp/output.txt

Para interromper a execução do comando netstat, basta pará-lo com CTRL C:

ctrl c

Observação Caso você observe que há um problema na conexão e reinicialização da conexão TCP na sessão mgrxx-xxx. Em seguida, precisamos reparar o banco de dados (DB), excluindo os dados e recriando o banco de dados dos nós secundários.  ( link para reparar/recuperar o db a ser publicado - )