You are viewing a plain text version of this content. The canonical link for it is here.
Posted to gitbox@hive.apache.org by "Aggarwal-Raghav (via GitHub)" <gi...@apache.org> on 2026/09/30 12:07:56 UTC

[PR] HIVE-30101: Prevent SortedDynPartitionOptimizer from injecting ReduceSink when stats are missing [hive]

Aggarwal-Raghav opened a new pull request, #6831:
URL: https://github.com/apache/hive/pull/6831

   ### What changes were proposed in this pull request?
   [HIVE-30101](https://issues.apache.org/jira/browse/HIVE-30101) Modified `shouldDo()` in `SortedDynPartitionOptimizer` to return false (instead of true) when table statistics, column statistics, or partition cardinalities cannot be computed.
   
   ### Why are the changes needed?
   In Hive 3, SortedDynPartitionOptimizer optimization was controlled by a boolean config `hive.optimize.sort.dynamic.partition` and was false by default. In Hive 4, it was migrated to `hive.optimize.sort.dynamic.partition.threshold` and defaults to 0 (cost-based/automatic). 
   
   Because of this new default, in prod, **multilple user reported severe query performance degradation** and after setting it to `hive.optimize.sort.dynamic.partition.threshold=-1` on beeline session it has helped achieve previous or improved SLA between **Hive3 vs Hive 4.0.1**
   
   Few Queries have degraded from 2 hr to 10-15 hrs as only 4 reducers are doing work instead of 200 causes massive bottleneck.
     
   ### Does this PR introduce _any_ user-facing change?
   NO
   
   ### How was this patch tested?
   On local setup


-- 
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: gitbox-unsubscribe@hive.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: gitbox-unsubscribe@hive.apache.org
For additional commands, e-mail: gitbox-help@hive.apache.org


Re: [PR] HIVE-30101: Prevent SortedDynPartitionOptimizer from injecting ReduceSink when stats are missing [hive]

Posted by "sonarqubecloud[bot] (via GitHub)" <gi...@apache.org>.
sonarqubecloud[bot] commented on PR #6831:
URL: https://github.com/apache/hive/pull/6831#issuecomment-5923118247

   ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=apache_hive&pullRequest=6831) **Quality Gate passed**  
   Issues  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [70 New issues](https://sonarcloud.io/project/issues?id=apache_hive&pullRequest=6831&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=apache_hive&pullRequest=6831&issueStatuses=ACCEPTED)
   
   Measures  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=apache_hive&pullRequest=6831&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=apache_hive&pullRequest=6831&metric=new_coverage&view=list)  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [1.5% Duplication on New Code](https://sonarcloud.io/component_measures?id=apache_hive&pullRequest=6831&metric=new_duplicated_lines_density&view=list)  
     
   <!-- sqra-placement-anchor -->
   [See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=apache_hive&pullRequest=6831)
   
   


-- 
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: gitbox-unsubscribe@hive.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: gitbox-unsubscribe@hive.apache.org
For additional commands, e-mail: gitbox-help@hive.apache.org


Re: [PR] HIVE-30101: Prevent SortedDynPartitionOptimizer from injecting ReduceSink when stats are missing [hive]

Posted by "Aggarwal-Raghav (via GitHub)" <gi...@apache.org>.
Aggarwal-Raghav commented on PR #6831:
URL: https://github.com/apache/hive/pull/6831#issuecomment-5911430064

   Seems Related to [HIVE-22269](https://issues.apache.org/jira/browse/HIVE-22269)


-- 
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: gitbox-unsubscribe@hive.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: gitbox-unsubscribe@hive.apache.org
For additional commands, e-mail: gitbox-help@hive.apache.org


Re: [PR] HIVE-30101: Prevent SortedDynPartitionOptimizer from injecting ReduceSink when stats are missing [hive]

Posted by "Aggarwal-Raghav (via GitHub)" <gi...@apache.org>.
Aggarwal-Raghav commented on PR #6831:
URL: https://github.com/apache/hive/pull/6831#issuecomment-5918824847

   > For Iceberg partitioned tables without a sort order, shouldDo() is what makes the input sorted: it sets `hasCustomPartitionOrSortExpression` → `setWriteOperationIsSorted` → HiveIcebergWriterBase picks the clustered writer. With this change, an INSERT/CTAS whose source has no column stats silently falls back to the fanout writer (one open writer per partition per task, tasks × partitions files)
   > 
   > The reducer-skew problem is real, but can we address it without flipping the unknown-stats default, e.g. by keeping the sort while spreading a partition across reducers, or at least excluding storage-handler/non-native tables whose writers depend on sorted input?
   
   Thanks for sharing this information. Yes, you are correct with original approach https://github.com/apache/hive/commit/9d638d963ef976ba84cce8b98dd79e90573196a1  by checking stats/cardinality, there were 2 issues:
   1. For blob tests `insert_into_dynamic_partitions.q` there was data loss for unclustered/fanout writer , rest all q files were plan changes. 
   2. Even if user ran `ANALYZE TABLE` so that stats existed and SDPO successfully kicked in, it still routed all rows for a massive partition to exactly one reducer. It would be a bottleneck.
   3. For iceberg I handled by adding additional `if` check, therefore, iceberg q files passed — tested locally.
   
   > by keeping the sort while spreading a partition across reducers,
   
   I moved to this approach in latest commit. I injected a `rand()` UDF into the distribution keys. Sharing more details here: 
   [HIVE-30101.pdf](https://github.com/user-attachments/files/32875469/HIVE-30101.pdf)
   


-- 
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: gitbox-unsubscribe@hive.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: gitbox-unsubscribe@hive.apache.org
For additional commands, e-mail: gitbox-help@hive.apache.org


Re: [PR] HIVE-30101: Prevent SortedDynPartitionOptimizer from injecting ReduceSink when stats are missing [hive]

Posted by "Copilot (via GitHub)" <gi...@apache.org>.
Copilot commented on code in PR #6831:
URL: https://github.com/apache/hive/pull/6831#discussion_r4187764279


##########
ql/src/java/org/apache/hadoop/hive/ql/optimizer/SortedDynPartitionOptimizer.java:
##########
@@ -730,6 +740,21 @@ public ReduceSinkOperator getReduceSinkOp(List<Integer> partitionPositions, List
         partCols.add(allCols.get(idx).clone());
       }
 
+      // Universally spread dynamic partition data across reducers to prevent data skew bottlenecks.
+      // IMPORTANT: We must NOT do this if the table is explicitly bucketed (bucketColumns is not
+      // empty), otherwise we will randomly scatter rows that belong to strict buckets, corrupting
+      // the bucket hash!
+      if (CollectionUtils.isEmpty(bucketColumns)) {
+        ExprNodeDesc randExpr = RAND_EXPRESSION.apply(allCols);
+        partCols.add(randExpr);
+        // Append to the absolute end to avoid scrambling custom sort/partition exprs
+        keyCols.add(randExpr);
+        orderStr += (order == 1) ? "+" : "-";
+        nullOrderStr.append(nullOrder);
+        LOG.info(
+            "SortedDynPartitionOptimizer: Injected rand() to spread partition data across reducers.");
+      }

Review Comment:
   The PR title/description says `shouldDo()` was modified to return false when stats are missing, but the actual code change here introduces unconditional `rand()` injection into ReduceSink partitioning/keys (for non-bucketed tables) and updates many golden outputs accordingly. Please update the PR title/description to match this behavior change, or remove/relocate these changes so the PR aligns with HIVE-30101’s stated intent.



##########
ql/src/java/org/apache/hadoop/hive/ql/optimizer/SortedDynPartitionOptimizer.java:
##########
@@ -116,12 +117,23 @@ public class SortedDynPartitionOptimizer extends Transform {
     }
   };
 
+  private static final Function<List<ExprNodeDesc>, ExprNodeDesc> RAND_EXPRESSION =
+      cols -> {
+        try {
+          List<ExprNodeDesc> args = Collections.singletonList(new ExprNodeConstantDesc(1234567L));
+          return ExprNodeGenericFuncDesc.newInstance(
+              FunctionRegistry.getFunctionInfo("rand").getGenericUDF(), args);
+        } catch (SemanticException e) {
+          throw new RuntimeException(e);
+        }
+      };

Review Comment:
   `RAND_EXPRESSION` accepts `cols` but never uses it, and it converts a `SemanticException` into a generic `RuntimeException` inside the optimizer path (which can make failures harder to diagnose/handle consistently). Consider changing this to a parameterless factory (e.g., a private method or `Supplier<ExprNodeDesc>`) and either propagate `SemanticException` through the optimizer flow or throw a more specific unchecked exception that includes context (e.g., function name and phase).



##########
ql/src/java/org/apache/hadoop/hive/ql/optimizer/SortedDynPartitionOptimizer.java:
##########
@@ -730,6 +740,21 @@ public ReduceSinkOperator getReduceSinkOp(List<Integer> partitionPositions, List
         partCols.add(allCols.get(idx).clone());
       }
 
+      // Universally spread dynamic partition data across reducers to prevent data skew bottlenecks.
+      // IMPORTANT: We must NOT do this if the table is explicitly bucketed (bucketColumns is not
+      // empty), otherwise we will randomly scatter rows that belong to strict buckets, corrupting
+      // the bucket hash!
+      if (CollectionUtils.isEmpty(bucketColumns)) {
+        ExprNodeDesc randExpr = RAND_EXPRESSION.apply(allCols);
+        partCols.add(randExpr);
+        // Append to the absolute end to avoid scrambling custom sort/partition exprs
+        keyCols.add(randExpr);
+        orderStr += (order == 1) ? "+" : "-";
+        nullOrderStr.append(nullOrder);

Review Comment:
   The sort order/null-order for the injected `rand()` key is derived from existing local variables (`order`, `nullOrder`) rather than being explicitly defined for `rand()`. This can produce inconsistent `orderStr`/`nullOrderStr` semantics (e.g., inheriting descending order from a prior key) and makes the injected key behavior dependent on surrounding logic. Recommendation: explicitly append the intended ordering for `rand()` (typically ascending, and a consistent null-order code even though `rand()` is non-null) rather than reusing unrelated variables.



##########
ql/src/java/org/apache/hadoop/hive/ql/optimizer/SortedDynPartitionOptimizer.java:
##########
@@ -730,6 +740,21 @@ public ReduceSinkOperator getReduceSinkOp(List<Integer> partitionPositions, List
         partCols.add(allCols.get(idx).clone());
       }
 
+      // Universally spread dynamic partition data across reducers to prevent data skew bottlenecks.
+      // IMPORTANT: We must NOT do this if the table is explicitly bucketed (bucketColumns is not
+      // empty), otherwise we will randomly scatter rows that belong to strict buckets, corrupting
+      // the bucket hash!
+      if (CollectionUtils.isEmpty(bucketColumns)) {
+        ExprNodeDesc randExpr = RAND_EXPRESSION.apply(allCols);
+        partCols.add(randExpr);
+        // Append to the absolute end to avoid scrambling custom sort/partition exprs
+        keyCols.add(randExpr);
+        orderStr += (order == 1) ? "+" : "-";
+        nullOrderStr.append(nullOrder);
+        LOG.info(
+            "SortedDynPartitionOptimizer: Injected rand() to spread partition data across reducers.");

Review Comment:
   Logging at INFO for every injected ReduceSink can be very noisy in production (especially for multi-insert / complex plans) and may spam logs without actionable value. Consider demoting this to DEBUG (or adding a rate-limited/once-per-query log) and/or including key context only when troubleshooting is enabled (e.g., table name, queryId).



##########
ql/src/java/org/apache/hadoop/hive/ql/optimizer/SortedDynPartitionOptimizer.java:
##########
@@ -34,6 +34,7 @@
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
+import org.apache.commons.collections4.CollectionUtils;

Review Comment:
   This introduces a new dependency usage for a trivial null/empty check. If commons-collections4 isn’t already a common dependency in this module, prefer a standard `bucketColumns == null || bucketColumns.isEmpty()` check to minimize dependency surface and keep the optimizer codebase lean.



-- 
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: gitbox-unsubscribe@hive.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: gitbox-unsubscribe@hive.apache.org
For additional commands, e-mail: gitbox-help@hive.apache.org


Re: [PR] HIVE-30101: Prevent SortedDynPartitionOptimizer from injecting ReduceSink when stats are missing [hive]

Posted by "deniskuzZ (via GitHub)" <gi...@apache.org>.
deniskuzZ commented on PR #6831:
URL: https://github.com/apache/hive/pull/6831#issuecomment-5912855324

   For Iceberg partitioned tables without a sort order, shouldDo() is what makes the input sorted: it sets `hasCustomPartitionOrSortExpression` → `setWriteOperationIsSorted` → HiveIcebergWriterBase picks the clustered writer. 
   With this change, an INSERT/CTAS whose source has no column stats silently falls back to the fanout writer (one open writer per partition per task, tasks × partitions files)
   
   The reducer-skew problem is real, but can we address it without flipping the unknown-stats default, e.g. by keeping the sort while spreading a partition across reducers, or at least excluding storage-handler/non-native tables whose writers depend on sorted input?


-- 
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: gitbox-unsubscribe@hive.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: gitbox-unsubscribe@hive.apache.org
For additional commands, e-mail: gitbox-help@hive.apache.org


Re: [PR] HIVE-30101: Prevent SortedDynPartitionOptimizer from injecting ReduceSink when stats are missing [hive]

Posted by "sonarqubecloud[bot] (via GitHub)" <gi...@apache.org>.
sonarqubecloud[bot] commented on PR #6831:
URL: https://github.com/apache/hive/pull/6831#issuecomment-5912258922

   ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=apache_hive&pullRequest=6831) **Quality Gate passed**  
   Issues  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [66 New issues](https://sonarcloud.io/project/issues?id=apache_hive&pullRequest=6831&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=apache_hive&pullRequest=6831&issueStatuses=ACCEPTED)
   
   Measures  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=apache_hive&pullRequest=6831&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=apache_hive&pullRequest=6831&metric=new_coverage&view=list)  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [1.8% Duplication on New Code](https://sonarcloud.io/component_measures?id=apache_hive&pullRequest=6831&metric=new_duplicated_lines_density&view=list)  
     
   <!-- sqra-placement-anchor -->
   [See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=apache_hive&pullRequest=6831)
   
   


-- 
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: gitbox-unsubscribe@hive.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: gitbox-unsubscribe@hive.apache.org
For additional commands, e-mail: gitbox-help@hive.apache.org


Re: [PR] HIVE-30101: Prevent SortedDynPartitionOptimizer from injecting ReduceSink when stats are missing [hive]

Posted by "Aggarwal-Raghav (via GitHub)" <gi...@apache.org>.
Aggarwal-Raghav commented on PR #6831:
URL: https://github.com/apache/hive/pull/6831#issuecomment-5911065338

   @deniskuzZ , @kasakrisz, @zabetak , I would appreciate your expertise on this.


-- 
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: gitbox-unsubscribe@hive.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: gitbox-unsubscribe@hive.apache.org
For additional commands, e-mail: gitbox-help@hive.apache.org


Re: [PR] HIVE-30101: Prevent SortedDynPartitionOptimizer from injecting ReduceSink when stats are missing [hive]

Posted by "Aggarwal-Raghav (via GitHub)" <gi...@apache.org>.
Aggarwal-Raghav commented on PR #6831:
URL: https://github.com/apache/hive/pull/6831#issuecomment-5911212540

   I ran a small test by runnig the following query with and without patch on 10Mil rows. The last sql query insert overwrite 
   93.422 seconds -> 29.528 seconds 
   
   ```sql
   set hive.optimize.sort.dynamic.partition.threshold=0;
   set hive.cbo.enable=true;
   set hive.stats.autogather=false;
   set hive.exec.reducers.max=1099;
   
   DROP TABLE IF EXISTS sdpo_nightmare_src;
   DROP TABLE IF EXISTS sdpo_nightmare_dest;
   CREATE TABLE sdpo_nightmare_src (id string, payload string, category string) STORED AS PARQUET;
   CREATE TABLE sdpo_nightmare_dest (id string, payload string) PARTITIONED BY (category string) STORED AS PARQUET;
   
   WITH t1000 AS (
       SELECT pos FROM (SELECT 1) t LATERAL VIEW posexplode(split(space(999), ' ')) dummy AS pos, val
   )
   INSERT INTO sdpo_nightmare_src
       SELECT
           reflect("java.util.UUID", "randomUUID"),
           repeat('x', 1000),
           if(rand() < 0.5, 'A', 'B')
       FROM t1000 a
       CROSS JOIN t1000 b
       CROSS JOIN (SELECT pos FROM t1000 LIMIT 10) c;
   
   EXPLAIN INSERT OVERWRITE TABLE sdpo_nightmare_dest PARTITION (category)
       SELECT id, payload, category FROM sdpo_nightmare_src;
   
   INSERT OVERWRITE TABLE sdpo_nightmare_dest PARTITION (category)
       SELECT id, payload, category FROM sdpo_nightmare_src;
   ```
   
   Before Patch Plan:
   ```
   +----------------------------------------------------+
     |                      Explain                       |
     +----------------------------------------------------+
     | Plan optimized by CBO.                             |
     |                                                    |
     | Vertex dependency in root stage                    |
     | Reducer 2 <- Map 1 (SIMPLE_EDGE)                   |
     |                                                    |
     | Stage-0                                            |
     |   Move Operator                                    |
     |     table:{"name:":"raghav.sdpo_nightmare_dest"}   |
     |     Stage-2                                        |
     |       Dependency Collection{}                      |
     |         Stage-1                                    |
     |           Reducer 2 vectorized                     |
     |           File Output Operator [FS_8]              |
     |             table:{"name:":"raghav.sdpo_nightmare_dest"} |
     |             Select Operator [SEL_7]                |
     |               Output:["_col0","_col1","_col2"]     |
     |             <-Map 1 [SIMPLE_EDGE] vectorized       |
     |               SHUFFLE [RS_6]                       |
     |                 PartitionCols:_col2                |
     |                 Select Operator [SEL_5] (rows=73784 width=507) |
     |                   Output:["_col0","_col1","_col2"] |
     |                   TableScan [TS_0] (rows=73784 width=507) |
     |                     raghav@sdpo_nightmare_src,sdpo_nightmare_src,Tbl:COMPLETE,Col:NONE,Output:["id","payload","category"] |
     |                                                    |
     +----------------------------------------------------+
   ```
   
   After Patch Plan:
   ```
   +----------------------------------------------------+
     |                      Explain                       |
     +----------------------------------------------------+
     | Plan optimized by CBO.                             |
     |                                                    |
     | Stage-0                                            |
     |   Move Operator                                    |
     |     table:{"name:":"raaggarw.sdpo_nightmare_dest"} |
     |     Stage-2                                        |
     |       Dependency Collection{}                      |
     |         Stage-1                                    |
     |           Map 1 vectorized                         |
     |           File Output Operator [FS_4]              |
     |             table:{"name:":"raaggarw.sdpo_nightmare_dest"} |
     |             Select Operator [SEL_3] (rows=73787 width=507) |
     |               Output:["_col0","_col1","_col2"]     |
     |               TableScan [TS_0] (rows=73787 width=507) |
     |                 raaggarw@sdpo_nightmare_src,sdpo_nightmare_src,Tbl:COMPLETE,Col:NONE,Output:["id","payload","category"] |
     |                                                    |
     +----------------------------------------------------+
   ```


-- 
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: gitbox-unsubscribe@hive.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: gitbox-unsubscribe@hive.apache.org
For additional commands, e-mail: gitbox-help@hive.apache.org


Re: [PR] HIVE-30101: Prevent SortedDynPartitionOptimizer from injecting ReduceSink when stats are missing [hive]

Posted by "deniskuzZ (via GitHub)" <gi...@apache.org>.
deniskuzZ commented on PR #6831:
URL: https://github.com/apache/hive/pull/6831#issuecomment-5912781926

   let me put it on my radar as i am focused on perf improvements now


-- 
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: gitbox-unsubscribe@hive.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: gitbox-unsubscribe@hive.apache.org
For additional commands, e-mail: gitbox-help@hive.apache.org


Re: [PR] HIVE-30101: Prevent SortedDynPartitionOptimizer from injecting ReduceSink when stats are missing [hive]

Posted by "sonarqubecloud[bot] (via GitHub)" <gi...@apache.org>.
sonarqubecloud[bot] commented on PR #6831:
URL: https://github.com/apache/hive/pull/6831#issuecomment-6016226894

   ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=apache_hive&pullRequest=6831) **Quality Gate passed**  
   Issues  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [6 New issues](https://sonarcloud.io/project/issues?id=apache_hive&pullRequest=6831&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=apache_hive&pullRequest=6831&issueStatuses=ACCEPTED)
   
   Measures  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=apache_hive&pullRequest=6831&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=apache_hive&pullRequest=6831&metric=new_coverage&view=list)  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=apache_hive&pullRequest=6831&metric=new_duplicated_lines_density&view=list)  
     
   <!-- sqra-placement-anchor -->
   [See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=apache_hive&pullRequest=6831)
   
   


-- 
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: gitbox-unsubscribe@hive.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: gitbox-unsubscribe@hive.apache.org
For additional commands, e-mail: gitbox-help@hive.apache.org