릴리스 368
릴리스 368 (2022년 1월 11일)
이번 릴리스에서는 스케줄링 정책 변경과 정밀도 큰 소수(decimal) 연산 성능 개선이 있어요. OOM 위험 감소와 REFRESH MATERIALIZED VIEW 버그도 수정됐어요.
출처: Trino 릴리스 368 문서
본문
일반 (General)
query.max-total-memory-per-task구성값이나query_max_total_memory_per_task세션 속성으로 태스크별 메모리 제한을 설정할 수 있게 했어요. (#10308)phased스케줄링 정책으로 쿼리 처리 벽시계 시간(wall time)을 개선했어요. 이전 동작은query.execution-policy구성값을legacy-phased로 설정하면 되돌릴 수 있어요. (#10350)phased스케줄링 정책을 기본으로 켰어요. 이전 동작은query.execution-policy구성값을all-at-once로 설정하면 되돌릴 수 있어요. (#10455)- 정밀도가 18보다 큰 소수(decimal)가 포함된 산술 연산의 성능을 개선했어요. (#10051)
- 메모리 사용이 많은 혼잡한 클러스터에서 메모리 부족 오류가 날 위험을 줄였어요. (#10475)
- 예약 메모리 풀에 들어간 쿼리가 차단 해제되지 않던 문제를 고쳤어요. (#10475)
REFRESH MATERIALIZED VIEW실행이 멈추지 않도록 했어요. (#10360)EXPLAIN ANALYZE에서 스캔 연산자의 예약 시간이 이중으로 보고되던 문제를 고쳤어요. (#10472)- 로그 순환 시 로그 파일 이름 길이가 무한히 늘어나던 문제를 고쳤어요. (#10394)
Hive 커넥터
- ORC, Parquet, RCFile 데이터에서 정밀도가 18보다 큰 소수 값을 디코딩하는 성능을 개선했어요. (#10051)
- Delta Lake 테이블은 지원되지 않으므로 Delta Lake 테이블의 속성 시스템 테이블 조회를 금지했어요. 이전에 잘못된 값을 조용히 반환하던 동작을 고쳤어요. (#10447)
- ORC 파일을 스캔할 때 워커의 메모리 부족 예외 위험을 줄였어요. (#9949)
Iceberg 커넥터
- 스키마 위치에 접근할 수 없을 때 location과 함께 Iceberg 테이블을 만드는 문제를 고쳤어요. (#9732)
- 파일 기반 접근 제어를 지원해요. (#10493)
SHOW CREATE TABLE출력에 Iceberg 테이블 위치를 표시해요. (#10459)
SingleStore (MemSQL) 커넥터
time타입 지원을 추가했어요. (#10332)
Oracle 커넥터
date값이1582-10-14보다 이전이거나 같을 때 결과가 잘못 나오던 문제를 고쳤어요. (#10380)
Phoenix 커넥터
binary타입 읽기 지원을 추가했어요. (#10539)
PostgreSQL 커넥터
- PostgreSQL에서 선언적 파티셔닝으로 만든 테이블에 접근하는 것을 지원해요. (#10400)
SPI
- 긴 소수 값을 2의 보수(two's complement) 표현으로 인코딩하고, 전달 타입(carrier type)을
io.airlift.slice.Slice대신io.trino.type.Int128로 바꿨어요. (#10051) - 커스텀 상태 타입으로 집계를 사용할 때 발생하던
ClassNotFoundException을 고쳤어요. (#10408)