Symptômes
Dans un environnement CRX en cluster TarPM, une exception est générée lors du démarrage de noeuds de cluster CRX supplémentaires :
WARN com.day.crx.persistence.tar.ReplicatingTarSet.open - Impossible d’acquérir le verrouillage sur /repository/shared/version/control javax.jcr.RepositoryException : le référentiel home /repository/shared/version/control semble être en cours d’utilisation puisque le fichier nommé .lock est verrouillé par un autre processus.
Cause
Cette exception est émise en raison d’un problème de verrouillage dont la cause racine peut être l’une des suivantes :
- Une instance CRX contenant le verrou sur un dossier partagé (version, espace de travail, journal ou référentiel) a été arrêtée anormalement, laissant derrière des fichiers obsolètes
.lock
. - Un nœud de cluster CRX maintient actuellement le verrou sur un dossier partagé mais d'autres instances de cluster CRX ne peuvent pas se connecter au nœud de cluster CRX principal
La première situation est généralement non-problématique, le fichier obsolète .lock
est supprimé et remplacé. Toutefois, lorsque vous utilisez une version antérieure d’NFS, le système de fichiers risque de ne pas publier le verrouillage de fichier sur ce fichier après un plantage.
Le second est un problème lorsque la communication entre un nœud de grappe CRX esclave et maître est nécessaire pour garantir une synchronisation correcte de l’accès en écriture au référentiel. Si un nœud de grappe esclave n’est pas en mesure de se connecter au nœud de la grappe principale via le réseau, il suppose qu’il n’est pas en cours d’exécution et passe au rôle principal.
Résolution
Lors de l’utilisation d’une version antérieure de NFS, assurez-vous que tous les processus sont arrêtés et supprimez manuellement tous les fichiers .lock. Si le problème n'est pas résolu, vérifiez le paramètre d'adresse
du fichier listener.properties
dans le dossier partagé qui est à l'origine de ce problème.
Exemple :
address=192.168.1.22\:58128
Ce fichier est lu par tous les nœuds de grappe CRX (esclaves). L’adresse IP doit par conséquent être accessible par tous les esclaves ; dans le cas contraire, l’exception se produit.
Par défaut, CRX utilise toute l'interface réseau disponible et le port disponible. Il est également possible d’affecter une adresse IP et une plage de ports à utiliser. Ces paramètres doivent être définis au niveau de TarPersistenceManager dans repository.xml
et workspace.xml
:
<PersistenceManager class="com.day.crx.persistence.tar.TarPersistenceManager"> ... <param name="bindAddress" value="192.168.1.10" /> <param name="portList" value="9100-9110" /> </PersistenceManager>
Application
CRX1.4.x (en cluster).
Adobe
Recevez de l’aide plus rapidement et plus facilement
Nouvel utilisateur ?