Trino 0.186 릴리스 노트

Trino 0.186 릴리스 노트

Trino 0.186 릴리스 노트입니다. 이번 릴리스에는 대규모 배포에서 HTTP 요청 시간 초과로 쿼리가 실패할 수 있는 안정성 문제가 있어요. 그 외 일반 개선 사항과 리소스 그룹, JDBC 드라이버, Hive, SPI 변경 사항이 들어 있어요.

출처: 문서

본문

경고: 이 릴리스에는 대규모 배포에서 HTTP 요청 시간 초과로 쿼리가 실패할 수 있는 안정성 문제가 있어요.

일반 (General)

  • 맵에서 맵으로의 캐스팅으로 인한 과도한 GC 오버헤드를 수정했어요.
  • ROW 타입에 대한 암시적 강제 변환을 수정해 ROW(INTEGER)ROW(BIGINT) 같은 호환 타입 간 연산을 허용했어요.
  • 정규 표현식 같은 비싼 함수가 포함된 쿼리가 종료된 뒤에도 CPU 자원을 계속 사용하던 문제를 수정했어요.
  • 중복 캐스팅으로 인한 성능 문제를 수정했어요.
  • json_parse()가 뒤쪽 문자를 무시하지 않도록 수정했어요. 이전에는 [1,2]abc 같은 입력이 [1,2]로 성공적으로 파싱됐어요.
  • 실패한 쿼리에서 실행 중 쿼리 카운터가 누수되던 문제를 수정했어요. 시작 전에 실패한 쿼리에서 카운터가 증가만 하고 감소하지 않았어요.
  • 대기 중이거나 데이터를 기다리는 쿼리에 대한 코디네이터 HTTP 스레드 사용을 줄였어요.
  • VARCHAR 또는 VARBINARY 타입 데이터를 만들 때 메모리 사용량을 줄였어요.
  • 메모리 부족 오류를 피하기 위해 GROUP BY의 메모리 사용량을 더 정확하게 추정하도록 했어요.
  • 클라이언트 프로토콜에 대기 시간과 경과 시간을 추가했어요.
  • query_max_execution_time 세션 속성과 query.max-execution-time 구성 속성을 추가했어요. 쿼리는 지정된 시간 이상 실행되면 중단돼요.
  • inverse_normal_cdf() 함수를 추가했어요.
  • Bing 타일 처리를 위한 함수를 포함한 지리공간(Geospatial) 함수를 추가했어요.
  • 조인에 대한 디스크 스필(spill to disk)을 추가했어요.
  • Redshift 커넥터를 추가했어요.

리소스 그룹 (Resource groups)

  • Query Queues는 리소스 그룹을 위해 더 이상 사용되지(deprecated) 않으며 향후 릴리스에서 제거될 예정이에요.
  • maxRunning 속성 이름을 hardConcurrencyLimit으로 바꿨어요. 이전 속성 이름은 더 이상 사용되지 않으며 향후 릴리스에서 제거될 예정이에요.
  • JSON 구성 파일 로드 시 알 수 없는 속성 이름이 있으면 실패하도록 했어요.

JDBC 드라이버

  • 빈 비밀번호를 지정할 수 있게 했어요.
  • QueryStatsgetQueuedTimeMillis()getElapsedTimeMillis()를 추가했어요.

Hive

  • Kerberos 인증 사용 시 FileSystem closed 오류를 수정했어요.
  • S3 파일 시스템에 대한 경로 스타일(path style) 접근을 지원해요. hive.s3.path-style-access=true 구성 속성을 설정하면 켤 수 있어요.

SPI

  • ConnectorMetadata::createTable()ignoreExisting 플래그를 추가했어요.
  • RecordCursorConnectorPageSource에서 getTotalBytes() 메서드를 제거했어요.

참고: 이 변경 사항은 이전 SPI와 호환되지 않아요. 커넥터를 작성했다면 이 릴리스를 배포하기 전에 코드를 업데이트해야 해요.

더 알아보기 (Learn more)

Trino 0.186의 변경 사항을 더 자세히 확인하고 싶다면 공식 릴리스 노트를 참고해 주세요.