릴리스 369

릴리스 369 (2022년 1월 24일)

이번 릴리스에서는 태스크 수준 재시도 실험 구현, 시스템·사용자 메모리 구분 제거, 리소스 그룹 백엔드 확장이 핵심이에요.

출처: Trino 릴리스 369 문서

본문

일반 (General)

  • Pacific/Kanton 시간대 지원을 추가했어요. (#10679)
  • EXPLAIN ANALYZE VERBOSE에서 Physical input read time을 가장 간결한 시간 단위로 표시해요. (#10576)
  • HTTP 이벤트 리스너의 요청 재시도 메커니즘을 세밀하게 조정했어요. (#10566)
  • 리소스 그룹의 백엔드 데이터베이스로 PostgreSQL과 Oracle을 지원해요. (#9812)
  • 불필요한 스필링 구성값 spill-order-byspill-window-operator를 제거했어요. (#10591)
  • 클러스터 구성을 단순화하려고 시스템·사용자 메모리 구분을 제거했어요. query.max-total-memory-per-node 구성값을 제거했어요. 대신 query.max-memory-per-node를 쓰세요. (#10574)
  • double·real 값을 varchar 타입으로 캐스팅할 때 SQL 표준에서 지정한 형식을 쓰도록 했어요. (#552)
  • ALTER MATERIALIZED VIEW ... SET PROPERTIES 지원을 추가했어요. (#9613)
  • 태스크 수준 재시도의 실험적 구현을 추가했어요. retry-policy 구성값이나 retry_policy 세션 속성을 task로 설정하면 켜져요. (#9818)
  • 노드 간 작업을 더 균형 있게 분배해 쿼리 벽시계 시간을 개선했어요. 이전 워크로드 균형 정책은 node-scheduler.splits-balancing-policy=node로 되돌릴 수 있어요. (#10660)
  • phased 실행 정책에서 실패가 발생해 쿼리 실행이 멈추지 않도록 했어요. (#10656)
  • 소수 곱셈의 오버플로를 잡도록 했어요. (#10732)
  • max_by·min_by 집계의 UnsupportedOperationException을 고쳤어요. (#10599)
  • date를 varchar(n) 타입으로 캐스팅할 때 잘못된 결과나 실패가 나오던 문제를 고쳤어요. (#552)
  • 로그 순환 시 로그 파일 이름 길이가 무한히 늘어나던 문제를 고쳤어요. (#10738)

보안 (Security)

  • http-server.authentication.oauth2.groups-field에서 OAuth2 클레임의 그룹을 추출할 수 있게 했어요. (#10262)

JDBC 드라이버

  • DatabaseMetaData를 쓸 때 발생하던 메모리 누수를 고쳤어요. (#10584, #10632)

BigQuery 커넥터

  • bigquery.case-insensitive-name-matching.cache-ttl 구성 옵션을 제거했어요. 이전에는 무시되고 있었어요. (#10697)
  • numeric·bignumeric 타입 컬럼을 읽을 때 쿼리가 실패하던 문제를 고쳤어요. (#10564)

ClickHouse 커넥터

  • 최소 요구 버전을 21.3으로 올렸어요. (#10703)
  • 스키마 이름 변경 지원을 추가했어요. (#10558)
  • 컬럼 주석 설정 지원을 추가했어요. (#10641)
  • ClickHouse ipv4·ipv6 타입을 Trino ipaddress 타입으로 매핑했어요. (#7098)
  • map_string_as_varchar 세션 속성으로 ClickHouse fixedstring·string을 Trino varchar로 매핑할 수 있게 했어요. (#10601)
  • 잘못된 결과를 피하려고 decimal 타입의 avg 프러시다운을 비활성화했어요. (#10650)
  • 메타데이터 캐시가 켜진 상태에서 발생하던 가짜 오류를 고쳤어요. (#10544, #10512)

Druid 커넥터

  • 메타데이터 캐시가 켜진 상태에서 발생하던 가짜 오류를 고쳤어요. (#10544, #10512)

Hive 커넥터

  • ORC 파일에 Bloom 필터 쓰기 지원을 추가했어요. (#3939)
  • flush_metadata_cache 시스템 프로시저로 특정 스키마·테이블·파티션의 메타데이터 캐시를 비울 수 있게 했어요. (#10385)
  • Glue 카탈로그 인증에 장기 AWS Security Token Service(STS) 자격 증명을 지원해요. (#10735)
  • Hive ACID 테이블 조회 시 쿼리 실패가 나면 Hive Metastore의 트랜잭션 잠금이 해제되도록 했어요. (#10401)
  • Hive에서 Iceberg로의 리다이렉트가 켜지지 않았을 때 Iceberg 테이블 읽기를 금지했어요. (#8693, #10441)
  • Bloom 필터가 있는 ORC 파일을 읽을 때 범위 조건을 쓰는 쿼리의 성능을 개선했어요. (#4108)
  • 2GB보다 큰 Parquet 파일 쓰기를 지원해요. (#10722)
  • 메타데이터 캐시가 켜진 상태에서 발생하던 가짜 오류를 고쳤어요. (#10646, #10512)
  • 스키마 위치에 기존 테이블의 일부가 아닌 파일이 있을 때 DROP SCHEMA 중 데이터 손실을 방지했어요. (#10485)
  • task_writer_count > 1일 때 트랜잭션 테이블에 삽입하는 문제를 고쳤어요. (#9149)
  • 스트리밍이 켜진 상태에서 S3에 데이터를 쓸 때 발생할 수 있는 데이터 손상을 고쳤어요. (#10710)

Iceberg 커넥터

  • Iceberg 테이블 속성을 조회할 수 있는 $properties 시스템 테이블을 추가했어요. (#10480)
  • ALTER TABLE .. EXECUTE OPTIMIZE 문 지원을 추가했어요. (#10497)
  • 쓰기 시 Iceberg 컬럼 메트릭 모드를 존중하도록 했어요. (#9938)
  • Glue 카탈로그 인증에 장기 AWS Security Token Service(STS) 자격 증명을 지원해요. (#10735)
  • Bloom 필터가 있는 ORC 파일을 읽을 때 범위 조건을 쓰는 쿼리의 성능을 개선했어요. (#4108)
  • Trino의 쓰기 작업 후 select 쿼리 계획 성능을 개선했어요. (#9340)
  • 테이블 통계가 Iceberg 컬럼 메트릭에서 결정적으로 누적되도록 했어요. (#9716)
  • 스키마 위치에 기존 테이블의 일부가 아닌 파일이 있을 때 DROP SCHEMA 중 데이터 손실을 방지했어요. (#10485)
  • 2GB보다 큰 Parquet 파일 쓰기를 지원해요. (#10722)
  • 뷰 쿼리가 같은 테이블을 여러 번 참조할 때 구체화된 뷰 새로고침을 고쳤어요. (#10570)
  • 스트리밍이 켜진 상태에서 S3에 데이터를 쓸 때 발생할 수 있는 데이터 손상을 고쳤어요. (#10710)

MySQL 커넥터

  • 메타데이터 캐시가 켜진 상태에서 발생하던 가짜 오류를 고쳤어요. (#10544, #10512)

Oracle 커넥터

  • Oracle date를 Trino timestamp(0) 타입으로 매핑했어요. (#10626)
  • 인덱스된 date 컬럼의 조건 프러시다운 성능 회귀를 고쳤어요. (#10626)
  • 메타데이터 캐시가 켜진 상태에서 발생하던 가짜 오류를 고쳤어요. (#10544, #10512)

Phoenix 커넥터

  • 메타데이터 캐시가 켜진 상태에서 발생하던 가짜 오류를 고쳤어요. (#10544, #10512)

Pinot 커넥터

  • 기본 인증 지원을 추가했어요. (#9531)

PostgreSQL 커넥터

  • 스키마 이름 변경 지원을 추가했어요. (#8939)
  • 메타데이터 캐시가 켜진 상태에서 발생하던 가짜 오류를 고쳤어요. (#10544, #10512)

Redshift 커넥터

  • 스키마 이름 변경 지원을 추가했어요. (#8939)
  • 메타데이터 캐시가 켜진 상태에서 발생하던 가짜 오류를 고쳤어요. (#10544, #10512)

SingleStore (MemSQL) 커넥터

  • 메타데이터 캐시가 켜진 상태에서 발생하던 가짜 오류를 고쳤어요. (#10544, #10512)

SQL Server 커넥터

  • 메타데이터 캐시가 켜진 상태에서 발생하던 가짜 오류를 고쳤어요. (#10544, #10512)

SPI

  • ConnectorMetadata.getTableLayout() API 지원을 제거했어요. (#781)

더 알아보기 (Learn more)