릴리스 0.129

릴리스 0.129 (Release 0.129)

이 릴리스에서는 GROUP BY·JOIN 쿼리의 성능 회귀 임시 경고가 포함되고, 일반·JDBC 드라이버·CLI·네트워크 토폴로지 인식 스케줄링·Hive 개선이 이어져요.

출처: 문서

본문

⚠️ 이 릴리스에서는 키 길이가 16~31바이트일 때 GROUP BYJOIN 쿼리에 성능 회귀가 있어요. 이 문제는 릴리스 0.130에서 고쳐져요.

일반 (General)

  • OUTER JOIN을 포함하는 쿼리가 잘못된 결과를 반환할 수 있는 플래너 문제를 고쳤어요.
  • 일부 쿼리, 특히 max_by()min_by()를 사용하는 쿼리가 이제 실제 메모리 사용량을 정확히 반영해 이전보다 메모리를 더 사용하는 것처럼 보여요.
  • SHOW SESSION이 숨겨진 세션 프로퍼티를 표시하지 않도록 고쳤어요.
  • ORDER BYLIMIT가 있는 대형 쿼리에서 멈추던(hang) 문제를 고쳤어요.
  • 빈 배열이나 NULL만 담긴 배열을 다른 타입으로 캐스팅할 때의 문제를 고쳤어요.
  • 테이블 프로퍼티 이름이 이제 대소문자를 구분하지 않도록 제대로 처리돼요.
  • 쿼리 상세 페이지의 UI를 약간 개선했어요.
  • verifier에서 예상되는 예외에 대해 쓸모없는 스택 트레이스를 표시하지 않도록 했어요.
  • 데이터를 쓰는 UNION ALL 쿼리의 성능을 개선했어요.
  • P4HyperLogLog 타입을 도입했어요. 이 타입은 HyperLogLog 자료구조 구현을 사용하는데, 작은 집합을 다룰 때 정확도와 메모리 요구량을 절충해 성능을 높여요.

JDBC 드라이버

  • SET SESSION이나 RESET SESSION을 사용할 때 조용히 무시하는 대신 예외를 던지도록 했어요.
  • 드라이버가 이제 non-query 문을 제대로 지원해요. Statement 인터페이스가 execute 메서드의 모든 변형을 지원하고, getUpdateCountgetLargeUpdateCount 메서드도 지원해요.

CLI

  • ctrl-C로 쿼리를 취소할 때 항상 화면을 지우도록 했어요.
  • 클라이언트 요청 타임아웃을 설정 가능하게 만들었어요.

네트워크 토폴로지 인식 스케줄링 (Network topology aware scheduling)

이제 스케줄러가 split을 스케줄링할 때 네트워크 토폴로지를 고려하도록 구성할 수 있어요. 이는 node-scheduler.network-topology 설정으로 켜요. 자세한 내용은 Tuning Trino 문서를 참고해요.

Hive

  • S3 리전이 EC2에서 실행될 때 더 이상 자동으로 구성되지 않아요. 이 기능을 켜려면 Hive 카탈로그 프로퍼티 파일에서 hive.s3.pin-client-to-current-region=true를 사용해요. 이 기능은 중국 격리 리전의 S3 데이터에 접근할 때 필요하지만, 현재 리전 밖의 데이터에는 접근하지 못하게 해요.
  • S3에 대해 서버측 암호화를 지원하게 됐어요. 켜려면 Hive 카탈로그 프로퍼티 파일에서 hive.s3.sse.enabled=true를 사용해요.
  • retention_days 테이블 프로퍼티를 지원하게 됐어요.
  • S3 EncryptionMaterialsProvider를 지원하게 됐어요.

더 알아보기 (Learn more)

이 릴리스에서 지적된 성능 회귀가 어떻게 해결됐는지 릴리스 0.130을 확인해 보세요.