Release 317

Release 317 (2019년 8월 1일)

Presto 317 릴리스예요. all_match()·any_match()·none_match() 함수, approx_percentile()의 분수 가중치, 노드 동적 필터링 등이 담겼어요.

출처: Trino Release 317

본문

General

  • 쿼리 문자열에 인코딩된 &= 문자가 포함됐을 때 url_extract_parameter() 문제를 고쳤어요.
  • db 리소스 그룹 구성 관리자에서 MBean을 내보내도록 했어요(#1151).
  • all_match(), any_match(), none_match() 함수를 추가했어요(#1045).
  • approx_percentile()에 분수 가중치(fractional weights) 지원을 추가했어요(#1168).
  • 실험적 WorkProcessor pipelines 기능이 켜져 있으면 semi-join과 필터에 대한 노드 동적 필터링(node dynamic filtering) 지원을 추가했어요(#1075, #1155, #1119).
  • sql.forced-session-time-zone 설정 속성으로 클라이언트의 세션 시간대를 재정의(override)할 수 있게 했어요(#1164).

Web UI

  • 스테이지 성능 상세 페이지에서 툴팁 가시성 문제를 고쳤어요(#1113).
  • 쿼리 상세 페이지에 계획(planning) 시간을 추가했어요(#1115).

Security

  • 파일 기반 커넥터 접근 제어(file-based connector access control)를 쓸 때 스키마 소유자가 스키마를 생성·삭제·이름 변경할 수 있게 했어요(#1139).
  • 쿼리를 제출하는 클라이언트의 IP 주소를 가져올 때 X-Forwarded-For 헤더를 존중할 수 있게 했어요. 이 정보는 쿼리 이벤트의 QueryContext 클래스 remoteClientAddress 필드에서 확인할 수 있어요. 이 동작은 dispatcher.forwarded-header 설정 속성으로 제어할 수 있는데, 헤더는 Presto 코디네이터가 프록시 뒤에 있을 때만 사용해야 해요(#1033).

JDBC 드라이버

  • DatabaseMetaData.getURL()jdbc: 접두사를 포함하도록 고쳤어요(#1211).

Elasticsearch 커넥터

  • 중첩 필드(nested fields) 지원을 추가했어요(#1001).

Hive 커넥터

  • 버킷팅 버전 안전 검사를 고쳐, 지원되지 않는 버킷팅 버전을 사용하는 테이블에 대한 쓰기를 올바르게 거부하도록 했어요(#1199).
  • 메타스토어 디버그 로깅이 켜져 있을 때의 메타스토어 오류 처리 문제를 고쳤어요(#1152).
  • 특히 S3에서 system.sync_partition_metadata 프로시저의 파일 목록 성능을 개선했어요(#1093).

Kudu 커넥터

  • Kudu 클라이언트 라이브러리 버전을 1.10.0으로 업데이트했어요(#1086).

MongoDB 커넥터

  • 비밀번호에 :이나 @ 문자를 포함할 수 있게 했어요(#1094).

PostgreSQL 커넥터

  • hstore 데이터 타입 읽기 지원을 추가했어요(#1101).

SPI

  • 비-레거시 커넥터에 delete를 구현할 수 있게 했어요(#1015).
  • ConnectorPageSourceProvider에서 더 이상 쓰이지 않는 메서드를 제거했어요(#1095).

더 알아보기 (Learn more)

노드 동적 필터링은 조인·필터 성능을 크게 높이는 기능이에요. approx_percentile()과 동적 필터링의 최신 동작은 Trino 문서를 참고해 보세요.