Puede ser que un proceso del sistema se este ejecutando sobre una tabla que tiene muchos registros y esto cause una demora en la terminación del proceso (probablemente por eso antes no pasaba), está demora puede estar excediendo el tiempo de espera para los bloqueos en mysql, pues las bd de mysql definidas como innodb (validando integridad) son un poco lentas a la hora de responder a procesos.
Intenta aunmentando un poco el tiempo de espera a ver como se comporta:
En MySQL ejecuta esta sentencia para que veas el valor actual de espera:
show variables like 'innodb_lock_wait_timeout';
Esto te debería dar un resultado como:
+--------------------------+-------------------------+
| Variable_name | Value |
+--------------------------+-------------------------+
| innodb_lock_wait_timeout | 100 |
+--------------------------+-------------------------+
Donde puedes ver el tiempo actual, y puedes editarlo usando la siguiente sentencia, para subirlo un poco a ver que puedes observar como resultado.
set innodb_lock_wait_timeout=150
O como te dijeron puedes ejecutar: SHOW FULL PROCESSLIST para que puedas ver los procesos que se están ejecutando y cuales faltan por commit.
Espero poder servir de ayuda.
Por favor confirmar la entrega de este mensaje!
Cordialmente.
_______________________________
Hugo Armando Cadena Mantilla
Ingeniero de Sistemas
Outsourcing Services
Bucaramanga - Colombia
318 338 1974
2013/3/18 Pablo Moleri <pablo@cybernet.com.uy>
Patricia,
En las aplicaciones Win es muy fácil que te pueda quedar una actualización de datos sin confirmar y deje la base bloqueada.
Por ejemplo, en algún workpanel llamás a un procedimiento que actualiza la base de datos pero no hace commit, luego cualquier usuario que intente actualizar el registro bloqueado se queda colgado.
Si le pedís a todos los usuarios que cierren el sistema, eventualmente va a haber uno que libera las tablas bloquedas y el resto va a poder seguir usando el sistema.
Si fue un cambio reciente, podés ir a ver directo el programa, sino tenés que estudiarlo en el ambiente de producción.
Lo que tenés que hacer es, en el momento que ocurre el bloqueo, consultar las tablas bloqueadas en el MySQL y eso te va a dar una pista de a cual programa le está faltando el commit.
Saludos,
Pablo Moleri
From: "Patricia León Q." <sandylpq@hotmail.com>
To: "Comunidad Genexus Java" <java-l@gxtech.com.uy>
Sent: Viernes, 15 de Marzo 2013 10:06:38
Subject: RE: [java-l] Error de bloqueo
Gracias Margarita por la respuesta ojala esto me ayude porque de verdad ya estoy deseesperado no se que hacer porq pasa esto si no pasaba antes.Ing. Patricia León
Desarrollo ERP
Date: Thu, 14 Mar 2013 17:39:04 -0500
From: mherrera@kywi.com.ec
To: java-l@gxtech.com.uy
Subject: Re: [java-l] Error de bloqueo
Parece un error de mysql
observa los procesos con Processlist y ver que proceso se está demorando mucho
espero te sirva
El 14/03/2013 17:19, Patricia León Q. escribió:
Estimados foristas,
Tengo un problema super grave. Y espero ha alguien le haya pasado o me de algun consejo como resolverlo porque la verdad ya no se que hacer.
Les comento mi problema tengo una aplicación en produccion que trabaja con genexus evo 1 bdd mysql y genexus esta en upgrade6.
Estaba trabajando normalmente sin inconvenientes pero desde la semana pasada empieza a quedarse la aplicacion y la unica forma de que vuelvan a transaccionar los usuarios es reiniciando el servidor.
Me da este error cuando trato de entrar a alguna transaccion o reporte.
========== Execution started ==========
"C:\Program Files\Java\jdk1.6.0_13\bin\java.exe" uwsesion1
Exception in thread "main" org.eclipse.swt.SWTException: Failed to execute runnable (com.genexus.GXRuntimeException: java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1072)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3563)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3495)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1959)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2113)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2693)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2102)
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2261)
at com.genexus.db.driver.GXDBMSmysql.executeQuery(Unknown Source)
at com.genexus.db.driver.GXPreparedStatement.executeQuery(Unknown Source)
at com.genexus.db.ForEachCursor.postExecute(Unknown Source)
at com.genexus.db.DataStoreProvider.execute(Unknown Source)
at com.genexus.db.DataStoreProvider.execute(Unknown Source)
at restctacob.privateExecute(restctacob.java:80)
at restctacob.execute_int(restctacob.java:50)
at restctacob.execute(restctacob.java:40)
at westctacob.e15VD52(westctacob.java:227)
at westctacob.actionEventDispatch(westctacob.java:371)
at com.genexus.ui.GXWorkpanel$runEvent.run(Unknown Source)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:106)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:2750)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2435)
at com.genexus.uifactory.swt.SWTUIFactory.loopEvents(Unknown Source)
at com.genexus.uifactory.UIFactory.loopEvents(Unknown Source)
at com.genexus.ui.GXWorkpanel.run(Unknown Source)
at com.genexus.ui.GXWorkpanel.start(Unknown Source)
at westctacob.execute_int(westctacob.java:154)
at westctacob.execute(westctacob.java:147)
at wmenuban.e46V1M2(wmenuban.java:802)
at wmenuban.menuActionPerformed(wmenuban.java:1134)
at com.genexus.ui.GXWorkpanel.menuEventDispatch(Unknown Source)
at com.genexus.ui.GXMenuBar$runEvent.run(Unknown Source)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:106)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:2750)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2435)
at com.genexus.uifactory.swt.SWTUIFactory.loopEvents(Unknown Source)
at com.genexus.uifactory.UIFactory.loopEvents(Unknown Source)
at com.genexus.ui.GXWorkpanel.run(Unknown Source)
at com.genexus.ui.GXWorkpanel.start(Unknown Source)
at wmenuban.execute_int(wmenuban.java:158)
at wmenuban.execute(wmenuban.java:148)
at wmenuprin.e19V1A2(wmenuprin.java:386)
at wmenuprin.menuActionPerformed(wmenuprin.java:574)
at com.genexus.ui.GXWorkpanel.menuEventDispatch(Unknown Source)
at com.genexus.ui.GXMenuBar$runEvent.run(Unknown Source)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:106)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:2750)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2435)
at com.genexus.uifactory.swt.SWTUIFactory.loopEvents(Unknown Source)
at com.genexus.uifactory.UIFactory.loopEvents(Unknown Source)
at com.genexus.ui.GXWorkpanel.run(Unknown Source)
at com.genexus.ui.GXWorkpanel.start(Unknown Source)
at wmenuprin.execute_int(wmenuprin.java:158)
at wmenuprin.execute(wmenuprin.java:148)
at uwsesion1.e14V192(uwsesion1.java:308)
at uwsesion1.actionEventDispatch(uwsesion1.java:455)
at com.genexus.ui.GXWorkpanel$runEvent.run(Unknown Source)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:106)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:2750)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2435)
at com.genexus.uifactory.swt.SWTUIFactory.loopEvents(Unknown Source)
at com.genexus.uifactory.UIFactory.loopEvents(Unknown Source)
at com.genexus.ui.GXWorkpanel.run(Unknown Source)
at com.genexus.ui.GXWorkpanel.start(Unknown Source)
at uwsesion1.execute_int(uwsesion1.java:195)
at uwsesion1.execute(uwsesion1.java:179)
at uwsesion1.executeCmdLine(uwsesion1.java:45)
at uwsesion1.main(uwsesion1.java:24)
)
at org.eclipse.swt.SWT.error(SWT.java:2691)
at org.eclipse.swt.SWT.error(SWT.java:2616)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:109)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:2750)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2435)
at com.genexus.uifactory.swt.SWTUIFactory.loopEvents(Unknown Source)
at com.genexus.uifactory.UIFactory.loopEvents(Unknown Source)
at com.genexus.ui.GXWorkpanel.run(Unknown Source)
at com.genexus.ui.GXWorkpanel.start(Unknown Source)
at westctacob.execute_int(westctacob.java:154)
at westctacob.execute(westctacob.java:147)
at wmenuban.e46V1M2(wmenuban.java:802)
at wmenuban.menuActionPerformed(wmenuban.java:1134)
at com.genexus.ui.GXWorkpanel.menuEventDispatch(Unknown Source)
at com.genexus.ui.GXMenuBar$runEvent.run(Unknown Source)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:106)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:2750)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2435)
at com.genexus.uifactory.swt.SWTUIFactory.loopEvents(Unknown Source)
at com.genexus.uifactory.UIFactory.loopEvents(Unknown Source)
at com.genexus.ui.GXWorkpanel.run(Unknown Source)
at com.genexus.ui.GXWorkpanel.start(Unknown Source)
at wmenuban.execute_int(wmenuban.java:158)
at wmenuban.execute(wmenuban.java:148)
at wmenuprin.e19V1A2(wmenuprin.java:386)
at wmenuprin.menuActionPerformed(wmenuprin.java:574)
at com.genexus.ui.GXWorkpanel.menuEventDispatch(Unknown Source)
at com.genexus.ui.GXMenuBar$runEvent.run(Unknown Source)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:106)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:2750)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2435)
at com.genexus.uifactory.swt.SWTUIFactory.loopEvents(Unknown Source)
at com.genexus.uifactory.UIFactory.loopEvents(Unknown Source)
at com.genexus.ui.GXWorkpanel.run(Unknown Source)
at com.genexus.ui.GXWorkpanel.start(Unknown Source)
at wmenuprin.execute_int(wmenuprin.java:158)
at wmenuprin.execute(wmenuprin.java:148)
at uwsesion1.e14V192(uwsesion1.java:308)
at uwsesion1.actionEventDispatch(uwsesion1.java:455)
at com.genexus.ui.GXWorkpanel$runEvent.run(Unknown Source)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:106)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:2750)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2435)
at com.genexus.uifactory.swt.SWTUIFactory.loopEvents(Unknown Source)
at com.genexus.uifactory.UIFactory.loopEvents(Unknown Source)
at com.genexus.ui.GXWorkpanel.run(Unknown Source)
at com.genexus.ui.GXWorkpanel.start(Unknown Source)
at uwsesion1.execute_int(uwsesion1.java:195)
at uwsesion1.execute(uwsesion1.java:179)
at uwsesion1.executeCmdLine(uwsesion1.java:45)
at uwsesion1.main(uwsesion1.java:24)
Execution Failed
Run WSesion1 Failed
Espero a alguien le haya pasado por q ya no sabemos q ue hacer hemos intentado de todo. Otra cosa es que teniamos la base en linux, le cambiamos a windows y nos da el mismo error.
saludos cordiales.
Ing. Patricia León
Desarrollo ERP
-- Ing. Margarita Herrera DEPARTAMENTO SISTEMAS Telf: 023987900 ext 2247
Has recibido este mensaje porque estás suscrito al grupo "GeneXus" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a genexus+unsubscribe@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
0 Response to "Re: [java-l] Error de bloqueo"
Publicar un comentario