2023년 JDBC Driver 릴리스 정보

이 문서에는 JDBC Driver 에 대한 릴리스 정보가 있는데, 해당되는 경우 다음을 포함합니다.

  • 동작 변경 사항

  • 새로운 기능

  • 고객이 직면한 버그 수정

Snowflake는 JDBC Driver 업데이트에 의미 체계 버전 관리를 사용합니다.

설명서는 JDBC 드라이버 섹션을 참조하십시오.

버전 3.14.4(2023년 12월 7일)

BCR(동작 변경 릴리스) 변경 사항

  • temp 디렉터리와 관련된 로깅의 보안 문제를 수정했습니다.

    • 로깅은 더 이상 임시 디렉터리에 액세스하지 않습니다.

    • 기본 logpath 값이 temp 디렉터리에서 home 디렉터리로 변경되었습니다.

새로운 기능과 업데이트

  • 없습니다.

버그 수정 사항

  • gzipDisabled 속성 키에 값이 없을 때 발생하는 NullPointerException 을 수정했습니다.

  • Arrow를 사용하여 JDK v21에서 드라이버가 실패하는 문제를 수정했습니다.

버전 3.14.3(2023년 11월 7일)

새로운 기능과 업데이트

  • 다음 라이브러리를 업데이트했습니다.

    • org.codehaus.plexus:plexus-archiver 2.4.4에서 4.8.0으로

    • org.codehaus.plexus:plexus-archiver 2.6에서 4.8.0으로

    • org.bouncycastle:bc-fips 1.0.2.1에서 1.0.2.4로

    • aws-java-sdk를 1.12.501로

    • jackson을 2.15.3으로

    • netty를 4.1.100.Final로

    • grpc를 1.59.0으로

  • PUT 및 GET 명령이 로컬 파일 시스템에 액세스하도록 허용할지 여부를 결정하는 enablePutGet 연결 속성을 추가했습니다.

  • 실패한 연결 요청에 대한 재시도 빈도 관리에 대한 지원을 추가했습니다.

    • 기본값이 300초인 retryTimeout 매개 변수를 추가했습니다.

    • 드라이버가 loginTimeout 및 maxHttpRetries 연결 매개 변수를 사용하는 방법을 업데이트하고 loginTimeout 의 기본값을 300초로 변경했습니다.

버그 수정 사항

  • snowflake-ingest-sdk 2.0.3을 사용할 때 NoSuchMethodError 와 관련된 문제를 수정했습니다.

  • NULL 에서 DATE 로의 데이터 타입 변환 처리와 관련된 문제를 수정합니다.

  • GCP downscope 토큰 문제를 수정했습니다.

버전 3.13.34(2023년 10월 25일)

새로운 기능과 업데이트

  • 없습니다.

버그 수정 사항

  • snowflake-jdbc-fips 에서 GCP Downscope 토큰을 사용한 PUT 명령 실패와 관련된 문제를 수정했습니다.

버전 3.14.2(2023년 10월 2일)

새로운 기능과 업데이트

  • 없습니다.

버그 수정 사항

  • 드라이버가 getStageInfo 의 JsonNode 에서 useS3RegionUrl 을 따르지 않는 문제를 수정했습니다.

버전 3.14.1(2023년 8월 24일)

새로운 기능과 업데이트

  • util 메서드에서 선택적 헤더를 보내는 기능을 추가했습니다.

  • 저장 프로시저에서 비동기 호출을 지원하기 위해 getQueryStatus 함수를 SfBaseSession 으로 이동했습니다.

버그 수정 사항

  • 드라이버가 비공개 링크의 전체 OSCP URL을 보내지 않는 문제를 수정했습니다.

버전 3.14.0(2023년 7월 27일)

BCR(동작 변경 릴리스) 변경 사항

  • 특정 조건에서 JDBC 드라이버가 HTTP 요청을 무기한으로 재시도할 수 있는 문제를 수정했습니다.

    이전에는 가동 중단 중에 JDBC 드라이버는 요청이 성공하거나 누군가 작업을 강제로 종료할 때까지 실패한 HTTP 호출을 계속해서 재시도했습니다.

    이번 변경으로 execute 및 executeQuery 호출에서 시작되는 무한 HTTP 재시도가 비활성화됩니다. 이제 JDBC 드라이버는 기본적으로 HTTP 재시도 횟수를 7회로 제한합니다. 고객은 maxHttpRetries 세션 매개 변수를 설정하여 최대 재시도 횟수를 사용자 지정할 수 있습니다. 고객은 maxHttpRetries=0 으로 설정하여 재시도 횟수 제한을 제거할 수 있지만, 그러면 JDBC 드라이버가 실패한 HTTP 호출을 무한히 재시도할 위험이 발생합니다.

새로운 기능과 업데이트

  • OOB 원격 분석을 비활성화할 수 있도록 CLIENT_OUT_OF_BAND_TELEMETRY_ENABLED 세션 속성을 추가했습니다.

  • locatorsUpdateCopy() 함수 호출을 위해 처리 방식을 개선했습니다. 이제 이 드라이버는 예외를 발생시키는 대신 FALSE 를 반환합니다.

  • S3 클라이언트에 대한 400 Bad Request 오류 처리를 업데이트하고 저장소 클라이언트의 PUT/GET 예외에 대한 최대 재시도 횟수(기본값: 7)를 구성하도록 putGetMaxRetries 연결 속성을 추가했습니다.

  • 청크 다운로드 성능을 개선하기 위해 DefaultResultStreamProvider.getResultChunk() 에 httpMaxRetries 를 위한 지원을 추가했습니다.

버그 수정 사항

  • driver.getPropertyInfo() 호출 시 드라이버가 NPE(null 포인터 예외)를 잘못 발생시키는 문제를 수정했습니다.

  • Arrow 스트림에서 읽을 때 reader.LoadNextBatch() 가 때때로 ClosedByInterruptException 을 발생시키는 문제를 수정했습니다.

  • JDBC 드라이버가 S3 클라이언트에 대해 잘못된 프록시 설정을 사용하는 문제를 수정했습니다.

  • downloadStream() 함수가 일본어 문자가 포함된 파일 이름을 허용하지 않는 문제를 수정했습니다.

  • PUT/GET 파일 경로에 “~”가 허용되지 않는 문제를 수정했습니다.

  • Windows 파일 경로에 구성 파일 로깅을 위한 file:// 접두사가 포함된 경우 드라이버가 InvalidPathException을 발생시키는 문제를 수정했습니다.

버전 3.13.33(2023년 6월 14일)

새로운 기능과 업데이트

  • 없습니다.

버그 수정 사항

  • MessageFormat.format 예외를 적절하게 처리합니다.

버전 3.13.32(2023년 5월 26일)

새로운 기능과 업데이트

  • 없습니다.

버그 수정 사항

  • Java Runtime 8에 영향을 미치는 3.13.31에 발생한 버그를 수정했습니다.

버전 3.13.31(2023년 5월 25일)

참고

특히 Java Runtime 8에 영향을 미치는 버그를 발견한 경우 최신 버전으로 업데이트하십시오.

새로운 기능과 업데이트

  • HTAP(하이브리드 트랜잭션/분석 처리)를 강화했습니다.

  • 보안 업데이트를 받기 위해 org.apache.httpcomponents:httpclient 라이브러리를 버전 4.5.13으로 업그레이드했습니다.

버그 수정 사항

  • 청크 다운로드 요청에 대한 인증 시도 시간이 초과되는 문제를 수정했습니다.

  • Windows에서 구성 파일 구문 분석과 관련된 문제를 수정했습니다.

  • 크거나 작은 datetime 값과 관련된 int64 오버플로 문제를 수정했습니다.

  • SSL/TLS 오류로 인해 연결이 중단되었을 때 표시되는 오류 메시지를 개선했습니다.

  • useSessionTimezone 이 활성화된 경우 getTime() 함수가 잘못된 타임존을 기반으로 시간을 반환하는 문제를 수정했습니다.

  • ASCII Null 문자와 제어 문자가 jdbc_query_result_format=JSON 으로 설정된 resultset 에서 무작위로 삭제되는 문제를 수정했습니다.

버전 3.13.30(2023년 4월 18일)

새로운 기능과 업데이트

  • 다음 소프트웨어 라이브러리를 업그레이드했습니다.

    • slf4j-api 버전 1.7.25에서 버전 2.0.6으로

    • logback-classic 버전 1.2.3에서 버전 1.3.6으로

  • 중대하지 않은 “SEVERE: HTTP request took longer than 5 min”을 오류 메시지에서 경고 메시지로 변경했습니다.

  • JVM 프록시 설정에 대한 http.proxyProtocol 속성을 추가했습니다.

버그 수정 사항

  • 청크 다운로드 요청에 대한 인증 시도 시간이 초과되는 문제를 수정했습니다.

  • 연결 URL이 끊어지지 않았을 때 예외에 로그인 자격 증명이 표시되는 문제를 수정했습니다.

  • openResultSets 에 resultset 를 추가하기 전에 isClosed() 를 확인하여 메모리 누수 원인을 수정했습니다.

  • hostnames 가 일치하지 않을 때 오해의 소지가 있는 SAML2 어설션 오류 메시지가 전송되는 문제를 수정했습니다.

  • URL 인코딩된 OSCP 요청 관련 문제를 수정했습니다.

  • SnowflakeFileTransferAgent.uploadStream() 함수가 overwrite=false 옵션을 잘못 처리하는 문제를 수정했습니다.

  • metadata.getTableTypes() 메서드가 잘못된 테이블 유형을 반환하는 문제를 수정했습니다.

  • 비동기 쿼리 호출로 인해 쿼리가 실패하고 예외가 발생한 경우 트리거되는 예외 메시지에 SQL 오류 메시지를 노출하도록 드라이버를 업데이트했습니다.

  • get procedure 열 호출이 빈 결과 세트를 반환하는 드문 경우에 대한 검사를 추가했습니다.

  • SnowflakeConnectionString 구문 분석 오류와 관련된 로그 메시지에 대한 경고 수준을 디버그/정보로 변경했습니다.

  • JDBC 드라이버가 SSLHandshakeException 으로 인해 실패한 요청을 재시도하는 문제를 수정했습니다.

  • 사용자가 불법 액세스 경고를 비활성화할 수 있도록 snowflake.jdbc.enable.illegalAccessWarning 시스템 속성을 위한 지원을 추가했습니다.

  • gsc 업로드 파일 오류 메시지에 잘못된 정보를 표시할지 여부에 관한 문제를 수정했습니다.

  • 60초 후에 유휴 상태의 연결을 닫도록 기본 TTL 값을 변경했습니다.

  • 추가 describe 호출을 제거하여 준비된 문 ID 문제를 수정했습니다.

버전 3.13.29(2023년 3월 17일)

새로운 기능과 업데이트

  • 없습니다.

버그 수정 사항

  • USE_STATEMENT_TYPE_CALL_FOR_STORED_PROC_CALLS=true 일 때 저장 프로시저 열 메타데이터에 대해 잘못된 열 유형 이름이 반환되는 문제를 수정했습니다.

  • 대상 파일 시스템의 공간 부족으로 인해 파일을 다운로드할 수 없을 때 JDBC가 GET 요청을 재시도하는 문제를 수정했습니다. 이제 이런 상황에서 드라이버는 예외를 발생시킵니다.

  • 404 리소스 오류가 발생한 경우 JDBC가 Azure 클라이언트에 대한 요청을 재시도하는 문제를 수정했습니다. 이제 이런 상황에서 드라이버는 예외를 발생시킵니다.

  • SQL 삽입 공격으로부터 보호하기 위해 이제 JDBC 드라이버는 DatabaseMetadata API의 패턴 검색 인자에서 따옴표를 이스케이프합니다.

  • 열에 NULL 값이 포함되어 있을 때 getClob() 호출에서 NullPointerException이 발생하는 문제를 수정했습니다. 이제는 열에 SQL NULL 값이 있을 때 드라이버는 NULL 을 반환합니다.

  • JDBC 드라이버가 SSO URL을 실행하기 전에 그 유효성을 검사하지 못하는 문제를 수정했습니다. 이제 이 드라이버는 URLValidator 및 URLEncoder 유틸리티를 사용하여 URL의 유효성 검사와 인코딩을 수행합니다.

버전 3.13.28(2023년 2월 22일)

새로운 기능과 업데이트

  • 없습니다.

버그 수정 사항

  • GEOMETRY 데이터가 포함된 메타데이터를 반환하는 metaData.getColumns() 함수를 호출할 때 발생하는 문제를 수정하기 위해 SnowflakeType 열거형에 GEOMETRY 데이터 타입을 위한 지원을 추가했습니다.

  • JDBC가 입력 스트림 업로드를 잘못 재시도했을 때 부분 파일 업로드를 유발하는 GCP uploadStream의 재시도 문제를 수정했습니다.

  • getProcedureColumns() 및 getFunctionColumns() 함수 호출에 대해 resultset 를 반환하는 저장 함수 및 프로시저 관련 문제를 수정했습니다.

  • StreamLoader 가 과도한 로그 메시지를 생성하는 문제를 수정했습니다.

버전 3.13.27(2023년 1월 30일)

새로운 기능과 업데이트

  • 없음

버그 수정 사항

  • GET 및 PUT 작업 중에 가끔 발생하는 경합 상태를 수정했습니다.

  • HTTP 429 오류를 수신할 때 Okta 인증 사용이 실패하는 문제를 수정했습니다.