-
-
Notifications
You must be signed in to change notification settings - Fork 203
Description
`ctx := context.Background()
ctx, cancel := context.WithTimeout(ctx, 1*time.Minute)
defer cancel()
var resultMsg go_ora.Clob
_, err = s.db.ExecContext(ctx, buildedQuery, go_ora.Out{
Dest: &resultMsg,
})
log.Println("Result: ", resultMsg) // Result: {[] false}
log.Println("Error executing query: ", err) //Error executing query: EOF`
I’m occasionally getting an EOF error when executing a PL/SQL block that returns an OUT CLOB parameter.
In most cases it works perfectly, but sometimes (roughly once every few days under load) it fails immediately — within a second.
It’s hard to debug because there’s no additional context or stack trace — just EOF.
I’m not sure whether the issue comes from go-ora or from Oracle itself.
If I immediately repeat the same query, it succeeds without any issue.
Connection configuration
oracle.SetMaxOpenConns(40) oracle.SetConnMaxLifetime(10 * time.Minute) oracle.SetConnMaxIdleTime(40 * time.Second) oracle.SetMaxIdleConns(2)
github.com/sijms/go-ora/v2 v2.8.24 go 1.23.0
Could this intermittent EOF be related to connection lifetime/idle settings, or is it a potential race/edge case in CLOB streaming inside go-ora?