PowerScale: OneFS pierde bloqueos de NFSv4 en el reinicio del nodo
Summary: Es posible que los clientes NFSv4 pierdan bloqueos o no puedan liberar los bloqueos correctamente después de reiniciar el nodo.
Symptoms
Este problema está presente en todas las versiones de OneFS antes de corregir el desarrollo.
Puede afectar cualquier aplicación que utilice NFSv4 y operaciones de bloqueo.
Este problema se observó con mayor frecuencia con aplicaciones de "cola de mensajes", como ActiveMQ o OpenMQ, ya que utilizan en gran medida los mecanismos de bloqueo de NFSv4.
Para aplicaciones mq; a menudo se manifiesta como un servidor MQ secundario que asume el control del servidor primario cuando no debería hacerlo.
Esto provoca interrupciones o incoherencias de datos que requieren intervención manual en el lado de la aplicación para resolver el problema.
Cuando se observa en las capturas de paquetes, el cliente bloquea un archivo correctamente mientras un segundo cliente intenta acceder a él.
Cuando el nodo al que se conecta el cliente de bloqueo se reinicia, al segundo cliente se le otorga el bloqueo.
El primer cliente recibe un error cuando su bloqueo termina, ya que ya no tiene el bloqueo.
El problema se puede reproducir de la siguiente manera:
- En el primer cliente, monte una exportación mediante NFSv4.0.
- En el segundo cliente, monte la misma exportación mediante NFSv4.0.
- En el primer cliente, bloquee un archivo durante 5 minutos.
- En el segundo cliente, inicie un bucle que intente bloquear el mismo archivo.
- Reinicie el nodo de OneFS al que está conectado el primer cliente.
- Si el problema está presente, al segundo cliente se le otorga un bloqueo antes de que finalice el primer bloqueo del cliente.
Cause
Se produjo un error en nuestra lógica para transferir conexiones NFSv4 a otros nodos que provocó que los bloqueos se liberaran durante el reinicio del nodo.
Resolution
Arreglar:
Actualice o aplique parches a una de las siguientes versiones de OneFS.
- 9.1.0.19+
- 9.2.1.12+
- 9.4.0.3+
- 9.5.0.0+
Solución:
No hay soluciones alternativas para este problema.