Fixpack 8.5.5.2 or later

Vérifiez que toutes les unités d'exécution ne sont pas bloquées pendant la recréation du pool de contextes

Utilisez ces informations pour vérifier que toutes les unités d'exécution qui tentent de communiquer avec le serveur LDAP ne sont pas bloquées lorsque le serveur est en panne, jusqu'au dépassement du délai d'attente de la lecture.

Problème

Si un serveur LDAP est en panne, une exception est émise lorsqu'une nouvelle unité d'exécution tente une opération de lecture à partir du serveur. Virtual Member Manager tente alors de recréer le pool de contextes LDAP. Pendant la recréation du pool de contextes, toutes les unités d'exécution entrantes sont bloquées. Si la connexion ne peut pas être établie dans un délai de 120 secondes, une exception est émise et les unités d'exécution peuvent terminer leur traitement. Toutefois, toutes les unités d'exécution comportant une demande sont bloquées pendant 120 secondes jusqu'à émission de l'exception.

Solution

Pour éviter le blocage de toutes les unités d'exécution pendant la recréation du pool de contextes, vous pouvez configurer les trois propriétés personnalisées suivantes afin de réduire le nombre d'unités d'exécution ou le nombre exact d'unités d'exécution à bloquer :
  • minimizeContextPoolThreadBlock
    La propriété personnalisée minimizeContextPoolThreadBlock permet de définir le comportement de verrouillage de l'unité d'exécution lorsqu'un serveur LDAP est en panne et qu'une tentative de lecture lui est envoyée. Lorsque la valeur de la propriété est true, seul un nombre minimum d'unités d'exécution est bloqué lors de l'opération de lecture et les unités d'exécution restantes échouent immédiatement sans attente. Si la propriété est définie sur false, chaque unité d'exécution qui émet les demandes de lecture est bloquée jusqu'à ce qu'un contexte soit créé pour le LDAP demandé ou que la création du contexte rencontre un dépassement de délai. Le délai par défaut de la création du contexte est de 120 secondes.
    Informations Valeur
    Type de données Boolean
    Par défaut Vrai
  • maxThreadsToBlock
    La propriété maxThreadsToBlock est utilisée avec la propriété minimizeContextPoolThreadBlock. Lorsque la propriété minimizeContextPoolThreadBlock est définie sur true, maxThreadsToBlock détermine le nombre maximum d'unités d'exécution qui doit être bloqué lorsqu'une opération de lecture LDAP est exécutée.
    Informations Valeur
    Type de données Nombre entier
    Par défaut 5
  • bindTimeout
    La propriété personnalisée bindTimeout indique le délai nécessaire pour suivre le nombre de liaisons quick en millisecondes. Toutes les liaisons dont la durée est supérieure à celle définie sont ajoutées au journal si le journal de trace est activé.
    Informations Valeur
    Type de données Millisecondes
    Par défaut 1000

Vous pouvez définir la valeur en millisecondes dans la propriété personnalisée bindTimeout pour tracer le dépassement du délai d'attente de la liaison.

Utilisez la commande setIdMgrCustomProperty afin de définir ces propriétés dans le référentiel fédéré LDAP.
$AdminTask setIdMgrCustomProperty {-id <ID_référentiel_LDAP> -name minimizeContextPoolThreadBlock -value true}

$AdminTask setIdMgrCustomProperty {-id <ID_référentiel_LDAP> -name maxThreadsToBlock -value 5}

$AdminTask setIdMgrCustomProperty {-id <ID_référentiel_LDAP> -name bindTimeout -value <millisecondes>}
ID_référentiel_LDAP est l'ID de référentiel du LDAP configuré dans Virtual Member Manager, et millisecondes permet de suivre le nombre de liaisons quick. Les liaisons dont la durée est supérieure à celle définie sont ajoutées au journal si le journal de trace est activé.
Vous pouvez enregistrer la configuration à l'aide de la commande suivante une fois que la commande précédente est terminée :
$AdminConfig save


Conditions d'utilisation | Commentaires