Stiamo eseguendo NServiceBus per un'applicazione Web per gestire le situazioni in cui l'utente esegue azioni "batch like". Come sparare un comando che colpisce 1000 entità ..I deadlock durante l'esecuzione del servizio NServicebus causano una connessione corrotta
Funziona bene, ma durante il carico moderato otteniamo alcuni deadlock, questo non è un problema, basta riprovare il messaggio .. giusto? :)
Il problema si verifica quando arriva il messaggio successivo e tenta di aprire una connessione. La connessione è quindi "corrotta".
otteniamo il seguente errore: System.Data.SqlClient.SqlException (0x80131904): Nuova richiesta non è consentito avviare perché dovrebbe venire con descrittore di transazione valido
Ho cercato nel web e penso il nostro problema è segnalato NH "bug":
Una soluzione alternativa dovrebbe essere quella di disabilitare il pool di connessioni. Ma non mi piace, dal momento che la performance peggiorerà ..
Stiamo eseguendo NServiceBus 2.6, NHibernate 3.3.
Qualcuno ha qualche esperienza con questo? Può un aggiornamento di NServiceBus aiutare?
Sembra molto simile a un problema che stiamo riscontrando. Non l'abbiamo ancora risolto, e al momento stiamo zoppicando insieme al raggruppamento. Qual è la tua configurazione riguardo MSDTC? –
Abbiamo 2 caselle Web (carico hardware bilanciato, ip-sticky) e un cluster di server SQL di failover con MS DTC Server. –
Ora abbiamo disattivato il pool di connessioni e il problema non si verifica più. –