Estamos teniendo la clásica pila spring/hibernate/mysql ejecutándose en Tomcat 5.5. De vez en cuando nos encontramos con un punto muerto cuando el intento agota el tiempo para bloquear una fila de la mesa. Se produce algún tipo de excepción de interbloqueo.¿Cómo encontrar AMBOS hilos de un punto muerto?
La excepción es clara y el seguimiento de la pila indica qué salió mal. Pero no muestra el otro hilo que sostiene el bloqueo real. A menos que sepa lo que está haciendo ese hilo, todo es solo una aguja en un pajar.
PREGUNTA: ¿Hay alguna manera de encontrar el otro hilo?
Gracias!
Ene
¿Dónde está la excepción viene de - MySQL? ¿Puedes publicar una stacktrace? –
¿Cómo sabes que es solo otro hilo más? Podría haber una larga cadena de hilos involucrados en un punto muerto. –
No sé la cantidad de hilos involucrados, por supuesto. Pero la aplicación es un caso típico de "una solicitud = un hilo". No hacemos nada con el enhebrado. Y dado que los bloqueos son exclusivos, solo puede haber un hilo en ese momento. –