Fixpack 8.5.5.2 or later

Assegure-se de que nenhum encadeamento esteja bloqueado durante a recriação do conjunto de contextos

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


Termos de uso | Feedback