Fixpack 8.5.5.2 or later

Asegurarse de que ninguna hebra está bloqueada durante la recreación de la agrupación de contexto

Utilice esta información para asegurarse de que no se bloquee ninguna hebra que intente comunicarse con el servidor LDAP cuando el servidor esté inactivo hasta que la lectura exceda el tiempo de espera.

Problema

Si un servidor LDAP está inactivo, se genera una excepción cuando una nueva hebra intenta realizar una lectura en el servidor. A continuación, el virtual member manager intenta volver a crear la agrupación de contexto LDAP. Durante la recreación de la agrupación de contexto LDAP, todas las hebras entrantes se bloquean. Si la conexión no puede establecerse en 120 segundos, se genera una excepción y las hebras pueden completar su proceso. No obstante, todas las hebras solicitantes se bloquean durante 120 segundos hasta que se genere la excepción.

Solución

Para asegurarse de que no se bloquee ninguna hebra durante la recreación de la agrupación de contexto, puede configurar las siguientes tres propiedades personalizadas para minimizar el número de hebras o el número exacto de hebras que se van a bloquear:
  • minimizeContextPoolThreadBlock
    La propiedad personalizada minimizeContextPoolThreadBlock se utiliza para definir el comportamiento de bloqueo de hebras cuando un servidor LDAP está inactivo y se intenta realizar una lectura en el servidor. Cuando el valor de la propiedad se establece en true, sólo se bloquea un número mínimo de hebras en la operación de lectura y el resto de hebras fallan inmediatamente sin esperar. Si la propiedad se establece en false, cada hebra que realiza solicitudes de lectura se bloquea hasta que se cree un contexto en el LDAP solicitado o la creación de contexto encuentre un tiempo de espera. El tiempo predeterminado para la creación del contexto es de 120 segundos.
    Información Valor
    Tipo de datos Boolean
    Valor predeterminado True
  • maxThreadsToBlock
    La propiedad maxThreadsToBlock se utiliza junto con la propiedad minimizeContextPoolThreadBlock. Cuando la propiedad minimizeContextPoolThreadBlock se establece en true, maxThreadsToBlock determina el número máximo de hebras que deben bloquearse cuando se ejecuta una operación de lectura LDAP.
    Información Valor
    Tipo de datos Integer
    Valor predeterminado 5
  • bindTimeout
    La propiedad personalizada bindTimeout especifica el tiempo que se tarda en realizar un seguimiento del recuento de enlaces rápidos en milisegundos. Los enlaces que tarden más del tiempo especificado se añaden al registro si el registro de rastreo está habilitado.
    Información Valor
    Tipo de datos Milisegundos
    Valor predeterminado 1000

Puede definir el valor en milisegundos en la propiedad personalizada bindTimeout para rastrear el tiempo de espera del enlace.

Utilice el mandato setIdMgrCustomProperty para definir estas propiedades en el repositorio LDAP federado.
$AdminTask setIdMgrCustomProperty {-id <ID_repos_LDAP> -name minimizeContextPoolThreadBlock -value true}

$AdminTask setIdMgrCustomProperty {-id <ID_repos_LDAP> -name maxThreadsToBlock -value 5}

$AdminTask setIdMgrCustomProperty {-id <ID_repos_LDAP> -name bindTimeout -value <milisegundos>}
donde ID_repos_LDAP es el ID de repositorio del LDAP configurado en el virtual member manager y milisegundos es el tiempo para realizar un seguimiento el recuento de enlaces rápidos. Los enlaces que tarden más del tiempo especificado se añaden al registro si el registro de rastreo está habilitado.
Puede guardar la configuración utilizando el siguiente mandato una vez completado el mandato anterior:
$AdminConfig save


Condiciones de uso | Comentarios