GeneXus - Bloqueo prolongado

 
Vista:

Bloqueo prolongado

Publicado por José Luis (7 intervenciones) el 21/09/2007 02:33:23
Para un entorno C/S; tengo la sgte. transacción (2 niveles):

PrvId*
PrvDsc
(PrdCodId*
PrvPrdFecha
PrvPrdCodin
PrvPrdCodal)

En modo Insert cuando confirmo los datos de la cabecera, Genexus inicia un bloqueo exclusivo de la tabla de cabecera. Luego, cuando confirmo la primera línea del segundo nivel Genexus inicia un segundo bloqueo exclusivo de la tabla de detalle. En consecuencia tengo bloqueadas para escritura tanto la tabla de cabecera como la de detalle y ninguno otro usuario puede insertar en esas tablas. El problema está en el bloqueo prolongado, una situación fatal sería que un usuario confirme la cabecera y luego se fuera a tomar una tasa de café….ningun otro usuario podría editar la tabla de cabecera, hasta que nuestro primer usuario complete la transacción.
¿Qué alternativa tengo para maximizar la concurrencia de los usuarios? ¿No es posible iniciar el bloqueo transaccional cuando haya ingresado la instancia de la cabecera y todas las instancias del detalle?

Atte.

José Luis
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Patricio Ojeda V
Val: 73
Oro
Ha aumentado 1 puesto en GeneXus (en relación al último mes)
Gráfica de GeneXus

RE:Bloqueo prolongado

Publicado por Patricio Ojeda V (475 intervenciones) el 22/09/2007 13:31:22
Algunas preguntas:

1.- Con que version de Gx estas trabajando
2.- Con que Generador, DBMS y parche de Gx estas trabajando

Tu error es bastante raro, en realidad eso nunca por lo menos a mi me ha pasado... seria bueno que comentaras eso para poder entenderte y tratar de ayudarte mejor...

Patricio Ojeda V
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Bloqueo prolongado

Publicado por José Luis (7 intervenciones) el 22/09/2007 20:21:05
Utilizo lo siguiente:
Genexus DE v. 80 U8
Generador Visual Basic C/S con SQL Server

El problema esta en el momento que Genexus inicia el bloqueo transaccional. Me explico: Cuando tienes una transacción de 2 niveles, Genexus inicia el bloqueo transaccional inmediatamente después de haber confirmado las modificaciones del primer nivel y lo mantiene hasta que el usuario confirma la ultima instancia del 2do. nivel.
Un bloqueo transaccional de "Lecturas confirmadas" tiene ese comportamiento, eso esta bien, el problema es el momento en que Genexus lo inicia.
A mi criterio sería ideal que este bloqueo transaccional empieze cuando el usuario ha confirmado la ultima instancia del nivel inferior de la transacción.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar