Release 337

Release 337 (2020년 6월 25일)

Presto 337 릴리스예요. 보안 내부 통신의 보안 취약점을 수정한 중요한 보안 릴리스예요. 가변 정밀도 TIMESTAMP WITH TIME ZONE 타입, Druid 커넥터, translate() 함수도 추가됐어요.

출처: Trino Release 337

본문

참고: 이 릴리스는 클러스터에서 보안 내부 통신(secure internal communication)이 활성화됐을 때의 잠재적 보안 취약점을 수정해요. 악의적인 공격자가 이 취약점을 악용해 내부 API로 권한을 상승시킬 수 있어요. 가능한 한 빨리 업그레이드하는 것을 권장해요.

General

  • NaN이 포함된 부등식 조인의 잘못된 결과를 고쳤어요(#4120).
  • 이벤트 리스너의 피크 non-revocable 메모리 지표를 고쳤어요(#4096).
  • 대기 쿼리(queued query) JMX 통계를 고쳤어요(#4129).
  • DESCRIBE INPUT 출력에서 타입 렌더링을 고쳤어요(#4023).
  • DOUBLE·REAL 값과 정수 값 사이의 비교가 포함된 쿼리 성능을 개선했어요(#3533).
  • 코디네이터의 유휴 CPU 소비를 줄였어요(#3990).
  • 쿼리 통계에 피크 non-revocable 메모리 지표를 추가했어요(#4096).
  • 가변 정밀도(variable-precision) TIMESTAMP WITH TIME ZONE 타입 지원을 추가했어요(#3947).
  • 외부 조인 조건에서 서브쿼리가 있는 IN 조건자 지원을 추가했어요(#4151).
  • 집계 쿼리에서 정량 비교(quantified comparisons, 예: > ALL (...)) 지원을 추가했어요(#4128).
  • Druid 커넥터를 추가했어요(#3522).
  • translate() 함수를 추가했어요(#4080).
  • 워커 정상 종료(graceful shutdown) 기간을 줄였어요(#4192).

Security

  • HTTPS와 인증이 활성화됐을 때 HTTP를 통한 안전하지 않은 인증을 기본적으로 비활성화했어요. http-server.authentication.allow-insecure-over-http 설정 속성으로 재정의할 수 있어요(#4199).
  • Web UI에 HTTPS를 통한 안전하지 않은 인증 지원을 추가했어요(#4199).
  • 사용자가 시스템 관리 정보를 읽고 쓸 수 있는 능력을 제어하는 System information 규칙을 추가했어요(#4199).
  • 기본 시스템 보안에서 사용자 가장(user impersonation)을 비활성화했어요(#4082).

Elasticsearch 커넥터

  • 비밀번호 인증 지원을 추가했어요(#4165).

Hive 커넥터

  • 한 글자보다 긴 separatorChar, quoteChar, escapeChar 테이블 속성을 가진 CSV 테이블 읽기 문제를 고쳤어요. Hive와의 호환성을 위해 첫 문자만 고려하고 나머지는 무시해요(#3891).
  • 일부 버킷에 데이터가 없을 때 버킷팅된 테이블에 쓰는 INSERT 쿼리 성능을 개선했어요(#1375).
  • timestamp 컬럼에 대한 조건자와 함께 Parquet 데이터를 읽는 쿼리 성능을 개선했어요(#4104).
  • 파티션된 테이블에 대한 조인 쿼리 성능을 개선했어요(#4156).
  • TextFile 스토리지 형식을 사용하는 테이블에 대한 null_format 테이블 속성 지원을 추가했어요(#4056).
  • RCText와 SequenceFile 스토리지 형식을 사용하는 테이블에 대한 null_format 테이블 속성 지원을 추가했어요(#4143).
  • 최적화된 Parquet 라이터를 추가했어요. 새 라이터는 기본적으로 비활성화돼 있고, parquet_optimized_writer_enabled 세션 속성이나 hive.parquet.optimized-writer.enabled 설정 속성으로 활성화할 수 있어요(#3400).
  • Azure Data Lake와 AliyunOSS 스토리지에서 데이터 캐싱 지원을 추가했어요(#4213).
  • Google Cloud Storage에서 데이터를 캐싱할 때의 실패를 고쳤어요(#4213).
  • Hive에서 직접 삽입(direct inserts)이 활성화됐을 때 사용되는 ACID 데이터 파일 명명을 지원하게 됐어요(HIVE-21164). 직접 삽입은 Hive 4의 예정된 기능이에요(#4049).

PostgreSQL 커넥터

  • PostgreSQL 데이터베이스 안에서 집계를 계산해 집계 쿼리 성능을 개선했어요. 현재 다음 집계 함수가 pushdown 대상이에요: count, min, max, sum, avg(#3881).

Base-JDBC 커넥터 라이브러리

  • 집계 pushdown 프레임워크를 구현했어요(#3881).

더 알아보기 (Learn more)

이 릴리스의 보안 취약점 수정은 반드시 업그레이드해야 할 항목이에요. 가변 정밀도 타입 지원과 Druid 커넥터, 집계 pushdown은 이후 버전에서도 중요한 기능으로 이어져요.