Situação:
Lentidão no S-Works por parte da
Operação.
A lentidão do sistema, pode estar
relacionada a um problema de deadlock em banco de dados, ocasionada devido a
realização da operação de Reivindicar uma aprovação manual no sistema.
Analise os indicadores das telas de diagnóstico e note que a
lentidão não se aplica para o processamento da fila ou para a distribuição de
atividades manuais.
No log, ao reivindicar uma tarefa a partir da caixa de
entrada, o sistema apresenta um erro ao tentar atualizar o grid de itens da
página da caixa de entrada. Este erro está sendo encoberto do browser do usuário,
levando a crer que a operação ainda não foi concluída.
O erro neste cenário é de deadlock, relacionados à reivindicação.
As opções de banco de dados em alguns casos não possuem dois
recursos fundamentais para a redução de deadlocks para sistemas com as características
do S-Works, sendo as flags Allow Snapshot Isolation e Is Read Commited Snapshot
On.
Ative estes dois itens e a partir daí as transações do tipo
ReadCommited (isolamento padrão) utilizarão um esquema de versionamento de
linhas, gerando uma quantidade menor de locks no banco de dados, e
consequentemente, menos deadlocks.
Com a ativação da configuração acima pode-se evitar o erro
no momento da reivindicação de tarefas.