Release 479
Release 479 (2025-12-14)
Trino 479 릴리스의 변경 사항을 정리한 릴리스 노트예요. 전반적인 개선, Web UI, JDBC 드라이버, Docker, CLI, 여러 커넥터와 SPI의 변화를 다뤄요.
출처: 문서
본문
General
- 노드 discovery 타입이
ANNOUNCE로 설정되었을 때 내부 클러스터 통신용 TLS 인증서를 자동으로 생성하도록 개선했어요. (#27030) - Exchange Manager 구성 파일의 위치를 지정하는 지원을 추가했어요. (#26611)
FINISHING상태의 쿼리가 보낸 시간을 이벤트 리스너에 게시하도록 했어요. (#27202)- SELECT 쿼리의 출력 컬럼에 대한 라인리지(lineage) 지원을 추가했어요. (#26241)
ALTER TABLE ... ALTER COLUMN문장으로 컬럼 기본값을 설정·삭제하는 지원을 추가했어요. (#26162)array_first()와array_last()함수를 추가했어요. (#27295)SHOW CREATE MATERIALIZED VIEW출력에GRACE PERIOD를 추가했어요. (#27529)- row 리터럴에서 필드 이름 선언을 허용했어요. 예를 들어
row(1 as a, 2 as b)가 이제 유효해요. (#25261) - 리소스 그룹 선택기에서
queryText를 정규식으로 추가했어요. (#27129) - ⚠️ Breaking change: Trino를 빌드하고 실행하려면 JDK 25가 필요해요. (#27171)
- ⚠️ Breaking change:
task.statistics-cpu-timer-enabled구성 속성이 이제 무효(defunct)이므로 제거해야 해요. (#27504) EXPLAIN타입LOGICAL과DISTRIBUTED를 더 이상 사용하지 않도록 하고, 대신 타입 절 없이EXPLAIN을 사용하도록 권장해요. (#27434)prefer_streaming_operators세션 속성을 제거했어요. (#27506)- Graviton 3, Skylake, Icelake 또는 Zen 4+ 같은 최신 CPU 아키텍처에서 원격 데이터 교환에 대한 실험적 성능 개선을 추가했어요.
exchange.experimental.vectorized-serde.enabled=false로 비활성화할 수 있어요. (#27426, #26919) array_sort()함수의 성능을 개선했어요. (#27272)repeat()함수의 성능을 개선했어요. (#27369)- 가변 폭(variable width) 데이터를 포함하는 데이터 교환의 성능을 개선했어요. (#27377)
- 최근(refresh) 구체화 뷰를 참조하는 쿼리의 성능을 개선했어요. (#27551)
- 쿼리 계획 중
UNION의 한 분기가 0행을 생성하는 것으로 알려졌을 때의 쿼리 실패를 수정했어요. (#21506) - spooling 프로토콜에 대한 파티셔닝된 레이아웃 구성 문제를 수정했어요. (#27247)
WHERE절에 varchar로 캐스팅할 수 없는 타입이 포함될 때EXPLAIN (TYPE IO)실패를 수정했어요. (#27433)
Web UI
- preview UI 쿼리 상세 페이지에서 긴 단일 라인 쿼리 문자열을 올바르게 렌더링하도록 했어요. (#27328)
- preview UI에서 카탈로그 속성을 올바르게 렌더링하도록 했어요. (#27327)
JDBC driver
- 임의의 HTTP 헤더를 보낼 수 있는
extraHeaders옵션을 추가했어요. (#15826)
Docker image
- JDK를 25.0.1로 업데이트했어요. (#27117)
CLI
- 임의의 HTTP 헤더를 보낼 수 있는
--extra-header옵션을 추가했어요. (#15826) - 한정되지 않은(단일 레이블, "." 없는) 호스트 이름을 사용할 때의 TLS 연결 실패를 수정했어요. (#27478)
BigQuery connector
query()테이블 함수 결과를 재사용할 때 발생하는 쿼리 실패를 수정했어요. (#27573)
ClickHouse connector
- ⚠️ Breaking change:
join-pushdown.with-expressions구성 속성을deprecated.join-pushdown.with-expressions로 교체했어요. 새 속성은 향후 버전에서 제거될 예정이에요. (#27498)
Delta Lake connector
- GCS용
APPLICATION_DEFAULT인증 타입을 추가했어요. (#26984) - ⚠️ Breaking change: GCS 인증 타입이
SERVICE_ACCOUNT로 설정되었을 때 인증되지 않은 접근 지원을 제거했어요. (#26984) s3.exclusive-create구성을delta.s3.transaction-log-conditional-writes.enabled로 이름을 바꿨어요. (#27372)- ⚠️ Breaking change:
delta.s3.transaction-log-conditional-writes.enabled가false로 설정되지 않으면 S3 버킷의 테이블에 쓸 때 AWS S3PutObjectTagging권한이 필요해요. 이 요구 사항은 향후 릴리스에서 제거돼요. (#27388) IS NOT DISTINCT FROM이 포함된 쿼리의 잘못된 결과를 수정했어요. (#27213)- Databricks 17.3이 만든 테이블에 쓸 때의 실패를 수정했어요. (#27100)
- Azure 계층적 네임스페이스를 확인할 때의 실패를 수정했어요. (#27278)
- parquet 파일에서 값이 매우 큰 컬럼을 읽으려는 쿼리를 실패시켜 워커 크래시를 방지했어요. (#27148)
- S3에 쓰는 동안 네트워크 실패가 발생할 때 잠재적인
FileAlreadyExistsException실패를 수정했어요. (#27330, #27388) - 복제(cloned) 테이블을 읽을 때의 잠재적 실패를 수정했어요. (#27098)
Druid connector
- ⚠️ Breaking change:
join-pushdown.with-expressions구성 속성을deprecated.join-pushdown.with-expressions로 교체했어요. 새 속성은 향후 버전에서 제거될 예정이에요. (#27498)
DuckDB connector
- ⚠️ Breaking change:
join-pushdown.with-expressions구성 속성을deprecated.join-pushdown.with-expressions로 교체했어요. 새 속성은 향후 버전에서 제거될 예정이에요. (#27498)
Exasol connector
- ⚠️ Breaking change:
join-pushdown.with-expressions구성 속성을deprecated.join-pushdown.with-expressions로 교체했어요. 새 속성은 향후 버전에서 제거될 예정이에요. (#27498)
Hive connector
- GCS용
APPLICATION_DEFAULT인증 타입을 추가했어요. (#26984) - ⚠️ Breaking change: GCS 인증 타입이
SERVICE_ACCOUNT로 설정되었을 때 인증되지 않은 접근 지원을 제거했어요. (#26984) s3.exclusive-create구성을delta.s3.transaction-log-conditional-writes.enabled로 이름을 바꿨어요. (#27372)OVERWRITE동작을 가진INSERT쿼리가 쓴 테이블 통계의 정확도를 개선했어요. (#26517)- Azure 계층적 네임스페이스를 확인할 때의 실패를 수정했어요. (#27278)
- parquet 파일에서 값이 매우 큰 컬럼을 읽으려는 쿼리를 실패시켜 워커 크래시를 방지했어요. (#27148)
- S3에 쓰는 동안 네트워크 실패가 발생할 때 잠재적인
FileAlreadyExistsException실패를 수정했어요. (#27330) - AWS Glue에서 잘못된 테이블 메타데이터로 테이블을 나열할 때의 실패를 수정했어요. (#27525)
Hudi connector
- GCS용
APPLICATION_DEFAULT인증 타입을 추가했어요. (#26984) - ⚠️ Breaking change: GCS 인증 타입이
SERVICE_ACCOUNT로 설정되었을 때 인증되지 않은 접근 지원을 제거했어요. (#26984) - Azure 계층적 네임스페이스를 확인할 때의 실패를 수정했어요. (#27278)
- parquet 파일에서 값이 매우 큰 컬럼을 읽으려는 쿼리를 실패시켜 워커 크래시를 방지했어요. (#27148)
- S3에 쓰는 동안 네트워크 실패가 발생할 때 잠재적인
FileAlreadyExistsException실패를 수정했어요. (#27330) - 빈 디렉토리를 포함하는 HDFS를 쿼리할 때의 실패를 수정했어요. (#26897)
Iceberg connector
iceberg.rest-catalog.oauth2.token-exchange-enabled구성 속성으로token-exchange-enabled를 업데이트하는 지원을 추가했어요. (#27174)expire_snapshots명령에retain_last와clean_expired_metadata옵션을 추가했어요. (#27357)- GCS용
APPLICATION_DEFAULT인증 타입을 추가했어요. (#26984) - ⚠️ Breaking change: GCS 인증 타입이
SERVICE_ACCOUNT로 설정되었을 때 인증되지 않은 접근 지원을 제거했어요. (#26984) - 테이블에 깊이 중첩된 필드가 있을 때 메모리 압박을 줄였어요. (#25077)
- 테이블 파티셔닝 변경 후
$files테이블을 쿼리할 때의 실패를 수정했어요. (#26746) IS NOT DISTINCT FROM이 포함된 쿼리의 잘못된 결과를 수정했어요. (#27213)- Azure 계층적 네임스페이스를 확인할 때의 실패를 수정했어요. (#27278)
- parquet 파일에서 값이 매우 큰 컬럼을 읽으려는 쿼리를 실패시켜 워커 크래시를 방지했어요. (#27148)
- S3에 쓰는 동안 네트워크 실패가 발생할 때 잠재적인
FileAlreadyExistsException실패를 수정했어요. (#27330) CASCADE옵션으로 스키마를 삭제할 때의 잠재적 실패를 수정했어요. (#27361)- 유예 기간(grace period) 내에 구체화 뷰를 쿼리할 때 존재하지 않거나 손상된 기본 Iceberg 테이블을 무시하도록 했어요. (#27606)
Ignite connector
- ⚠️ Breaking change:
join-pushdown.with-expressions구성 속성을deprecated.join-pushdown.with-expressions로 교체했어요. 새 속성은 향후 버전에서 제거될 예정이에요. (#27498)
Loki connector
- 커넥터 초기화 시 실패를 수정했어요. (#27180)
MariaDB connector
- ⚠️ Breaking change:
join-pushdown.with-expressions구성 속성을deprecated.join-pushdown.with-expressions로 교체했어요. 새 속성은 향후 버전에서 제거될 예정이에요. (#27498)
Memory connector
ALTER TABLE ... ALTER COLUMN로 컬럼 기본값을 설정·삭제하는 지원을 추가했어요. (#26162)- 스키마에 테이블이 둘 이상 있을 때
RENAME SCHEMA실패를 수정했어요. (#27205)
MySQL connector
- ⚠️ Breaking change:
join-pushdown.with-expressions구성 속성을deprecated.join-pushdown.with-expressions로 교체했어요. 새 속성은 향후 버전에서 제거될 예정이에요. (#27498) IS NOT DISTINCT FROM이 포함된 쿼리의 잘못된 결과를 수정했어요. (#27213)
Oracle connector
- ⚠️ Breaking change:
join-pushdown.with-expressions구성 속성을deprecated.join-pushdown.with-expressions로 교체했어요. 새 속성은 향후 버전에서 제거될 예정이에요. (#27498)
PostgreSQL connector
- ⚠️ Breaking change:
join-pushdown.with-expressions구성 속성을deprecated.join-pushdown.with-expressions로 교체했어요. 새 속성은 향후 버전에서 제거될 예정이에요. (#27498) IS NOT DISTINCT FROM이 포함된 쿼리의 잘못된 결과를 수정했어요. (#27213)
Redshift connector
- ⚠️ Breaking change:
join-pushdown.with-expressions구성 속성을deprecated.join-pushdown.with-expressions로 교체했어요. 새 속성은 향후 버전에서 제거될 예정이에요. (#27498) - Redshift character varying 타입을 읽을 때의 실패를 수정했어요. (#27224)
SingleStore connector
- ⚠️ Breaking change:
join-pushdown.with-expressions구성 속성을deprecated.join-pushdown.with-expressions로 교체했어요. 새 속성은 향후 버전에서 제거될 예정이에요. (#27498)
Snowflake connector
- ⚠️ Breaking change:
join-pushdown.with-expressions구성 속성을deprecated.join-pushdown.with-expressions로 교체했어요. 새 속성은 향후 버전에서 제거될 예정이에요. (#27498)
SQL Server connector
- ⚠️ Breaking change:
join-pushdown.with-expressions구성 속성을deprecated.join-pushdown.with-expressions로 교체했어요. 새 속성은 향후 버전에서 제거될 예정이에요. (#27498) - 테이블과 컬럼을 나열할 때의 잠재적 실패를 수정했어요. (#10846)
Vertica connector
- ⚠️ Breaking change:
join-pushdown.with-expressions구성 속성을deprecated.join-pushdown.with-expressions로 교체했어요. 새 속성은 향후 버전에서 제거될 예정이에요. (#27498)
SPI
RowBlockBuilder에 콜백 기반이 아닌 entry builder를 추가했어요. (#27198)ArrayBlockBuilder에 콜백 기반이 아닌 entry builder를 추가했어요. (#27198)ColumnMetadata.builderFrom이 컬럼 기본값을 유지하도록 수정했어요. (#27503)
더 알아보기 (Learn more)
다음 버전의 변경 사항은 Release 480에서 확인해 보세요.