오류 메시지

오류 메시지

클라이언트 연결 오류 메시지는 호스트와 Snowflake 엔드포인트 사이의 네트워크 경로(가능한 프록시, 보안 장비, 로드 밸런서, DNS 서버 등 포함)에 위치한 다양한 근본 원인을 알려 줄 수 있어요. 다음 클라이언트에 대한 일반적인 오류 메시지와 그 잠재적 원인 및 해결 방법을 확인할 수 있어요.

출처: Error messages

본문

JDBC 오류

JDBC 오류 1

오류

Cannot connect: connection refused:
Java::NetSnowflakeClientJdbc::SnowflakeSQLException: JDBC driver encountered communication error.
Message: Exception encountered for HTTP request: Connection reset.

근본 원인

이 오류는 연결을 시도하는 호스트와 Snowflake 엔드포인트 사이의 네트워크 경로(가능한 프록시, 보안 장비, 로드 밸런서 등 포함)에 위치한 다양한 근본 원인을 가져요.

해결 시나리오: SSL 연결 문제를 참고하세요.

JDBC 오류 2

오류

JDBC driver encountered communication error.
Message: Exception encountered for HTTP request: sun.security.validator.ValidatorException: No trusted certificate found.
OR javax.net.ssl.SSLHandshakeException: No trusted certificate found
OR 'SSL peer certificate or SSH remote key was not OK'

근본 원인

이 문제는 프록시나 보안 장비가 SSL 검사를 수행하기 때문에 발생할 가능성이 높아요. 드물게, 특히 오래된 Java 설치에서는 SSL 검사가 없음에도 클라우드 제공자가 중간 인증 기관 중 하나를 신뢰 저장소(truststore)에 아직 없는 다른(잘 알려진) 기관으로 변경했을 때 동일한 증상이 발생할 수도 있어요.

해결 시나리오: SSL 연결 문제를 참고하세요.

JDBC 오류 3

오류

JDBC driver encountered a communication error.
Message: Exception encountered for an HTTP request: Network is unreachable (Connect Failed)

근본 원인: SSL 연결 문제를 참고하세요.

해결 시나리오: SSL 연결 문제를 참고하세요.

JDBC 오류 4

오류

JDBC driver encountered communication error.
Message: Exception encountered for HTTP request: <SERVICE_ENDPOINT>: nodename nor servname provided, or not known.

근본 원인: DNS 구성 문제를 참고하세요.

해결 시나리오: DNS 구성 문제를 참고하세요.

JDBC 오류 5

오류

WARNING!!! Using fail-open to connect. Driver is connecting to an HTTPS endpoint without OCSP based Certificate Revocation checking as it could not obtain a valid OCSP Response to use from the CA OCSP responder. Details:
{"cacheEnabled":true,"ocspReqBase64":null,"ocspMode":"FAIL_OPEN","sfcPeerHost":"<SERVICE_ENDPOINT>","ocspResponderURL":null,"cacheHit":true,"eventType":"OCSPValidationError","certId":"<OBFUSCATED>"}

근본 원인: OCSP 및 포트 80 문제를 참고하세요.

해결 시나리오: OCSP 및 포트 80 문제를 참고하세요.

JDBC 오류 6

오류

JDBC driver internal error: Max retry reached for the download of #chunk0 (Total chunks:<x>) retry=<y>,
error=net.snowflake.client.jdbc.SnowflakeSQLException: JDBC driver encountered communication error.
Message: Error encountered when downloading a result chunk:

근본 원인: 대용량 쿼리 결과 집합 가져오기 실패를 참고하세요.

해결 시나리오: 대용량 쿼리 결과 집합 가져오기 실패를 참고하세요.

JDBC 오류 7

오류

JDBC driver encountered communication error.
Message: Exception encountered for HTTP request: Failed to find the root CA

근본 원인: SSL 연결 문제를 참고하세요.

해결 시나리오: SSL 연결 문제를 참고하세요.

JDBC 오류 8

오류

net.snowflake.client.jdbc.internal.apache.http.impl.execchain.RetryExec execute INFO:
I/O exception (java.net.SocketException) caught when processing request to {s}->https://[<SNOWFLAKE_DEPLOYMENT>|<SNOWFLAKE_DEPLOYMENT_REGIONLESS>|<CLIENT_FAILOVER>]:443:
Broken pipe (Write failed)

근본 원인

클라이언트 드라이버가 연결(파이프)을 통해 데이터를 보내려고 했는데, 해당 연결이 원격 쪽에서 이미 닫혀 있었지만 클라이언트 드라이버가 이를 인지하지 못한 상황이에요. 이 오류를 더 간단하게 보여 주는 시나리오는 클라이언트 드라이버와 Snowflake 사이에 프록시 또는 보안 장비에 유휴 시간 제한(idle timeout)이 구성되어 있고, 만료 시 양쪽 당사자에게 알리지 않고 연결을 종료하는 경우예요.

클라이언트 드라이버와 Snowflake 사이의 연결을 정확히 무엇이, 왜 끊는지에 대한 진정한 근본 원인을 해결하는 일은 복잡할 수 있으며, 그 세부 사항은 이 문서의 범위를 벗어나요.

해결 시나리오

JDBC 드라이버 내부에 TTL을 구성하면 원격 유휴 시간 제한으로 연결이 끊기기 전에 클라이언트 쪽에서 연결을 우아하게 닫을 수 있어 문제를 예방할 수 있어요. 이 설정은 JDBC 드라이버 버전 3.12.17부터 사용할 수 있으며, 3.13.30부터는 기본값(1분)이 이미 구성되어 있어요.

자세한 내용은 문제 해결을 참고하세요.

JDBC 오류 9

오류

JDBC driver encountered communication error.
Message: Exception encountered for HTTP request: Remote host terminated the handshake

근본 원인: SSL 연결 문제를 참고하세요.

해결 시나리오: SSL 연결 문제를 참고하세요.

JDBC 오류 10

오류

net.snowflake.client.jdbc.SnowflakeSQLLoggedException:
JDBC driver encountered IO error. Message: Encountered exception during upload: null.

근본 원인

업로드 작업 중에 클라이언트 드라이버가 Snowflake 계정과 연결된 클라우드 저장소에 접근하는 데 문제가 있어요. 이는 클라이언트 드라이버와 클라우드 저장소 사이의 네트워크 경로에 있는 프록시/보안 장비의 잘못된 구성 때문이에요.

해결 시나리오

트래픽 방향은 반대이지만 대용량 쿼리 결과 집합 가져오기 실패를 참고하세요.

JDBC 오류 11

오류

JDBC driver encountered communication error.
Message: Exception encountered for HTTP request: Certificate for [<SNOWFLAKE_DEPLOYMENT>|<SNOWFLAKE_DEPLOYMENT_REGIONLESS>|<CLIENT_FAILOVER>] doesn't match any of the subject alternative names:
[*.us-west-2.snowflakecomputing.com, *.us-west-2.aws.snowflakecomputing.com, *.global.snowflakecomputing.com, *.snowflakecomputing.com, *.prod1.us-west-2.aws.snowflakecomputing.com, *.prod2.us-west-2.aws.snowflakecomputing.com].

근본 원인

이 오류 메시지가 의미하는 바: 클라이언트 드라이버가 AWS US WEST(기본 클라우드 리전이기도 함)에 있는 Snowflake 계정(또는 클라우드 저장소)에 연결하려고 해요. 클라이언트 드라이버가 본 인증서가 요청의 호스트 이름과 일치하지 않아 연결이 성공하지 않아요.

가장 가능성 높은 원인은 다음과 같아요.

  • Snowflake 계정이 AWS US WEST에 없는 경우: 가장 일반적인 문제는 JDBC 드라이버 연결 문자열에서 계정 부분의 잘못된 구성이에요.
  • Snowflake 계정이 실제로 AWS US WEST에 있는 경우: SSL 검사를 수행하는 프록시/보안 장비일 가능성이 높아요.

해결 시나리오

첫 번째 원인의 경우 구성의 계정 필드에서 myorg-test, myorg-prod와 같은 regionless 표기법을 사용하세요. 또는 locator 표기법을 사용하려면, 클라이언트, 드라이버, 라이브러리 또는 타사 애플리케이션을 Snowflake에 연결하도록 구성 문서에 표시된 대로 올바른 표기법을 사용하세요. 예를 들어 AWS EU Frankfurt의 계정은 xy12345.eu-central-1이에요. 두 번째 원인의 경우 대용량 쿼리 결과 집합 가져오기 실패를 참고하세요.

JDBC 오류 12

오류

I/O exception (net.snowflake.client.jdbc.internal.apache.http.NoHttpResponseException) caught when processing request to {s}->https://[<SNOWFLAKE_DEPLOYMENT>|<SNOWFLAKE_DEPLOYMENT_REGIONLESS>|<CLIENT_FAILOVER>].snowflakecomputing.com:443:
The target server failed to respond

근본 원인

클라이언트 드라이버가 원격 엔드포인트에 보낸 요청에 대해 적시에 응답을 받지 못했어요.

가장 가능성 높은 원인은 다음과 같아요. 문제가 지속되면 실제 연결 문제일 가능성이 높아요. 문제가 간헐적이고, 특히 NoHttpResponseException이 요청을 보낸 후 아주 빨리(몇 밀리초 안에) 발생한다면, 이 오류는 클라이언트 드라이버와 서버 사이의 TCP 세션이 끊어졌는데 드라이버가 이를 알지 못한다는 뜻이에요. 후자의 경우 클라이언트와 서버 사이의 중간 프록시/로드 밸런서가 양쪽 당사자에게 알리지 않고 세션을 끊을 때 자주 발생해요.

해결 시나리오

  • 지속적인 오류이고 NoHttpResponseException이 요청 후 더 긴 대기 시간 뒤에 발생하는 경우, 문제 해결 단계를 따르세요.
  • 이 예외가 간헐적이고 클라이언트 드라이버가 요청을 보낸 직후 매우 빠르게 발생하는 경우, 버전 3.12.17과 3.13.30 사이에서는 유휴 연결이 닫히도록 net.snowflake.jdbc.ttl 구성 옵션을 사용해 중간 노드(예: loadbalancer)가 예기치 않게 연결을 끊는 것을 예방할 수 있어요. 자세한 내용은 문제 해결을 참고하세요.
  • JDBC 드라이버 버전 3.13.30부터는 이 구성 옵션이 여전히 있지만, 기본값이 1분 유휴 시간 제한(60초)으로 설정되어 있어 일반적으로 변경할 필요가 없어요.

두 시나리오 모두에서 JDBC 드라이버는 사용자 개입 없이 자체 재시도 전략에 따라 실패한 요청 전송을 자동으로 재시도해야 해요.

ODBC 오류

ODBC 오류 1

오류

'OLE DB or ODBC error: [DataSource.Error] ERROR [HY000] [Snowflake][Snowflake] (25) Result download worker error:
Worker error: [Snowflake][Snowflake] (4) REST request for URL <>.... :
CURLerror (curl_easy_perform() failed) - code=60 msg='SSL peer certificate or SSH remote key was not OK' osCode=9 osMsg='Bad file descriptor'. .'

근본 원인: SSL 연결 문제를 참고하세요.

해결 시나리오: SSL 연결 문제를 참고하세요.

ODBC 오류 2

오류

Error: nanodbc/nanodbc.cpp:1135: 01S00: [Snowflake][Snowflake] (4) REST request for URL *** failed: CURLerror (curl_easy_perform() failed) - code=60 msg='SSL peer certificate or SSH remote key was not OK'.

근본 원인: SSL 연결 문제를 참고하세요.

해결 시나리오: SSL 연결 문제를 참고하세요.

ODBC 오류 3

오류

'SSL peer certificate or SSH remote key was not OK'

근본 원인: SSL 연결 문제를 참고하세요.

해결 시나리오: SSL 연결 문제를 참고하세요.

ODBC 오류 4

오류

SSL certificate problem: self signed certificate in certificate chain. Please check for SSL interception proxy in your network.

근본 원인: SSL 연결 문제를 참고하세요.

해결 시나리오: SSL 연결 문제를 참고하세요.

ODBC 오류 5

오류

CURLerror (curl_easy_perform() failed) - code=35 msg='SSL connect error' osCode=10054 osMsg='Unknown error'.

근본 원인: SSL 연결 문제를 참고하세요.

해결 시나리오: SSL 연결 문제를 참고하세요.

ODBC 오류 6

오류

'Empty reply from server' (CURLerror (curl_easy_perform() failed) - code=52 msg='Server returned nothing (no header..)

근본 원인: SSL 연결 문제를 참고하세요.

해결 시나리오: SSL 연결 문제를 참고하세요.

ODBC 오류 7

오류

ERROR 5052 Simba::ODBC::Connection::SQLDriverConnectW: [Snowflake][Snowflake] (4) REST request for URL https://[<SNOWFLAKE_DEPLOYMENT>|<SNOWFLAKE_DEPLOYMENT_REGIONLESS>|<CLIENT_FAILOVER>]:443/session/v1/login-request?requestId=<OBFUSCATED>&request_guid=<OBFUSCATED>&databaseName=<OBFUSCATED>&schemaName=<OBFUSCATED>&warehouse=<OBFUSCATED> failed: CURLerror (curl_easy_perform() failed) - code=35 msg='SSL connect error'.

근본 원인: SSL 연결 문제를 참고하세요.

해결 시나리오: SSL 연결 문제를 참고하세요.

ODBC 오류 8

오류

ERROR 710 Simba::ODBC::Statement::SQLFetchScroll: [Snowflake][Snowflake] (25) Result download worker error:
Worker error: [Snowflake][Snowflake] (4) REST request for URL https://<STAGE>/<OBFUSCATED>/results/<OBFUSCATED>_0/main/data_0_0_1?x-amz-server-side-encryption-customer-algorithm=<OBFUSCATED>&response-content-encoding=gzip&AWSAccessKeyId=<OBFUSCATED>&Expires=<OBFUSCATED>&Signature=<OBFUSCATED> failed: CURLerror (curl_easy_perform() failed) - code=52 msg='Server returned nothing (no headers, no data)'.

근본 원인: SSL 연결 문제를 참고하세요.

해결 시나리오: SSL 연결 문제를 참고하세요.

ODBC 오류 9

오류

[Snowflake][Snowflake] (6) Assertion failure: error_in_response_json

근본 원인

이 오류로 이어질 수 있는 요인은 여러 가지가 있어요.

해결 시나리오

일반적인 연결 문제와 해결 방법을 시도하고 문제 해결 단계를 수행해 보세요.

ODBC 오류 10

오류

WARN 9594 sf::RestRequest::httpPerform: Got CURL(0000015547C0CC10) error: Failed to connect to <PROXY_HOST> port 80: Timed out when fetching data from https://[<SNOWFLAKE_DEPLOYMENT>|<SNOWFLAKE_DEPLOYMENT_REGIONLESS>|<CLIENT_FAILOVER>]:443/session/v1/login-request?requestId=<OBFUSCATED>&request_guid=<OBFUSCATED>. Status code: 11, curl error code: 28

근본 원인

요청 시간이 초과되어 클라이언트 드라이버가 주어진 사용자에 대한 로그인 작업을 수행할 수 없었어요(curl 오류 코드 28 = CURLE_OPERATION_TIMEDOUT). 이는 클라이언트 드라이버와 Snowflake 사이의 네트워크 경로에 있는 하나 이상의 장치(프록시/보안 장비)의 잘못된 구성 때문일 가능성이 높아요.

해결 시나리오

문제 해결 단계를 따르고, 시스템 관리자/네트워크 관리자와 협력하여 클라이언트 드라이버를 실행하는 호스트에서 모든 Snowflake 엔드포인트에 도달할 수 있도록 하세요.

ODBC 오류 11

오류

ERROR [HY000] [Microsoft][Snowflake] (4) REST request for URL https://[<SNOWFLAKE_DEPLOYMENT>|<SNOWFLAKE_DEPLOYMENT_REGIONLESS>|<CLIENT_FAILOVER>]:443/session/v1/login-request?requestId=<OBFUSCATED>&request_guid=<OBFUSCATED> failed: CURLerror (curl_easy_perform() failed) - code=6 msg='Couldn't resolve host name'.

근본 원인: DNS 구성 문제를 참고하세요.

해결 시나리오: DNS 구성 문제를 참고하세요.

ODBC 오류 12

오류

ERROR [HY000] [Snowflake][Snowflake] (4) REST request for URL https://[<SNOWFLAKE_DEPLOYMENT>|<SNOWFLAKE_DEPLOYMENT_REGIONLESS>|<CLIENT_FAILOVER>]:443/session/v1/login-request?requestId=<OBFUSCATED>&request_guid=<OBFUSCATED> failed: CURLerror (curl_easy_perform() failed) - code=5 msg='Couldn't resolve proxy name' osCode=9 osMsg='Bad file descriptor'.

근본 원인: DNS 구성 문제를 참고하세요.

해결 시나리오: DNS 구성 문제를 참고하세요.

ODBC 오류 13

오류

[Snowflake][Snowflake] (25) Result download worker error: Worker error: [Snowflake][Snowflake] (4) REST request for URL https://<STAGE>/results/<OBFUSCATED>_02Fmain2Fdata_0_0_8?sv=<OBFUSCATED>&spr=https&se=<OBFUSCATED>&sr=b&sp=r&sig=<OBFUSCATED>&rsce=gzip failed: CURLerror (curl_easy_perform() failed) - code=42 msg='Operation was aborted by an application callback'.

근본 원인: 대용량 쿼리 결과 집합 가져오기 실패를 참고하세요.

해결 시나리오: 대용량 쿼리 결과 집합 가져오기 실패를 참고하세요.

Snowflake Connector for Python 및 SnowSQL 오류

Python 오류 1

오류

SSL validation failed for https://<STAGE>/?accelerate [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)

근본 원인: SSL 연결 문제를 참고하세요.

해결 시나리오: SSL 연결 문제를 참고하세요.

Python 오류 2

오류

SSLError: HTTPSConnectionPool(host='<STAGE>', port=443): Max retries exceeded with url: /<OBFUSCATED>/results/<OBFUSCATED>_0/main/data_0_0_1?x-amz-server-side-encryption-customer-algorithm=<OBFUSCATED>&response-content-encoding=gzip&AWSAccessKeyId=<OBFUSCATED>&Expires=<OBFUSCATED>&Signature=<OBFUSCATED> (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')])")))

근본 원인: SSL 연결 문제를 참고하세요.

해결 시나리오: SSL 연결 문제를 참고하세요.

Python 오류 3

오류

(Caused by ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 407 Request rejected by proxy')))

근본 원인: SSL 연결 문제를 참고하세요.

해결 시나리오: SSL 연결 문제를 참고하세요.

Python 오류 4

오류

250001 (n/a): Could not connect to Snowflake backend after 0 attempt(s).Aborting

근본 원인: SSL 연결 문제를 참고하세요.

해결 시나리오: SSL 연결 문제를 참고하세요.

Python 오류 5

오류

snowflake.connector.network.RetryRequest: HTTP 403: Forbidden

근본 원인: SSL 연결 문제를 참고하세요.

해결 시나리오: SSL 연결 문제를 참고하세요.

Python 오류 6

오류

250003 (n/a): Failed to get the response. Hanging? method: post, url: https://[<SNOWFLAKE_DEPLOYMENT>|<SNOWFLAKE_DEPLOYMENT_REGIONLESS>|<CLIENT_FAILOVER>]:443/session/authenticator-request?request_guid=<OBFUSCATED>

근본 원인: SSL 연결 문제를 참고하세요.

해결 시나리오: SSL 연결 문제를 참고하세요.

Python 오류 7

오류

Retrying (Retry(total=0, connect=None, read=None, redirect=None)) after connection broken by 'ProtocolError('Connection aborted.', RemoteDisconnected ('Remote end closed connection without response'))'

근본 원인

이 오류 메시지가 의미하는 바: 클라이언트 드라이버가 원격 끝에 연결해 HTTP 요청을 보냈지만, 응답을 읽으려 할 때 데이터를 읽지 못했으며, 이는 원격 쪽에서 연결을 닫았음을 나타내요. 가장 가능성 높은 원인은 지속적인 RemoteDisconnected 오류로, 클라이언트 드라이버와 Snowflake 엔드포인트 사이의 하나 이상의 프록시/보안 장비의 잘못된 구성을 시사해요.

해결 시나리오

문제 해결 단계를 따르고, 사용 중인 중간 프록시나 보안 장비에서 모든 Snowflake 엔드포인트가 허용되도록 하세요.

Python 오류 8

오류

HTTPSConnectionPool(host='<STAGE>', port=443): Max retries exceeded with url: /<OBFUSCATED>/results/<OBFUSCATED>_0/main/data_0_0_1?x-amz-server-side-encryption-customer-algorithm=<OBFUSCATED>&response-content-encoding=gzip&X-Amz-Algorithm=<OBFUSCATED>&X-Amz-Date=<OBFUSCATED>&X-Amz-SignedHeaders=<OBFUSCATED>&X-Amz-Expires=<OBFUSCATED>&X-Amz-Credential=<OBFUSCATED>&X-Amz-Signature=<OBFUSCATED> (Caused by SSLError(SSLError("bad handshake: SysCallError(-1, 'Unexpected EOF')")))

근본 원인: SSL 연결 문제를 참고하세요.

해결 시나리오: SSL 연결 문제를 참고하세요.

해결 단계에서 문제가 해결되지 않으면 추가 지원을 위해 Snowflake 지원팀에 문의하세요.

더 알아보기