johnnylcon:
Bom Dia Galera,
Estou com o seguinte problema, estou fazendo um select for update em uma linha da minha tabela, com isso essa somente essa linha deveria ficar “lockada”.
Porém quando tento alterar algum registro de Outra linha na mesma tabela, tenho o problema de deadlock, dá a impressão que o lock está contecendo na tabela toda e não somente na linha.
Alguem sabe o que pode ser isso???
Valew
Isso que você citou aparentemente não é deadlock, o “abraço mortal”, “bloqueio mortal”, onde recurso A chama um recurso de B e aguarda, que por usa vez chama o recurso de A e aguarda também, ou seja, A ficará eternamente esperando B terminar, e B ficará eternamente esperando A terminar, isso é deadlock.
Quando ao seu problema não deve ser deadlock, se for, o problema está no “código” e não com o banco. Você está com problema pra acessar simultaneamente, ou é após ter bloqueado uma linha, feito o processamento, liberados os recursos e ainda sim continua bloqueado numa segunda requisição não simultânea?
Você está usando qual tipo de lock? otimista? Está usando Hibernate?
Dê mais detalhes para que possamos auxiliar.
[]'s Hewerton Crisóstomo