alamb opened a new pull request, #26892:
URL: https://github.com/apache/datafusion/pull/26892

   ## Which issue does this PR close?
   
   - Part of https://github.com/apache/datafusion/issues/24461
   - Split out from https://github.com/apache/datafusion/pull/26845
   
   ## Rationale for this change
   
   While testing a `56.0.0-dev` version on `main` in 
https://github.com/apache/datafusion/pull/26845, CI failed in a surprising 
place: the default `datafusion.execution.parquet.created_by` value (`datafusion 
version 55.1.0`) is written into every Parquet file, so changing the *length* 
of the version string changes the size of every Parquet file written during 
tests. That shifts byte based numbers in test expectations:
   
   - `scan_efficiency_ratio` and `bytes_processed` metrics in `EXPLAIN ANALYZE` 
output (`cte.slt`, `explain_analyze.slt`, `push_down_filter_parquet.slt`, 
`dynamic_filter_pushdown_config.slt`)
   - byte ranges in `file_groups` (`repartition_scan.slt`)
   - `file_size_bytes` in the `datafusion-cli` `list_files_cache` snapshot
   
   This will recur any time the version string changes length, for example when 
`main` moves to a `-dev` version, when a release branch drops the `-dev` 
suffix, or when going from `99.x.y` to `100.x.y`. The test expectations should 
not depend on the DataFusion version.
   
   ## What changes are included in this PR?
   
   - The sqllogictest runner (`TestContext`) pins 
`datafusion.execution.parquet.created_by` to the fixed value `datafusion`
   - The `datafusion-cli` `test_list_files_cache` test does the same
   - The affected expectations are regenerated once (the fixed value is shorter 
than `datafusion version 55.1.0`, so the files are a few bytes smaller)
   - `information_schema.slt` previously `reset` `created_by` at the end; since 
the runner now pins it, that `reset` would trip the runner's config drift 
check, so it is replaced with an explicit `set` back to the pinned value (the 
same pattern that file already uses for `target_partitions`)
   
   ## What is the testing strategy for this PR?
   
   Existing CI. The regenerated expectations were produced with `--complete` 
and then trimmed so that only the byte based metrics changed (the 
`<slt:ignore>` timing placeholders are preserved).
   
   ## Are there any user-facing changes?
   
   No, test only.
   


-- 
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