Eseguire una query con 'db.Query()' riserva una connessione esclusiva dal pool di connessioni; se 'defer rows.Close()' viene omesso, la connessione non viene mai restituita al pool fino a saturare il limite massimo 'SetMaxOpenConns'.
SQL_ROWS_CLOSE_LEAK
→
La funzione 'db.QueryRow().Scan()' restituisce l'errore sentinella 'sql.ErrNoRows' quando la query SELECT non trova alcun record corrispondente; deve essere gestito verificando 'if errors.Is(err, sql.ErrNoRows)' prima di trattarlo come errore fatale.
SQL_NO_ROWS
→
La chiamata di procedura remota gRPC ha superato il timeout configurato nel context ('context.WithTimeout') prima che il server gRPC potesse inviare la risposta o completare lo stream.
GRPC_DEADLINE_EXCEEDED
→
Il client gRPC non riesce a stabilire la connessione con il server remoto specificato a causa di porta errata, servizio non in esecuzione o certificati TLS mancanti nell'opzione 'grpc.WithTransportCredentials'.
GRPC_UNAVAILABLE
→
L'aggiornamento della connessione HTTP a WebSocket o TCP grezzo tramite '(w.(http.Hijacker)).Hijack()' fallisce se 'w' è stato incapsulato da un middleware che non delega l'interfaccia Hijacker.
HTTP_HIJACK_NOT_SUPPORTED
→
Non è un vero e proprio errore fatale ma il valore canonico restituito da 'server.ListenAndServe()' o 'server.Serve()' quando viene avviata la procedura di spegnimento controllato con 'server.Shutdown()'.
HTTP_SERVER_CLOSED
→
L'errore compare quando una funzione come 'io.ReadFull' o un decoder non riesce a leggere il numero minimo di byte attesi dallo stream prima che la connessione o il file si chiuda.
IO_EOF_UNEXPECTED
→