У меня есть база данных Cockroach на Kubernetes (AWS) и код Python для загрузки некоторых данных, основанных на psycopg2.Но когда я пытаюсь выполнить сложный запрос для 100К строк данных, получая разрыв соединения после некоторого ожидания со следующей ошибкой:
psycopg2.DatabaseError: server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
Единственные подозрительные записи в журналах Таракана - это предупреждение:
vendor/google.golang.org/grpc/server.go:666 grpc: Server.Serve failed to create ServerTransport: connection error: desc = "transport: http2Server.HandleStreams failed to receive the preface from client: EOF"
Изначально я думал, что проблема связана с объектом psycopg2.connection
, и добавил keepalives_
параметры к вызову connect()
.И даже встроил некоторую пользовательскую функцию соединения, которая запускает простой запрос SQL, чтобы проверить, открыто ли соединение.Но кажется, что сам сервер ломает его, поскольку исключение возникает во время работы cursor.execute(sql_query)
.
Есть мысли, почему такое может произойти?