trinodb / trino

Official repository of Trino, the distributed SQL query engine for big data, formerly known as PrestoSQL (https://trino.io)
https://trino.io
Apache License 2.0
10.34k stars 2.98k forks source link

Release notes for 356 #7533

Closed martint closed 3 years ago

martint commented 3 years ago

Ashhar Hasan

kokosing commented 3 years ago
JDBC
---
* Add `externalAuthenticationTokenCache=MEMORY` property so Oauth2 credentials are cached in memory. Thanks to this user can avoid unnecessary authentication flow. ({issue}`7309`)

7309

kokosing commented 3 years ago
Kafka
---
* Add support for SSL security protocol. ({issue}`6929`

6929

sopel39 commented 3 years ago
General:
* Fix join spill deadlock. ({issue}`7455`)

https://github.com/trinodb/trino/pull/7455

sopel39 commented 3 years ago
SPI:
* Require that ``ConnectorMaterializedViewDefinition`` provides a view owner. ({issue}`7489`)

https://github.com/trinodb/trino/pull/7489

findepi commented 3 years ago
Hive
* Fix incorrect results when non-lowercase field dereference is pushed into the ORC reader,
  if ORC file schema has nested fields with a different case. ({issue}`7350`)

https://github.com/trinodb/trino/pull/7350

findepi commented 3 years ago
SQL Server connector
* Fix query failure when snapshot isolation (`ALLOW_SNAPSHOT_ISOLATION`) is disabled in target SQL Server database, but
  but `READ_COMMITTED_SNAPSHOT` is still enabled. ({issue}`7548`)

7548 #7555

losipiuk commented 3 years ago
General
* improve performance of `ORDER BY … LIMIT` queries over a `LEFT JOIN`. ({issue}`7028`)

7028 #7563

sopel39 commented 3 years ago
General
* Reduce coordinator network overhead when scheduling queries. ({issue}`7351`)

https://github.com/trinodb/trino/pull/7351

kokosing commented 3 years ago
JDBC connectors
* Improve metadata caching hit rate by sharing cache entries between different session users. ({issue}`7039`)

7039

losipiuk commented 3 years ago
Hive
* Allow reading from ORC ACID transactional tables when `_orc_acid_version` metadata file is missing. ({issue}`7579`)

7579

sopel39 commented 3 years ago
General
* Improve planning time for queries with large `IN` predicates. ({issue}`7556`)

https://github.com/trinodb/trino/pull/7556

kokosing commented 3 years ago
PostgreSQL
* Cancel PostgreSQL remote query on when Trino query is cancelled. ({issue}`7306`)

7306

ebyhr commented 3 years ago
BigQuery
* Improve performance for listing tables when case insensitive matching (`bigquery.case-insensitive-name-matching`) is enabled. ({issue}`7628`)

7628

sopel39 commented 3 years ago
General
* Fix invalid query result for queries with full join which has scalar (left or right) input ({issue}`7629`)

https://github.com/trinodb/trino/pull/7629

ebyhr commented 3 years ago
BigQuery
* Add support for `CREATE SCHEMA` and `DROP SCHEMA` statements. ({issue}`7543`)

7543

ebyhr commented 3 years ago
Cassandra
* Fix `NullPointerException` when reading an empty timestamp value. ({issue}`7433`)

7433 #7544

sopel39 commented 3 years ago
SPI
* Add `Connector#getMaterializedViewPropertyManager` for specifying materialized view properties ({issue}`7615`)

https://github.com/trinodb/trino/pull/7615

sopel39 commented 3 years ago
General
* Introduce `information_schema.materialized_view_properties` table for listing available materialized view properties. ({issue}`7615`)

https://github.com/trinodb/trino/pull/7615

losipiuk commented 3 years ago
Hive
* Allow specifying Azure ADL connection proxy via `hive.azure.adl-proxy-host` config property. ({issue}`7509`)

https://github.com/trinodb/trino/pull/7509

sopel39 commented 3 years ago
General
* Introduce planning time limit which can be specified using `query.max-planning-time` config property ({issue}`7213`)
* Improve cancellation of queries during planning phase ({issue}`7213`)

https://github.com/trinodb/trino/pull/7213

sopel39 commented 3 years ago
General
* Improve performance of queries with predicates on boolean columns ({issue}`7263`)

https://github.com/trinodb/trino/pull/7263

sopel39 commented 3 years ago
General
* Add dedicated access control for creating and dropping materialized views. ({issue}`7645`)

https://github.com/trinodb/trino/pull/7645

sopel39 commented 3 years ago
SPI
* Add `ConnectorAccessControl#checkCanCreateMaterializedView` and
  `ConnectorAccessControl#checkCanDropMaterializedView` for authorizing
  creation and removal of materialized views. ({issue}`7645`)

https://github.com/trinodb/trino/pull/7645

sopel39 commented 3 years ago
General
* Improve performance of queries that contain join on `VARCHAR` keys of different length. ({issue}`7644`)

https://github.com/trinodb/trino/pull/7644

hashhar commented 3 years ago
MongoDB
* Fix handling of non-lowercase MongoDB views. ({issue}`7491`)

https://github.com/trinodb/trino/issues/7491, https://github.com/trinodb/trino/pull/7546

sopel39 commented 3 years ago
Iceberg:
* Fix querying materialized views that were created using session catalog and schema. ({issue}`7711`)

https://github.com/trinodb/trino/pull/7711

sopel39 commented 3 years ago
SPI:
* Allow for materialized view to return storage table in different catalog and schema. ({issue}`7638`)

https://github.com/trinodb/trino/pull/7638

martint commented 3 years ago
* Add support for {doc}`/sql/match-recognize`. ({issue}`6111`)

6111

martint commented 3 years ago
* Add {func}`soundex` function. ({issue}`4022`)

4022

phd3 commented 3 years ago
* Iceberg Connector:
- Show Iceberg tables created by other engines in ``SHOW TABLES`` output. ({issue}`1592`)

1592, #7642

sopel39 commented 3 years ago
General
* Improve performance of queries with `late_materialization` enabled. ({issue}`7695`)

https://github.com/trinodb/trino/pull/7695

findepi commented 3 years ago
Hive, Iceberg
* Improve performance when reading dictionary-encoded Parquet files. ({issue}`7754`)

7754

findepi commented 3 years ago
SQL Server
* Fix reading `date` values before 1583-10-14. ({issue}`7634`)

7634

findepi commented 3 years ago
PostgreSQL
* Discontinue support for PostgreSQL 9.5.
dain commented 3 years ago
General
* Add configuration for the query info sent to clients.  This allows clients to be directed to a different location for information about their query.  This is set using the `query.info-url-template` property .  ({issue}`7678`)

7678

sopel39 commented 3 years ago
SPI
* Add `ConnectorAccessControl#checkCanRefreshMaterializedView` for authorizing
  refresh of materialized views. ({issue}`7707`)

File based access control
* Materialized views require `UPDATE` privilege to be refreshed. ({issue}`7707`)

General
* Add dedicated access control for refreshing materialized views.
  Insert privilege on storage table is no longer required. ({issue}`7707`)

https://github.com/trinodb/trino/pull/7707

ebyhr commented 3 years ago
MySQL
* Exclude an internal `sys` schema from schema listings. ({issue}`6337`)

6337

martint commented 3 years ago
* Fix failure when quantified comparison expressions contain scalar subqueries. ({issue}`7792`)

7792

phd3 commented 3 years ago
# Iceberg Connector
* Improve query planning through table metadata caching. ({issue}`7336`) 

7336, #7367

kokosing commented 3 years ago
* Fix bug when providing multiple scope values for `http-server.authentication.oauth2.scopes`. ({issue}`7706`)

7706

martint commented 3 years ago
  • Fix bug when providing multiple scope values for http-server.authentication.oauth2.scopes. ({issue}7706)

@kokosing, what's the bug? Is it an authentication failure? Incorrect authentication?

kokosing commented 3 years ago

what's the bug? Is it an authentication failure? Incorrect authentication?

It was causing authentication failure due the misconfiguration as scopes in OAuth2 are separate with space. We used to use , and so it was considered as single scope. See:

com.github.scribejava.core.model.OAuth2AccessTokenErrorResponse: {"error":"invalid_scope","error_description":"The requested scope is invalid, unknown, or malformed. The OAuth 2.0 Client is not allowed to request scope 'openid,offline'."}
    at com.github.scribejava.core.extractors.OAuth2AccessTokenJsonExtractor.generateError(OAuth2AccessTokenJsonExtractor.java:72)
    at com.github.scribejava.core.extractors.OAuth2AccessTokenJsonExtractor.extract(OAuth2AccessTokenJsonExtractor.java:40)
    at com.github.scribejava.core.extractors.OAuth2AccessTokenJsonExtractor.extract(OAuth2AccessTokenJsonExtractor.java:18)
    at com.github.scribejava.core.oauth.OAuth20Service.sendAccessTokenRequestSync(OAuth20Service.java:53)
    at com.github.scribejava.core.oauth.OAuth20Service.getAccessTokenClientCredentialsGrant(OAuth20Service.java:288)
    at io.trino.server.security.oauth2.TestDynamicCallbackOAuth2Service.testMultipleScopes(TestDynamicCallbackOAuth2Service.java:90)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:104)
    at org.testng.internal.Invoker.invokeMethod(Invoker.java:645)
    at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:851)
    at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1177)
    at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129)
    at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112)
    at org.testng.TestRunner.privateRun(TestRunner.java:756)
    at org.testng.TestRunner.run(TestRunner.java:610)
    at org.testng.SuiteRunner.runTest(SuiteRunner.java:387)
    at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:382)
    at org.testng.SuiteRunner.privateRun(SuiteRunner.java:340)
    at org.testng.SuiteRunner.run(SuiteRunner.java:289)