Skip to content

Add release notes for 0.294 #37

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

Open
wants to merge 111 commits into
base: master
Choose a base branch
from
Open

Add release notes for 0.294 #37

wants to merge 111 commits into from

Conversation

unidevel
Copy link

Missing Release Notes

Arjun Gupta

Gary Helmling

Jialiang Tan

Shakyan Kushwaha

Zhichen Xu

unidevel

  • 5dd1ff7 Add name to pom.xml to fix release validation

Extracted Release Notes

All Commits

shangm2 and others added 30 commits June 12, 2025 10:40
## Description
1. Update drift annotation for two classes per issue
prestodb#25287

## Motivation and Context
<!---Why is this change required? What problem does it solve?-->
<!---If it fixes an open issue, please link to the issue here.-->

## Impact
<!---Describe any public API or user-facing feature change or any
performance impact-->

## Test Plan
1. passed verifier tests
2. Updated idl
<img width="259" alt="Screenshot 2025-06-11 at 14 51 53"
src="https://github.com/user-attachments/assets/d90b9335-649d-4a79-b58b-59fedecf5414"
/>


## Contributor checklist

- [ ] Please make sure your submission complies with our [contributing
guide](https://github.com/prestodb/presto/blob/master/CONTRIBUTING.md),
in particular [code
style](https://github.com/prestodb/presto/blob/master/CONTRIBUTING.md#code-style)
and [commit
standards](https://github.com/prestodb/presto/blob/master/CONTRIBUTING.md#commit-standards).
- [ ] PR description addresses the issue accurately and concisely. If
the change is non-trivial, a GitHub Issue is referenced.
- [ ] Documented new properties (with its default value), SQL syntax,
functions, or other functionality.
- [ ] If release notes are required, they follow the [release notes
guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines).
- [ ] Adequate tests were added if applicable.
- [ ] CI passed.

## Release Notes

```
== NO RELEASE NOTE ==
```
This PR unifies the usage of the number of parallel build threads by using
the defined NPROC variable. This variable is populated by the same
mechanisms on macOS and Linux ensuring consistency and sharable functions
for the script refactor.
These rely on checked-in key stores and trust stores which are expired.
Trigger cpp tests for all changes, even if they don't touch
presto-native-excution or presto-native-sidecar-plugin.  Only exception
is the prestocpp-format-and-header-check because that is specifically a
formatting check on changes to cpp files, and not affected by changes in
other parts of the codebase.
Co-Authored-By: Steve Burnett <[email protected]>
Had to fix:
- new location for license check. This caused the protocol files
to be incorrectly generated (aborted processing)
- missing symbols in a atest, explicitly adding the libraries that
contain them fixes the issue
## Description

When release 0.293, there   is an error when publishing maven artifacts,
cherry-pick @ZacBlanco 's fix from release 0.292

```
Error:  Rule failure while trying to close staging repository with ID "comfacebook-4054".
Error:  
Error:  Nexus Staging Rules Failure Report
Error:  ==================================
Error:  
Error:  Repository "comfacebook-4054" failures
Error:    Rule "javadoc-staging" failures
Error:      * Missing: no main jar artifact found in folder '/com/facebook/presto/presto-native-tests/0.293'
Error:    Rule "sources-staging" failures
Error:      * Missing: no main jar artifact found in folder '/com/facebook/presto/presto-native-tests/0.293'
Error:  
Error:  
Error:  Cleaning up local stage directory after a Rule failure during close of staging repositories: [comfacebook-4054]
Error:   * Deleting context ***.properties
Error:  Cleaning up remote stage repositories after a Rule failure during close of staging repositories: [comfacebook-4054]
Error:   * Not dropping failed staging repository with ID "comfacebook-4054" (Rule failure during close of staging repositories: [comfacebook-4054]).
Error:  Remote staging finished with a failure: Staging rules failure!
```

## Motivation and Context


## Impact
Release

## Test Plan
Tested with release 0.293

## Contributor checklist

- [ ] Please make sure your submission complies with our [contributing
guide](https://github.com/prestodb/presto/blob/master/CONTRIBUTING.md),
in particular [code
style](https://github.com/prestodb/presto/blob/master/CONTRIBUTING.md#code-style)
and [commit
standards](https://github.com/prestodb/presto/blob/master/CONTRIBUTING.md#commit-standards).
- [ ] PR description addresses the issue accurately and concisely. If
the change is non-trivial, a GitHub Issue is referenced.
- [ ] Documented new properties (with its default value), SQL syntax,
functions, or other functionality.
- [ ] If release notes are required, they follow the [release notes
guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines).
- [ ] Adequate tests were added if applicable.
- [ ] CI passed.

## Release Notes
Please follow [release notes
guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines)
and fill in the release notes below.

```
== NO RELEASE NOTE ==
```

Co-authored-by: Zac Blanco <[email protected]>
Summary:
Pull Request resolved: prestodb#25325

add native_query_memory_reclaimer_priority property
Used for victim selection when killing queries to avoid worker OOM

Differential Revision: D76368381
…odb#25308)

## Description
Make relevant changes in cpp based on IDL changes for TimeZoneKey and
HostAddress in prestodb#25292 to address
prestodb#25287
## Motivation and Context
<!---Why is this change required? What problem does it solve?-->
<!---If it fixes an open issue, please link to the issue here.-->

## Impact
<!---Describe any public API or user-facing feature change or any
performance impact-->

## Test Plan
Verifier (227811)


## Contributor checklist

- [x] Please make sure your submission complies with our [contributing
guide](https://github.com/prestodb/presto/blob/master/CONTRIBUTING.md),
in particular [code
style](https://github.com/prestodb/presto/blob/master/CONTRIBUTING.md#code-style)
and [commit
standards](https://github.com/prestodb/presto/blob/master/CONTRIBUTING.md#commit-standards).
- [x] PR description addresses the issue accurately and concisely. If
the change is non-trivial, a GitHub Issue is referenced.
- [ ] Documented new properties (with its default value), SQL syntax,
functions, or other functionality.
- [x] If release notes are required, they follow the [release notes
guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines).
- [x] Adequate tests were added if applicable.
- [x] CI passed.

## Release Notes

```
== NO RELEASE NOTE ==
```
removed dep manag from redshift pom
Co-authored-by: pratyakshsharma <[email protected]>
Introduce a new “Avro Configuration Properties” section describing:
-  and  for Presto table DDL
-  for Hive 3.x Metastore (SerDeStorageSchemaReader)
Include the XML snippet and note about restarting the metastore to avoid “Storage schema reading not supported” errors.

Resolves: prestodb#24447
Co-authored-by: Zoltan Arnold Nagy <[email protected]>
Co-authored-by: Steve Burnett <[email protected]>
pdabre12 and others added 28 commits July 1, 2025 00:43
## Description

1. The prepare action will fail if there is PR merged or commits pushed
during the review & approval for the action

Log:
https://github.com/prestodb/presto/actions/runs/15301329058/job/43042428741#step:8:79
Root cause: push failed because new commits added not inside the action
Solution: reset the branch to get latest code before cut release (though
there are still a short time window that new commits being pushed)

2.  Release notes not generated correctly
Log:
https://github.com/prestodb/presto/actions/runs/15327479474/job/43128873381#step:6:110
   Root cause: probably related to the fetch depth, 
   Solution: fetch full commit history

```log
2025-05-29T15:42:04.819Z	INFO	main	com.facebook.presto.release.tasks.GenerateReleaseNotesTask	Release version: 0.293, Last Version: 0.292
2025-05-29T15:42:04.820Z	INFO	main	com.facebook.presto.release.AbstractCommands	Running Command: git log upstream/release-0.292..upstream/release-0.293 --format=%H --date-order; Log: /tmp/presto-release-log16231096948632379759
2025-05-29T15:42:04.823Z	INFO	main	com.facebook.presto.release.AbstractCommands	Finished running command: git log upstream/release-0.292..upstream/release-0.293 --format=%H --date-order
2025-05-29T15:42:04.824Z	INFO	main	com.facebook.presto.release.tasks.GenerateReleaseNotesTask	Fetching Github commits
2025-05-29T15:42:08.621Z	INFO	main	com.facebook.presto.release.tasks.GenerateReleaseNotesTask	Fetched 2 commits
2025-05-29T15:42:08.622Z	INFO	main	com.facebook.presto.release.tasks.GenerateReleaseNotesTask	Processing 1 commits
2025-05-29T15:42:08.623Z	INFO	main	com.facebook.presto.release.tasks.GenerateReleaseNotesTask	pull request description matches with no release note pattern
```


## Motivation and Context
<!---Why is this change required? What problem does it solve?-->
<!---If it fixes an open issue, please link to the issue here.-->
Issues from release 0.293


## Impact
<!---Describe any public API or user-facing feature change or any
performance impact-->

Release actions


## Test Plan
<!---Please fill in how you tested your change-->
Tested with: https://github.com/unix280/presto/actions/runs/15754867690

## Contributor checklist

- [ ] Please make sure your submission complies with our [contributing
guide](https://github.com/prestodb/presto/blob/master/CONTRIBUTING.md),
in particular [code
style](https://github.com/prestodb/presto/blob/master/CONTRIBUTING.md#code-style)
and [commit
standards](https://github.com/prestodb/presto/blob/master/CONTRIBUTING.md#commit-standards).
- [ ] PR description addresses the issue accurately and concisely. If
the change is non-trivial, a GitHub Issue is referenced.
- [ ] Documented new properties (with its default value), SQL syntax,
functions, or other functionality.
- [ ] If release notes are required, they follow the [release notes
guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines).
- [ ] Adequate tests were added if applicable.
- [ ] CI passed.

## Release Notes
Please follow [release notes
guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines)
and fill in the release notes below.

```
== NO RELEASE NOTE ==
```
Use jobs.<job_id>.if to control job execution instead of
on.pull_request.paths-ignore. This ensures that skipped jobs
are marked as Success rather than remaining in a Pending state.
…5456)

## Description
Add documentation for verbose_optimizer_info_enabled and
optimizers_to_enable_verbose_runtime_stats session properties. Fixes
prestodb#25452.

## Motivation and Context
These two session properties are undocumented and are useful for
debugging optimizer-related problems in development.

## Impact
Documentation. 

## Test Plan
Local doc build. Screenshot:
<img width="712" alt="Screenshot 2025-06-27 at 3 50 11 PM"
src="https://github.com/user-attachments/assets/63e6ef05-e691-40b4-b293-5c796fe894eb"
/>

## Contributor checklist

- [x] Please make sure your submission complies with our [contributing
guide](https://github.com/prestodb/presto/blob/master/CONTRIBUTING.md),
in particular [code
style](https://github.com/prestodb/presto/blob/master/CONTRIBUTING.md#code-style)
and [commit
standards](https://github.com/prestodb/presto/blob/master/CONTRIBUTING.md#commit-standards).
- [x] PR description addresses the issue accurately and concisely. If
the change is non-trivial, a GitHub Issue is referenced.
- [x] Documented new properties (with its default value), SQL syntax,
functions, or other functionality.
- [x] If release notes are required, they follow the [release notes
guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines).
- [x] Adequate tests were added if applicable.
- [x] CI passed.

## Release Notes
```
== NO RELEASE NOTE ==
```
…ies (prestodb#25463)

## Description
Add doc for `offset-clause-enabled` and `offset_clause_enabled`
configuration and session properties. Fixes prestodb#25453.

## Motivation and Context
In [a
comment](prestodb#25216 (comment))
on prestodb#25216, @xieandrew mentioned
_Separately, it may be important to document the offset_clause_enabled
session prop and offset-clause-enabled configuration prop since those
are needed by the user to actually use the main feature this fix relates
to. I only see those properties in a release note:
https://prestodb.io/docs/current/release/release-0.257.html#general-changes_.

## Impact
Documentation. 

## Test Plan
Local doc builds. Screenshots: 

Configuration property `offset-clause-enabled`
<img width="631" alt="Screenshot 2025-06-30 at 3 12 34 PM"
src="https://github.com/user-attachments/assets/a371db01-228d-4690-99ae-b8b5bd0a4fdd"
/>

Session property `offset_clause_enabled`
<img width="632" alt="Screenshot 2025-06-30 at 3 12 39 PM"
src="https://github.com/user-attachments/assets/7962ee37-a77b-4de5-ae50-37a2ad4600e5"
/>

## Contributor checklist

- [x] Please make sure your submission complies with our [contributing
guide](https://github.com/prestodb/presto/blob/master/CONTRIBUTING.md),
in particular [code
style](https://github.com/prestodb/presto/blob/master/CONTRIBUTING.md#code-style)
and [commit
standards](https://github.com/prestodb/presto/blob/master/CONTRIBUTING.md#commit-standards).
- [x] PR description addresses the issue accurately and concisely. If
the change is non-trivial, a GitHub Issue is referenced.
- [x] Documented new properties (with its default value), SQL syntax,
functions, or other functionality.
- [x] If release notes are required, they follow the [release notes
guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines).
- [x] Adequate tests were added if applicable.
- [x] CI passed.

## Release Notes
```
== NO RELEASE NOTE ==
```
Adds session and config properties to the Iceberg connector allowing
users to toggle the Iceberg delete-as-join optimizer rule based on the 
column count of the delete file. Deprecates the old binary flag, in the
future it will be deleted and replaced with the column count toggle.
…restodb#25471)

Summary: Currently, seeing index out of range errors for cases when a
struct column is read, but none of its subfields are referenced

Reviewed By: rschlussel

Differential Revision: D76869401


Test Plan

```
with shaped as (SELECT fb_reshape_row(person,CAST(NULL AS ROW(age INTEGER, city VARCHAR))) AS pcol FROM tangk_struct_table),
raw as (select person as pcol from prism.di.tangk_struct_table)
select pcol from shaped

```

For cases when the struct column does not have any of its subfields
referenced, the fb_reshape_row expression is passed into the toSubfield
method

![image](https://github.com/user-attachments/assets/545c3f41-b5af-4006-b599-6249acba90a5)

When a subfield is actually read in the query, a DEREFERENCE is passed
in

![image](https://github.com/user-attachments/assets/388b7585-183a-4103-a874-e34d002569c8)


In the dereference case, the elements immutablelist builder will have at
least one element. In the first case, the list builder will be empty


**Manual tests:**
Verifier query that caught the empty subfields bug:
0.294-edge2: 20250618_024807_00003_snxkc. Failed with index out of range
0.294-20250618.023458-171: 20250618_025504_00004_29vsz succeed

Arg pushdown
20250618_025745_00008_29vsz correct query plan with pushed down subfield
```
Fragment 0 [SINGLE]
    CPU: 884.46us, Scheduled: 982.69us, Input: 1 row (812B); per task: avg.: 1.00 std.dev.: 0.00, Output: 1 row (812B), 1 tasks
    Output layout: [field]
    Output partitioning: SINGLE []
    Output encoding: COLUMNAR
    Stage Execution Strategy: UNGROUPED_EXECUTION
    - Output[PlanNodeId 6][Query Plan] => [field:varchar(807)]
            CPU: 0.00ns (?%), Scheduled: 0.00ns (?%), Output: 1 row (812B)
            Input avg.: 1.00 rows, Input std.dev.: 0.00%
            Query Plan := field
        - Values[PlanNodeId 0] => [field:varchar(807)]
                CPU: 0.00ns (?%), Scheduled: 0.00ns (?%), Output: 1 row (812B)
                Input avg.: 1.00 rows, Input std.dev.: 0.00%
                (VARCHAR'- Output[PlanNodeId 10][age] => [expr_3:integer]
                        age := expr_3 (3:8)
                    - RemoteStreamingExchange[PlanNodeId 222][GATHER - COLUMNAR] => [expr_3:integer]
                        - ScanProject[PlanNodeId 0,6][table = TableHandle {connectorId=''prism'', connectorHandle=''PrismTableHandle{schemaName=di, tableName=tangk_struct_table, analyzePartitionValues=Optional.empty, sideTableFeatureIds=[]}'', layout=''Optional[di.tangk_struct_table{}]''}, projectLocality = LOCAL] => [expr_3:integer]
                                expr_3 := DEREFERENCE(fb_reshape_row(person, null), INTEGER''0'') (1:114)
                                LAYOUT: di.tangk_struct_table{}
                                person := person:struct<age:int,city:string>:0:REGULAR:[person.age] (1:113)
                                id:bigint:-13:PARTITION_KEY
                                    :: [["1"], ["2"], ["3"], ["4"], ["5"]]
                ')
```


20250618_025948_00010_29vsz query plan with non relevant function
```
Fragment 0 [SINGLE]
    CPU: 990.72us, Scheduled: 1.05ms, Input: 1 row (805B); per task: avg.: 1.00 std.dev.: 0.00, Output: 1 row (805B), 1 tasks
    Output layout: [field]
    Output partitioning: SINGLE []
    Output encoding: COLUMNAR
    Stage Execution Strategy: UNGROUPED_EXECUTION
    - Output[PlanNodeId 6][Query Plan] => [field:varchar(800)]
            CPU: 0.00ns (?%), Scheduled: 0.00ns (?%), Output: 1 row (805B)
            Input avg.: 1.00 rows, Input std.dev.: 0.00%
            Query Plan := field
        - Values[PlanNodeId 0] => [field:varchar(800)]
                CPU: 0.00ns (?%), Scheduled: 0.00ns (?%), Output: 1 row (805B)
                Input avg.: 1.00 rows, Input std.dev.: 0.00%
                (VARCHAR'- Output[PlanNodeId 10][age] => [expr_3:integer]
                        age := expr_3 (1:209)
                    - RemoteStreamingExchange[PlanNodeId 222][GATHER - COLUMNAR] => [expr_3:integer]
                        - ScanProject[PlanNodeId 0,6][table = TableHandle {connectorId=''prism'', connectorHandle=''PrismTableHandle{schemaName=di, tableName=tangk_struct_table, analyzePartitionValues=Optional.empty, sideTableFeatureIds=[]}'', layout=''Optional[di.tangk_struct_table{}]''}, projectLocality = LOCAL] => [expr_3:integer]
                                expr_3 := DEREFERENCE(fb_reshape_row_old(person, null), INTEGER''0'') (1:124)
                                LAYOUT: di.tangk_struct_table{}
                                person := person:struct<age:int,city:string>:0:REGULAR (1:123)
                                id:bigint:-13:PARTITION_KEY
                                    :: [["1"], ["2"], ["3"], ["4"], ["5"]]
                ')


```

20250618_030040_00011_29vsz expected plan
```
Fragment 0 [SINGLE]
    CPU: 986.39us, Scheduled: 1.05ms, Input: 1 row (792B); per task: avg.: 1.00 std.dev.: 0.00, Output: 1 row (792B), 1 tasks
    Output layout: [field]
    Output partitioning: SINGLE []
    Output encoding: COLUMNAR
    Stage Execution Strategy: UNGROUPED_EXECUTION
    - Output[PlanNodeId 6][Query Plan] => [field:varchar(787)]
            CPU: 0.00ns (?%), Scheduled: 0.00ns (?%), Output: 1 row (792B)
            Input avg.: 1.00 rows, Input std.dev.: 0.00%
            Query Plan := field
        - Values[PlanNodeId 0] => [field:varchar(787)]
                CPU: 0.00ns (?%), Scheduled: 0.00ns (?%), Output: 1 row (792B)
                Input avg.: 1.00 rows, Input std.dev.: 0.00%
                (VARCHAR'- Output[PlanNodeId 10][age] => [expr_4:integer]
                        age := expr_4 (1:205)
                    - RemoteStreamingExchange[PlanNodeId 215][GATHER - COLUMNAR] => [expr_4:integer]
                        - ScanProject[PlanNodeId 0,6][table = TableHandle {connectorId=''prism'', connectorHandle=''PrismTableHandle{schemaName=di, tableName=tangk_struct_table, analyzePartitionValues=Optional.empty, sideTableFeatureIds=[]}'', layout=''Optional[di.tangk_struct_table{}]''}, projectLocality = LOCAL] => [expr_4:integer]
                                expr_4 := DEREFERENCE(person, INTEGER''0'') (1:158)
                                LAYOUT: di.tangk_struct_table{}
                                person := person:struct<age:int,city:string>:0:REGULAR:[person.age] (1:177)
                                id:bigint:-13:PARTITION_KEY
                                    :: [["1"], ["2"], ["3"], ["4"], ["5"]]
                ')

```
## Release Notes
Please follow [release notes
guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines)
and fill in the release notes below.

```
== RELEASE NOTES ==
General Changes
* Fix subfield pushdown arg index for scalar functions to support selecting whole struct column
```
Summary:
Pull Request resolved: prestodb#25284

Currently, the $row_id column is automatically inserted into the output variables for DELETE queries by QueryPlanner.  If a connector does not actually use $row_id to implement DELETE, then we should not require it.  This makes $row_id optional.  If the Optional is empty, then we don't need to project the output variable.

Differential Revision: D76325048
prestodb#25469)

## Description
<!---Describe your changes in detail-->
After recent fixes to utilized column analyzer for unnest, CTE, and
logical views, the feature is stable enough to enable to full.

Some known gaps to the feature:
- Queries that have `using` in the join condition
- Queries have duplicate named CTEs 

However, these issues can be unblocked by replacing `using` clause with
`on` condition. Also, ensuring that CTEs all have unique names in the
query. Worst case, these bugs will cause a fall back to check all
columns, which is just existing behavior.

## Motivation and Context
<!---Why is this change required? What problem does it solve?-->
<!---If it fixes an open issue, please link to the issue here.-->

This feature can reduce access friction for queries. In the worst case,
it just defaults to checking all columns. So this feature would either
keep the friction the same or reduce it. This feature would never
increase access friction.

## Impact
<!---Describe any public API or user-facing feature change or any
performance impact-->
Changing session flag to be default true
## Test Plan
<!---Please fill in how you tested your change-->
Build and check on hive query runner
<img width="1184" alt="Screenshot 2025-06-27 at 2 30 57 PM"
src="https://github.com/user-attachments/assets/8c681d0c-81e9-4ea1-960d-dd356722a9fb"
/>


## Contributor checklist

- [ ] Please make sure your submission complies with our [contributing
guide](https://github.com/prestodb/presto/blob/master/CONTRIBUTING.md),
in particular [code
style](https://github.com/prestodb/presto/blob/master/CONTRIBUTING.md#code-style)
and [commit
standards](https://github.com/prestodb/presto/blob/master/CONTRIBUTING.md#commit-standards).
- [ ] PR description addresses the issue accurately and concisely. If
the change is non-trivial, a GitHub Issue is referenced.
- [ ] Documented new properties (with its default value), SQL syntax,
functions, or other functionality.
- [ ] If release notes are required, they follow the [release notes
guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines).
- [ ] Adequate tests were added if applicable.
- [ ] CI passed.

## Release Notes
Please follow [release notes
guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines)
and fill in the release notes below.

```
== RELEASE NOTES ==

General Changes
* Enable check_access_control_on_utilized_columns_only session flag to default true
@unidevel unidevel force-pushed the master branch 2 times, most recently from d25f025 to ee82a80 Compare July 11, 2025 07:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.