Impala Public Jenkins has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/24968 )

Change subject: IMPALA-15447: Iceberg scan telemetry (Stream A + B)
......................................................................


Patch Set 1:

(83 comments)

gerrit-auto-critic failed. You can reproduce it locally using command:

  python3 bin/jenkins/critique-gerrit-review.py --dryrun

To run it, you might need a virtual env with Python3's venv installed.

http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergQueryShapeCollector.java
File fe/src/main/java/org/apache/impala/planner/IcebergQueryShapeCollector.java:

http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergQueryShapeCollector.java@39
PS1, Line 39: import org.apache.impala.thrift.TUniqueId;
unused import: org.apache.impala.thrift.TUniqueId


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergQueryShapeCollector.java@47
PS1, Line 47:  * <p>Iceberg's {@code ScanReport} (Stream A) carries a table's 
pushed-down filter and scan metrics,
line too long (100 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergQueryShapeCollector.java@48
PS1, Line 48:  * but joins and ORDER BY live in the engine's query plan, one 
layer above the scan, so the scan report
line too long (103 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergQueryShapeCollector.java@49
PS1, Line 49:  * cannot see them. This collector runs once per query, right 
after {@code Planner.createPlans}, where
line too long (102 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergQueryShapeCollector.java@50
PS1, Line 50:  * the whole plan and the query id are both in hand. It walks the 
plan, extracts the equi-join keys and
line too long (103 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergQueryShapeCollector.java@51
PS1, Line 51:  * ORDER BY columns that resolve to Iceberg tables, and POSTs a 
per-table query-shape event through the
line too long (103 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergQueryShapeCollector.java@52
PS1, Line 52:  * same {@code iceberg-telemetry} client the scan reports use — 
tagged with the <b>identical</b> query
line too long (102 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergQueryShapeCollector.java@55
PS1, Line 55:  * <p>It calls the telemetry library <b>reflectively</b> (no 
compile-time dependency), exactly like
line too long (99 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergQueryShapeCollector.java@56
PS1, Line 56:  * {@link IcebergScanPlanner} loads its side reporter via {@code 
CatalogUtil.loadMetricsReporter}; the
line too long (102 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergQueryShapeCollector.java@57
PS1, Line 57:  * library's {@code QueryShapeReporter.report(Map, String, 
String, List)} takes only JDK types. Config
line too long (102 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergQueryShapeCollector.java@58
PS1, Line 58:  * is sourced from the same JVM system properties ({@code 
metrics-reporter-impl}, {@code metrics.*}) set
line too long (104 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergQueryShapeCollector.java@59
PS1, Line 59:  * via Cloudera Manager. Entirely best-effort: it never throws 
into, or blocks, query planning, and
line too long (99 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergQueryShapeCollector.java@64
PS1, Line 64:   private static final Logger LOG = 
LoggerFactory.getLogger(IcebergQueryShapeCollector.class);
line too long (94 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergQueryShapeCollector.java@66
PS1, Line 66:   private static final String TELEMETRY_CLASS = 
"com.acme.iceberg.telemetry.QueryShapeReporter";
line too long (96 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergQueryShapeCollector.java@69
PS1, Line 69:   // Resolved once per JVM: the reflective handle to 
QueryShapeReporter.report, or null if the
line too long (94 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergQueryShapeCollector.java@77
PS1, Line 77:    * Collect the query shape from a finished plan and POST it. 
{@code planRoots} are the fragment roots
line too long (103 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergQueryShapeCollector.java@78
PS1, Line 78:    * from {@code Planner.createPlans}; {@code queryCtx} supplies 
the query id. Never throws.
line too long (92 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergQueryShapeCollector.java@94
PS1, Line 94:         return; // no joins/sorts on Iceberg tables → nothing to 
enrich (scan report suffices)
line too long (94 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergQueryShapeCollector.java@110
PS1, Line 110:       LOG.warn("Iceberg query-shape collection failed; skipping 
(query planning unaffected)", t);
line too long (97 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergQueryShapeCollector.java@114
PS1, Line 114:   // 
------------------------------------------------------------------------------- 
plan walk
line too long (94 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergQueryShapeCollector.java@131
PS1, Line 131:   /** Each equi-join key column is a clustering/bucketing 
candidate on BOTH tables it joins. */
line too long (95 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergQueryShapeCollector.java@171
PS1, Line 171:       byTable.computeIfAbsent(r.table, 
TableAcc::new).addOrder(r.column, direction, nullOrder);
line too long (95 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergQueryShapeCollector.java@176
PS1, Line 176:    * Resolve an expression to the ({@code Iceberg table name}, 
{@code column}) of the scan slot it
line too long (98 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergQueryShapeCollector.java@203
PS1, Line 203:   /** The Iceberg table name, matching {@code 
ScanReport.tableName()} (= {@code Table.name()}). */
line too long (98 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergQueryShapeCollector.java@216
PS1, Line 216:   // 
---------------------------------------------------------------------------------
 config
line too long (93 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergQueryShapeCollector.java@231
PS1, Line 231:     // Only wire up when a side reporter is configured, matching 
IcebergScanPlanner.loadCatalogReporter.
line too long (104 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergQueryShapeCollector.java@240
PS1, Line 240:       LOG.info("Iceberg query-shape (Stream B) reporting enabled 
via {}", TELEMETRY_CLASS);
line too long (91 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergQueryShapeCollector.java@243
PS1, Line 243:       LOG.warn("Iceberg query-shape reporter '{}' not available; 
Stream B disabled", TELEMETRY_CLASS, t);
line too long (105 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergQueryShapeCollector.java@251
PS1, Line 251:       if (key.equals(CatalogProperties.METRICS_REPORTER_IMPL) || 
key.startsWith("metrics.")) {
line too long (94 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergQueryShapeCollector.java@258
PS1, Line 258:   // 
--------------------------------------------------------------------------- 
small holders
line too long (94 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java
File fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java:

http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@181
PS1, Line 181:   // Compose-don't-override 
(production_query_engine_reporting.md §3.5). The InMemoryMetricsReporter
line too long (100 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@182
PS1, Line 182:   // above is load-bearing — its scanReport() feeds 
addIcebergScanMetricsToProfile() — so it is KEPT.
line too long (101 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@183
PS1, Line 183:   // Impala's frontend never goes through the Iceberg catalog's 
reporter path, so there is no
line too long (93 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@184
PS1, Line 184:   // instance to reuse: we REBUILD the catalog-configured SPI 
reporter with the same factory the
line too long (96 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@185
PS1, Line 185:   // catalog uses (CatalogUtil.loadMetricsReporter), memoized 
once per JVM (calling it per scan would
line too long (101 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@186
PS1, Line 186:   // build a new reporter + HTTP client every scan). Config is 
sourced from JVM system properties set
line too long (101 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@190
PS1, Line 190:   // When 'metrics-reporter-impl' is unset, catalogReporter() is 
null and behavior is byte-for-byte
line too long (99 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@214
PS1, Line 214:       if (key.equals(CatalogProperties.METRICS_REPORTER_IMPL) || 
key.startsWith("metrics.")) {
line too long (94 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@219
PS1, Line 219:       // loadMetricsReporter builds the no-arg instance AND 
calls initialize(props) for us.
line too long (91 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@224
PS1, Line 224:       LOG.warn("Failed to load Iceberg metrics reporter '{}'; 
scan reporting disabled", impl, t);
line too long (97 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@230
PS1, Line 230:    * Compose the kept InMemory reporter with the 
catalog-configured side reporter (if any) so scan
line too long (98 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@231
PS1, Line 231:    * reports reach the collector without discarding the InMemory 
feed used for the query profile.
line too long (97 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@238
PS1, Line 238:     // combine()'s composite already try/catches each reporter, 
so a reporting failure never fails
line too long (98 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@239
PS1, Line 239:     // the query; TelemetryMetricsReporter is additionally 
non-blocking so it never slows planning.
line too long (99 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@244
PS1, Line 244:    * Metadata stamped onto every scan report for this query 
(WI2, Stream A). Its {@code query-id} is
line too long (100 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@246
PS1, Line 246:    * {@code Frontend.createExecRequest}), so the two streams 
correlate on {@code source.query_id}
line too long (97 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@258
PS1, Line 258:       // query id not available at this point — scan report 
still posts, just uncorrelated.
line too long (91 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@1332
PS1, Line 1332:    * Fast path (no planFiles(), see 
production_query_engine_reporting.md §4): planFiles() never ran,
line too long (100 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@1333
PS1, Line 1333:    * so no ScanReport was produced and Stream A would be empty 
for this query. Synthesize a FAITHFUL
line too long (100 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@1334
PS1, Line 1334:    * one from the file descriptors and conjuncts that 
setFileDescriptorsBasedOnFileStore() and analysis
line too long (103 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@1335
PS1, Line 1335:    * already produced -- microseconds of work over in-memory 
structures, no manifest IO -- and hand it
line too long (102 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@1336
PS1, Line 1336:    * ONLY to the telemetry side reporter. The InMemory reporter 
and the query profile are deliberately
line too long (102 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@1338
PS1, Line 1338:    * Frontend.fillProfileNodeWithIcebergScanMetrics NPEs on a 
null totalPlanningDuration, which a
line too long (97 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@1339
PS1, Line 1339:    * synthesized report would carry). No-ops when no side 
reporter is configured (default = today's
line too long (99 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@1340
PS1, Line 1340:    * behavior) or for metadata-table scans, and never throws or 
blocks the planning thread.
line too long (91 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@1344
PS1, Line 1344:     if (side == null) return;                                   
 // telemetry off -> today's behavior
line too long (101 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@1345
PS1, Line 1345:     if (!(tblRef_.getTable() instanceof FeIcebergTable)) 
return; // skip IcebergMetadataTable scans
line too long (99 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@1346
PS1, Line 1346:     if (snapshotId_ == -1) return;                              
 // empty table: nothing scanned
line too long (96 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@1351
PS1, Line 1351:       long totalBytes = sumFileSizes(dataFilesWithoutDeletes_) 
+ sumFileSizes(dataFilesWithDeletes_);
line too long (101 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@1353
PS1, Line 1353:       // ScanMetrics.of(DefaultMetricsContext) registers EVERY 
counter; fromScanMetrics() then emits
line too long (100 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@1354
PS1, Line 1354:       // each one (value 0 when untouched, since 
DefaultMetricsContext counters are never NOOP, so
line too long (98 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@1355
PS1, Line 1355:       // CounterResult.fromCounter does not drop them). Thus 
skipped-data-files serializes as 0
line too long (95 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@1356
PS1, Line 1356:       // explicitly -- truthful here: the fast path ran no 
manifest pruning, so no data file was
line too long (96 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@1362
PS1, Line 1362:       // m.skippedDataFiles() left at 0 -> skipped_files = 0 
(accurate: fast path prunes nothing).
line too long (98 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@1370
PS1, Line 1370:           .filter(buildResidualFilter())            // REAL 
predicate tree -> collector derives {col,op}
line too long (104 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@1374
PS1, Line 1374:           .putAllMetadata(scanReportMetadata())     // 
engine-name + query-id -> correlates w/ Stream B
line too long (103 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@1377
PS1, Line 1377:       side.report(report);                          // 
enqueue-and-return; non-blocking, never throws
line too long (101 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@1390
PS1, Line 1390:    * Build the synthesized report's filter by converting this 
query's conjuncts (on the fast path these
line too long (103 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@1391
PS1, Line 1391:    * are exactly conjuncts_ == nonIdentityConjuncts_, none of 
which were pushed to Iceberg) with the
line too long (100 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@1392
PS1, Line 1392:    * SAME IcebergPredicateConverter the push-down path uses, 
and AND-combining them. The collector walks
line too long (104 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@1394
PS1, Line 1394:    * segment IN (...) -> {col:segment, op:in}. Read-only: a 
fresh converter, no mutation of
line too long (91 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@1395
PS1, Line 1395:    * impalaIcebergPredicateMapping_ or any planner state, so 
the produced plan is unchanged. Predicates
line too long (103 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@1396
PS1, Line 1396:    * the converter cannot express are dropped from the filter 
only (counters are unaffected). Falls back
line too long (104 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@1406
PS1, Line 1406:         if (r.isFailed() || r.getIcebergExpression() == null) 
continue; // keep FULLY + PARTIALLY
line too long (97 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/planner/IcebergScanPlanner.java@1410
PS1, Line 1410:         // Skip anything that won't convert; affects derived 
predicates only, not counters.
line too long (91 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/service/Frontend.java
File fe/src/main/java/org/apache/impala/service/Frontend.java:

http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/service/Frontend.java@2097
PS1, Line 2097:     // Stream B (query-shape): emit join keys + ORDER BY per 
Iceberg table for auto-clustering,
line too long (95 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/service/Frontend.java@2098
PS1, Line 2098:     // correlated with the scan reports on the same query id 
(production_query_engine_reporting.md
line too long (98 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/service/Frontend.java@2099
PS1, Line 2099:     // WI5). Best-effort — never throws or blocks planning; 
no-ops when telemetry is not configured.
line too long (100 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/util/IcebergUtil.java
File fe/src/main/java/org/apache/impala/util/IcebergUtil.java:

http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/util/IcebergUtil.java@671
PS1, Line 671:    * As {@link #planFiles(FeIcebergTable, List, TimeTravelSpec, 
MetricsReporter)}, but stamps
line too long (93 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/util/IcebergUtil.java@673
PS1, Line 673:    * {@code ScanReport.metadata()} (Iceberg copies {@code 
scan.option(k,v)} into the report's metadata
line too long (102 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/util/IcebergUtil.java@674
PS1, Line 674:    * map — see {@code SnapshotScan.doPlanFiles}). This is how 
the engine's own query id reaches Stream A
line too long (104 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/util/IcebergUtil.java@675
PS1, Line 675:    * (production_query_engine_reporting.md WI2), so the scan 
reports for a query correlate with that
line too long (100 > 90)


http://gerrit.cloudera.org:8080/#/c/24968/1/fe/src/main/java/org/apache/impala/util/IcebergUtil.java@676
PS1, Line 676:    * query's query-shape event on {@code source.query_id}. 
Metadata is only meaningful when a
line too long (93 > 90)



--
To view, visit http://gerrit.cloudera.org:8080/24968
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2a290d79ec467a663af32efcce4bcdfebd7d9287
Gerrit-Change-Number: 24968
Gerrit-PatchSet: 1
Gerrit-Owner: Anonymous Coward <[email protected]>
Gerrit-Reviewer: Impala Public Jenkins <[email protected]>
Gerrit-Comment-Date: Mon, 28 Sep 2026 19:57:33 +0000
Gerrit-HasComments: Yes

Reply via email to