Trino 0.192 릴리스 노트

Trino 0.192 릴리스 노트

Trino 0.192 릴리스 노트입니다. 이번 릴리스에서는 일반 개선 사항과 Web UI, CLI, Hive, MySQL, PostgreSQL, MongoDB, JMX, SPI 관련 변경 사항이 들어 있어요.

출처: 문서

본문

일반 (General)

  • 0.191에서 도입된 스플릿 스케줄링의 성능 회귀를 수정했어요. 쿼리가 많은 수의 스플릿(한 시간에 약 1M 스플릿)을 스캔하면 코디네이터 CPU 사용률이 매우 높아져 통신 실패가 늘어날 수 있었어요.
  • geometry_to_bing_tiles() 함수에서 지오메트리 경계 상자의 아래쪽이나 오른쪽이 타일 경계와 정렬될 때 관련 없는 타일을 반환하던 정확성 문제를 수정했어요.
  • 지리공간 함수에서 잘못된 WKT(well-known text) 입력 처리를 수정했어요.
  • 라이터 스케일링이 켜졌을 때 오래 실행되는 쿼리가 멈출 수 있는 문제를 수정했어요.
  • REAL 또는 DOUBLE에서 DECIMAL로의 캐스팅이 SQL 표준을 따르도록 수정했어요. 예를 들어 이전에는 cast (double '100000000000000000000000000000000' as decimal(38))100000000000000005366162204393472를 반환했어요. 이제는 100000000000000000000000000000000을 반환해요.
  • WEIGHTED_FAIR 정책 사용을 막던 리소스 그룹 검증의 버그를 수정했어요.
  • 코디네이터가 워커에서 데이터를 가져오지 못할 때 쿼리가 제대로 실패하도록 했어요. 이전에는 클라이언트에 HTTP 500 오류를 반환했어요.
  • DISTINCTrow_number() 관련 쿼리에서 짧은 시간 동안 메모리 자원을 과도하게 커밋할 수 있던 메모리 추적을 개선했어요.
  • grouping() 관련 쿼리의 성능을 개선했어요.
  • 라이터 스케일링을 위한 버퍼 사용률 계산을 개선했어요.
  • 드라이버별 피크 메모리 예약 추적을 제거했어요.
  • 리소스 그룹 구성의 허용 가능한 최대 오래됨(staleness)을 제한하는 resource-groups.max-refresh-interval 구성 옵션을 추가했어요.
  • dictionary-processing-joins-enabled 구성 옵션과 dictionary_processing_join 세션 속성을 제거했어요.

Web UI

  • 라이브 계획 뷰에서 입력 크기와 위치의 잘못된 보고를 수정했어요.

CLI

  • USE 문 이후 프롬프트 갱신을 수정했어요.
  • 첫 번째 항목이 여러 번 반복되던 Bing 타일 배열 렌더링의 정확성 문제를 수정했어요.

Hive

  • 최신 Hive 메타스토어에서 분할된 테이블 통계를 읽는 문제를 수정했어요.
  • ORC의 파일 시스템 오류를 손상(corruption)으로 취급하지 않도록 했어요.
  • object_not_readable 속성이 설정된 테이블이나 파티션에서 읽기를 막았어요.
  • ORC 파일을 쓴 뒤 검증하는 기능을 지원해요. hive.orc.writer.validate 구성 속성으로 켤 수 있어요.
  • ORC 라이터 통계를 JMX로 노출해요.
  • ORC 라이터의 스트라이프/행 그룹당 최소/최대 행 수, 최대 스트라이프 크기, 사전 메모리 한도를 제어하는 구성 옵션을 추가했어요.
  • 빈 ORC 파일 읽기를 허용해요.
  • 파일 시스템 캐시 만료 확인 시 ViewFs를 처리해요.
  • insert 쿼리의 대상 테이블이 삭제됐을 때 오류 보고를 개선했어요.
  • Hive 레코드 리더 생성 시 재시도를 제거했어요. 이는 쿼리를 더 빨리 실패시키는 데 도움이 돼요.

MySQL

  • MySQL 타입이 시간대 정보를 저장할 수 없어 TIME WITH TIME ZONETIMESTAMP WITH TIME ZONE 타입 지원을 제거했어요.
  • MySQL의 FLOAT 타입에 매핑되는 REAL 타입을 지원해요.

PostgreSQL

  • PostgreSQL의 BYTEA 타입에 매핑되는 VARBINARY 타입을 지원해요.

MongoDB

  • 문자열 타입에 대한 부등 연산자 푸시다운 지원을 수정했어요.
  • 문서를 MAP 값으로 읽는 것을 지원해요.
  • MongoDB의 Decimal128 타입을 지원해요.
  • 문서와 문서 배열을 VARCHAR 대신 JSON으로 취급해요.

JMX

  • 히스토리 테이블 값에 null을 허용해요.

SPI

  • SliceArrayBlock 클래스를 제거했어요.
  • Block.getPositions()offsetlength 파라미터를 추가했어요.

더 알아보기 (Learn more)

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