Use as informações para assegurar que nenhum dos encadeamentos que estão tentando se comunicar com o servidor LDAP esteja bloqueado quando o servidor estiver inativo até que a leitura atinja o tempo limite.
Problema
Se um servidor LDAP estiver inativo, uma exceção será lançada quando qualquer novo encadeamento tentar fazer uma leitura a partir do servidor. O gerenciador de membro virtual então tenta recriar o conjunto de contextos LDAP. Durante a recriação do conjunto de contextos, todos os encadeamentos recebidos são bloqueados.
Se a conexão não puder ser estabelecida em 120 segundos, uma exceção será lançada e os encadeamentos poderão concluir seu processamento. No entanto, todos os encadeamentos de solicitação serão bloqueados por 120 segundos até a exceção ser lançada.
Solução
Para assegurar que nenhum encadeamento seja bloqueado durante a recriação do conjunto de contextos, é possível configurar as três propriedades customizadas a seguir para minimizar o número de encadeamentos ou o número exato de encadeamentos a ser bloqueado:
- minimizeContextPoolThreadBlock
- A propriedade customizada minimizeContextPoolThreadBlock é usada para definir o comportamento de bloqueio de encadeamento quando um servidor LDAP está inativo e é feita uma tentativa de leitura a partir do servidor. Quando o valor da propriedade é configurado para
true, apenas um número mínimo de encadeamentos é bloqueado na operação de leitura e o restante dos encadeamentos falha imediatamente sem esperar. Se a propriedade for configurada para false, cada encadeamento que faz as solicitações de leitura será bloqueado até que um contexto seja criado para o LDAP solicitado ou até que uma criação de contexto atinja o tempo limite. O tempo padrão para a criação de contexto é de 120 segundos.
Informações |
Valor |
Tipo de dados |
Booleano |
Padrão |
True |
- maxThreadsToBlock
- A propriedade maxThreadsToBlock é usada junto com a propriedade minimizeContextPoolThreadBlock.
Quando a propriedade minimizeContextPoolThreadBlock é configurada para true, maxThreadsToBlock determina o número máximo de encadeamentos que devem ser bloqueados quando uma operação de leitura LDAP é executada.
Informações |
Valor |
Tipo de dados |
Número Inteiro |
Padrão |
5 |
- bindTimeout
- A propriedade customizada bindTimeout especifica o tempo levado para controlar a contagem de ligações quick em milliseconds. Todas as ligações que demorarem mais do que o tempo especificado serão incluídas no log se o log de rastreio estiver ativado.
Informações |
Valor |
Tipo de dados |
Milissegundos |
Padrão |
1000 |
É possível definir o valor em milissegundos na propriedade customizada bindTimeout para controlar o tempo limite de ligação.
Use o comando
setIdMgrCustomProperty para definir estas propriedades no repositório LDAP federado.
$AdminTask setIdMgrCustomProperty {-id <LDAP_repos_ID> -name minimizeContextPoolThreadBlock -value true}
$AdminTask setIdMgrCustomProperty {-id <LDAP_repos_ID> -name maxThreadsToBlock -value 5}
$AdminTask setIdMgrCustomProperty {-id <LDAP_repos_ID> -name bindTimeout -value <millseconds>}
em que
LDAP_repos_ID é o ID do repositório do LDAP configurado no gerenciador de membro virtual e
millseconds é o controle da contagem de ligações
quick. As ligações que levam mais do que o tempo especificado são incluídas no log se o log de rastreio estiver ativado.
É possível salvar a configuração usando o comando a seguir
após o comando anterior ser concluído:
$AdminConfig save