Release 0.113

Release 0.113

Trino(당시 Presto) 0.113 릴리스의 변경 사항이에요. 클러스터 리소스 관리자가 기본 활성화되고, 세션 프로퍼티 타입 시스템이 도입됐어요.

출처: 문서

본문

⚠️ 경고: 이 릴리스의 Hive 커넥터 ORC 리더는 손상되어 있어요.

클러스터 리소스 관리 (Cluster resource management)

Release 0.103에서 발표된 클러스터 리소스 관리자가 이제 기본으로 활성화돼요. experimental.cluster-memory-manager-enabled 플래그로 비활성화할 수 있어요. 메모리 한도는 이제 query.max-memory(쿼리가 사용할 수 있는 총 분산 메모리 제어)와 query.max-memory-per-node(쿼리가 단일 노드에서 사용할 수 있는 메모리 양 제한)로 구성할 수 있어요. 각 워커에서 resources.reserved-system-memory 구성 프로퍼티는 내부 Presto 데이터 구조와 임시 할당에 예약되는 메모리 양을 제어해요.

세션 프로퍼티 (Session properties)

모든 세션 프로퍼티는 타입, 기본값, 설명을 가져요. SET SESSION의 값은 이제 어떤 상수 표현식도 될 수 있고, SHOW SESSION 명령은 모든 세션 프로퍼티의 현재 유효 값과 기본값을 출력해요.

이 타입 안전성은 SPI로 확장되며, 프로퍼티는 SessionPropertyMetadata로 검증되고 어떤 Java 타입으로도 변환될 수 있어요. 예시는 HiveSessionProperties를 참고하세요.

📌 참고: 이것은 이전 커넥터 SPI와 호환되지 않는 변경이에요. 세션 프로퍼티를 사용하는 커넥터를 작성했다면 Connector 구현에서 프로퍼티를 선언하도록 코드를 업데이트해야 하고, ConnectorSession.getProperty() 호출자는 이제 프로퍼티의 예상 Java 타입이 필요해요.

일반 (General)

  • 값 윈도우 함수 first_value(), last_value(), nth_value(), lead(), lag()에서 어떤 타입도 사용할 수 있게 했어요.
  • element_at() 함수를 추가했어요.
  • url_encode()url_decode() 함수를 추가했어요.
  • concat()이 이제 임의 개수의 인자를 허용해요.
  • JMX 커넥터를 수정했어요. 이전 릴리스에서는 항상 0행을 반환했어요.
  • IS DISTINCT FROM에서 리터럴 NULL 처리를 수정했어요.
  • 일부 특정 쿼리가 계획에서 실패하게 한 문제를 수정했어요.

Hive

  • Hive 메타데이터 캐시가 음수 응답을 제대로 처리하도록 수정했어요. 이로써 Presto 밖에서 객체가 삭제되면 캐시된 메타데이터 항목을 지워 백그라운드 새로고침이 제대로 작동해요. 특히 Hive로 테이블을 삭제했는데 Presto는 여전히 존재한다고 생각하는 흔한 경우를 수정해요.
  • SOCKS 연결이 실패할 때 메타스토어 소켓 누수를 수정했어요.

SPI

  • 구조적 타입의 내부 표현을 변경했어요.

📌 참고: 이것은 이전 커넥터 SPI와 호환되지 않는 변경이에요. 구조적 타입을 사용하는 커넥터를 작성했다면 새 API로 코드를 업데이트해야 해요.

더 알아보기 (Learn more)

0.113 릴리스의 변경 사항을 봤어요. 이어서 이전 버전인 Release 0.112를 살펴보면 좋아요.