Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add release notes for 0.285 #21579

Merged
merged 1 commit into from
Jan 4, 2024

Conversation

majetideepak
Copy link
Collaborator

@majetideepak majetideepak commented Dec 20, 2023

No description provided.

@github-actions github-actions bot added the docs label Dec 20, 2023

Security Changes
________________
* Fix critical vulnerability in Babel and related npm packages by updating to newer versions. :pr:`21322`
Copy link
Collaborator Author

@majetideepak majetideepak Dec 20, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tdcmeehan I felt it is easier to read the release notes if we keep them brief and include a link to the PR or the doc for the feature.
Any thoughts?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is a good idea to keep the note concise, while allowing people to dig deeper.

@majetideepak majetideepak marked this pull request as ready for review December 20, 2023 13:05
@majetideepak majetideepak requested a review from a team as a code owner December 20, 2023 13:05
Copy link

github-actions bot commented Dec 20, 2023

Codenotify: Notifying subscribers in CODENOTIFY files for diff ec51f52...760b684.

Notify File(s)
@steveburnett presto-docs/src/main/sphinx/release.rst
presto-docs/src/main/sphinx/release/release-0.285.rst

@majetideepak
Copy link
Collaborator Author

self comment: Add release note for #21578

* Fix directory listing over directories with content-type ``application/octet-stream`` (:issue:`20310`).
* Add DWRF filetype to min, max filtering for special column types such as tinyint, varbinary and timestamp.

Iceberg Connector Changes
_______________
_________________________
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please exclude 0.284. No need to update.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed.

@wanglinsong
Copy link
Member

Ref: #21500

@tdcmeehan tdcmeehan mentioned this pull request Dec 22, 2023
26 tasks
Copy link
Contributor

@steveburnett steveburnett left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I made some suggestions adding PR links, links to docs, or both, where I thought they would benefit the reader.
Suggested some revisions of individual release note entries based on the wording in the Order of changes in the Release Note Guidelines.

A structure comment: I suggest rearranging the sections to follow the sequence presented in the Order of sections in the Release Note Guidelines.

Note: "Documentation" is not currently a section heading in the Order of sections. Suggest remove the heading and collapse the docs entries into General Changes, or we consider updating the Order of Sections.

presto-docs/src/main/sphinx/release/release-0.285.rst Outdated Show resolved Hide resolved
presto-docs/src/main/sphinx/release/release-0.285.rst Outdated Show resolved Hide resolved
presto-docs/src/main/sphinx/release/release-0.285.rst Outdated Show resolved Hide resolved
presto-docs/src/main/sphinx/release/release-0.285.rst Outdated Show resolved Hide resolved
presto-docs/src/main/sphinx/release/release-0.285.rst Outdated Show resolved Hide resolved
presto-docs/src/main/sphinx/release/release-0.285.rst Outdated Show resolved Hide resolved
presto-docs/src/main/sphinx/release/release-0.285.rst Outdated Show resolved Hide resolved
presto-docs/src/main/sphinx/release/release-0.285.rst Outdated Show resolved Hide resolved
presto-docs/src/main/sphinx/release/release-0.285.rst Outdated Show resolved Hide resolved
presto-docs/src/main/sphinx/release/release-0.285.rst Outdated Show resolved Hide resolved
@majetideepak
Copy link
Collaborator Author

@steveburnett thanks for sharing Order of Changes. I followed that document and made some more changes. Please take another look.

Copy link
Contributor

@steveburnett steveburnett left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the changes! I found three nits that surfaced as part of the suggested changes from the first review, but there's nothing else.

Did a local build of docs, reviewed the page as built. Also tested and verified that all links to PRs and docs work and link to the indicated destination.

presto-docs/src/main/sphinx/release/release-0.285.rst Outdated Show resolved Hide resolved
presto-docs/src/main/sphinx/release/release-0.285.rst Outdated Show resolved Hide resolved
presto-docs/src/main/sphinx/release/release-0.285.rst Outdated Show resolved Hide resolved
Copy link
Contributor

@steveburnett steveburnett left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! (docs)

Did a local build of docs and reviewed the page as built. Tested and verified that all links to PRs and docs work, and link to the indicated destination.

Copy link
Contributor

@tdcmeehan tdcmeehan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

High level, release notes should be understandable to end users of Presto--i.e., operators. The audience is not DB developers, they're data engineers and people who have very little time to parse and understand the release notes content. It needs to be concise and understandable to lay people.

* Improve latency of HBO. :pr:`21297`
* Improve HBO to track partial aggregation statistics. :pr:`21160`
* Improve PushPartialAggregationThroughExchange to use partial aggregation statistics when available. This extends to multi-key aggregations.
* Improve union node by removing the empty inputs.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* Improve union node by removing the empty inputs.
* Improve performance of union when subqueries are empty.

_______________
* Fix `min_by(x, y, n) / max_by(x, y, n)` functions to ensure `n` is unique.
* Fix LIKE pattern to handle multi-byte characters. :pr:`21578`
* Improve latency of HBO. :pr:`21297`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* Improve latency of HBO. :pr:`21297`
* Improve latency of HBO. :pr:`21297`, :pr:`21308`

* Improve HBO to track partial aggregation statistics. :pr:`21160`
* Improve PushPartialAggregationThroughExchange to use partial aggregation statistics when available. This extends to multi-key aggregations.
* Improve union node by removing the empty inputs.
* Improve HBO latency by skipping retry if it times out. :pr:`21308`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* Improve HBO latency by skipping retry if it times out. :pr:`21308`

* Improve PushPartialAggregationThroughExchange to use partial aggregation statistics when available. This extends to multi-key aggregations.
* Improve union node by removing the empty inputs.
* Improve HBO latency by skipping retry if it times out. :pr:`21308`
* Improve join-reordering to work with non-simple equi-join predicates.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* Improve join-reordering to work with non-simple equi-join predicates.
* Improve cost based optimizer join reordering to work with ....

Any suggestions on how to make "non-simple equijoin predicates" a little bit more understandable?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably a link to the PR will help.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CC: @aaneja for input.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about - Improve join reordering for complex equi-join clauses PR : #21153

Copy link
Collaborator Author

@majetideepak majetideepak Jan 4, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

complex is slightly better than non-simple but I believe a Presto user is better off looking at the PR for the actual improvement. I don't think there is an easy wording to describe the change here.

* Improve union node by removing the empty inputs.
* Improve HBO latency by skipping retry if it times out. :pr:`21308`
* Improve join-reordering to work with non-simple equi-join predicates.
* Improve :doc:`REST API</rest>` documentation by providing links.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* Improve :doc:`REST API</rest>` documentation by providing links.

Just a docs update, can omit.

Comment on lines 24 to 27
* Add a session property ``history_input_table_statistics_matching_threshold`` to set the threshold for input statistics match in HBO. :pr:`21063`
* Add a session property ``remove_redundant_cast_to_varchar_in_join`` (enabled by default) to remove redundant `cast to varchar` expressions in a join condition. :pr:`21050`
* Add a session property ``enable_hbo_for_scaled_writer`` (disabled by default) to use HBO for scaled writers.
* Add a session property ``use_partial_aggregation_history`` if partial aggregation statistics must be used to split aggregates into partial and final. :pr:`21160`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's word it like:

Feature -> this feature is configurable by session property X (enabled/disabled by default)

* Add a session property ``remove_redundant_cast_to_varchar_in_join`` (enabled by default) to remove redundant `cast to varchar` expressions in a join condition. :pr:`21050`
* Add a session property ``enable_hbo_for_scaled_writer`` (disabled by default) to use HBO for scaled writers.
* Add a session property ``use_partial_aggregation_history`` if partial aggregation statistics must be used to split aggregates into partial and final. :pr:`21160`
* Add a config property ``task.memory-based-slowdown-threshold`` that provides a heap memory threshold below which new splits are not processed. :pr:`20946`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This feature is experimental and dangerous, I do not recommend adding it to the release notes.

* Add tracking of null probe keys in join and use it to enable outer join null salt in history-based optimization. :pr:`21203`
* Add optimization where values node followed by an always false filter is converted to an empty values node.
* Add information about cost-based optimizers and the source of stats they use (CBO/HBO) in explain plans when session property ``verbose_optimizer_info_enabled=true``. :pr:`20990`
* Add a boolean to the PlanOptimizer's return value to indicate if an optimization has been triggered.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not a user facing change, can remove

* Add optimization where values node followed by an always false filter is converted to an empty values node.
* Add information about cost-based optimizers and the source of stats they use (CBO/HBO) in explain plans when session property ``verbose_optimizer_info_enabled=true``. :pr:`20990`
* Add a boolean to the PlanOptimizer's return value to indicate if an optimization has been triggered.
* Rename config ``experiemental.task.high-memory-task-killer-strategy`` to ``experimental.task.high-memory-task-killer-strategy``.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Per above, let's just remove it altogether

* Add a session property ``enable_hbo_for_scaled_writer`` (disabled by default) to use HBO for scaled writers.
* Add a session property ``use_partial_aggregation_history`` if partial aggregation statistics must be used to split aggregates into partial and final. :pr:`21160`
* Add a config property ``task.memory-based-slowdown-threshold`` that provides a heap memory threshold below which new splits are not processed. :pr:`20946`
* Add tracking of null probe keys in join and use it to enable outer join null salt in history-based optimization. :pr:`21203`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs to be more understandable for a user.

Suggested change
* Add tracking of null probe keys in join and use it to enable outer join null salt in history-based optimization. :pr:`21203`
* Improve history based optimizer performance when nulls are present in joins. :pr:`21203`

Copy link
Contributor

@tdcmeehan tdcmeehan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Thank you for linking the PRs, I find this very useful to keep the release note concise, while also giving more technical people a way to understand more details.

@wanglinsong wanglinsong merged commit 9af4347 into prestodb:master Jan 4, 2024
57 checks passed
@majetideepak majetideepak deleted the release-notes-285 branch February 2, 2024 16:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

5 participants