Skip to content

Commit 7c5da2e

Browse files
committed
Merge branch '660-activity-timeout' into 'master'
fix: add timeout to psql activity command and close connection (#660) Closes #660 See merge request postgres-ai/database-lab!1062
2 parents 1d9cb96 + 8ca134c commit 7c5da2e

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

engine/internal/retrieval/engine/postgres/logical/activity.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ func dbSourceActivity(ctx context.Context, dbCfg Connection) ([]activity.PGEvent
4343
return nil, fmt.Errorf("failed to connect to DB: %w", err)
4444
}
4545

46+
defer func() { _ = querier.Close(context.Background()) }()
47+
4648
rows, err := querier.Query(ctx, statQuery)
4749
if err != nil {
4850
return nil, fmt.Errorf("failed to perform query to get DB activity: %w", err)
@@ -77,7 +79,10 @@ func pgContainerActivity(ctx context.Context, docker *client.Client, containerID
7779
return []activity.PGEvent{}, nil
7880
}
7981

80-
activityCmd := []string{"psql", "-U", db.User(), "-d", db.Name(), "--record-separator='" + customRecordSeparator + "'", "-XAtc", statQuery}
82+
activityCmd := []string{"psql", "-U", db.User(), "-d", db.Name(),
83+
"--set=connect_timeout=5",
84+
"-c", "SET statement_timeout = '10s';",
85+
"--record-separator='" + customRecordSeparator + "'", "-XAtc", statQuery}
8186

8287
log.Msg("Running activity command: ", activityCmd)
8388

engine/internal/retrieval/engine/postgres/tools/tools.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -637,6 +637,10 @@ func processAttachResponse(ctx context.Context, reader io.Reader) ([]byte, error
637637
break
638638

639639
case <-ctx.Done():
640+
if closer, ok := reader.(io.Closer); ok {
641+
_ = closer.Close()
642+
}
643+
640644
return nil, ctx.Err()
641645
}
642646

0 commit comments

Comments
 (0)