PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Perché una query scade quando rientra nel limite di timeout?

È un bug in Npgsql. L'ho appena verificato. È stato risolto il 10/2016 , ma da allora non c'è stata una versione stabile. Allo stato attuale, per aggirare il problema dovrai creare dalle fonti attuali.

È causato da una combinazione del fatto che Socket.Poll() accetta un argomento di microsecondi Int32 e da quello che sembra essere un bug in Socket.Poll() stesso.

Innanzitutto, 2 ore vengono convertite in -1.389.934.592 microsecondi (7200 secondi * 1.000.000), il cui valore assoluto è di circa 48 minuti.

In secondo luogo, il Documentazione Socket.Poll() afferma:

Invece, sembra convertire al valore assoluto, circa 48 minuti, quindi c'è il tuo timeout dispari ma prevedibile.