ulysses-you commented on code in PR #57363:
URL: https://github.com/apache/spark/pull/57363#discussion_r3618938565


##########
docs/sql-migration-guide.md:
##########
@@ -28,6 +28,7 @@ license: |
 - Since Spark 4.3, the configuration key 
`spark.sql.sources.v2.bucketing.allowJoinKeysSubsetOfPartitionKeys.enabled` has 
been renamed to 
`spark.sql.sources.v2.bucketing.allowKeysSubsetOfPartitionKeys.enabled` to 
reflect that it now applies to storage-partitioned joins, aggregates, and 
windows. The old key continues to work as an alias.
 - Since Spark 4.3, the Spark Thrift Server rejects setting JVM system 
properties through the `set:system:` session configuration overlay (for 
example, in a JDBC connection string). To restore the previous behavior, set 
`spark.sql.legacy.hive.thriftServer.allowSettingSystemProperties` to `true`.
 - Since Spark 4.3, the adaptive execution rule 
`org.apache.spark.sql.execution.adaptive.DynamicJoinSelection` has been renamed 
to `DemoteBroadcastHashJoin`, which now only demotes broadcast hash joins 
(emitting `NO_BROADCAST_HASH`). Its selection of shuffled hash join over sort 
merge join has moved to a new physical rule gated by 
`spark.sql.adaptive.convertSortMergeJoinToShuffledHashJoin.enabled` (default 
`true`). If you previously disabled the shuffled-hash-join preference by 
listing `org.apache.spark.sql.execution.adaptive.DynamicJoinSelection` in 
`spark.sql.adaptive.optimizer.excludedRules`, that name no longer matches any 
rule (unknown names are silently ignored); set 
`spark.sql.adaptive.convertSortMergeJoinToShuffledHashJoin.enabled` to `false` 
instead.
+- Since Spark 4.3, `spark.sql.execution.replaceHashWithSortAgg` defaults to 
`true`. Spark now replaces a hash-based aggregate with a sort aggregate when 
the aggregate's child is already sorted on the grouping keys. To restore the 
previous behavior, set `spark.sql.execution.replaceHashWithSortAgg` to `false`.

Review Comment:
   Good point — restored. The migration guide now has a separate entry for 
`spark.sql.execution.combineAdjacentAggregation` under "Upgrading from Spark 
SQL 4.2 to 4.3", and it states explicitly that the setting is independent of 
`replaceHashWithSortAgg`, so disabling only `replaceHashWithSortAgg` still 
leaves adjacent aggregation combined; both must be set to `false` to fully 
restore the previous partial/final staging.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to