Que solución propones al hecho que 2 thread levantan un registro y un thread lo borra y otro lo intenta modificar ? (me refiero a una solución que no implique lock pesimista ya que supongo que no es lo que estas usando)
El día 22 de julio de 2008 13:01, Picatoste <[EMAIL PROTECTED]> escribió: > > Buenas! > Estoy haciendo una serie de pruebas para comprobar la integridad > referencial que tiene SQLServer con NH. > Hice pruebas con ausencia de integridad referencial, tanto de NH como > de SQLServer, y fueron más o menos positivas, eran pruebas donde solo > se atacaba una tabla de la base de datos. > El problema lo tengo cuando montó una serie de tablas (3 > concretamente) que dependen unas de las otras. > > Cuando hago las pruebas de stress sin concurrencia no tengo ningún > problema, va la mar de bien.... > > Pero cuando los usuarios son concurrentes, y cuanto más usuarios > pongo, con más frecuencia me salta la siguiente excepción de NH: > > Batch update returned unexpected row count from update; actual row > count: 0; expected: 1 > > El problema es que a veces (la mayoria), tras esta excepción cae la > base de datos siendo irrecuperable información de algunas tablas. > > He leído por foros, que esta excepción la lanza NH cuando intenta > actualizar/borrar un registro que no existe. Supongo que como atacan > varios usuarios a la vez, de vez en cuando se colarán dos usuarios a > la vez para borrar/actualizar un registro, y cuando uno de ellos lo > borra el otro se quedá con las ganas de tratar este registro. Pero se > supone que al realizar transacciones con NH esto queda controlado? > > He comprobado la integridad de las dependencias entre las tablas y > creo que es correcta. > > Alguna ayudita? > > Saluditos! > > > > > > -- Fabio Maulo --~--~---------~--~----~------------~-------~--~----~ Para escribir al Grupo, hágalo a esta dirección: NHibernate-Hispano@googlegroups.com Para más, visite: http://groups.google.com/group/NHibernate-Hispano -~----------~----~----~----~------~----~------~--~---