Skip to content

Conversation

@andygrove
Copy link
Member

@andygrove andygrove commented Dec 19, 2025

Which issue does this PR close?

N/A

Rationale for this change

Ongoing refactoring / fixing technical debt

What changes are included in this PR?

  • CometFuzzTestBase now generates an additional Parquet file containing deeply nested types
  • Removed fallback for maps containing complex types in CometScanRule handling of auto mode
  • Drive-by cleanup and filed follow on issue for Parquet temporal type tests that are missing tests for MapType

How are these changes tested?

val partitionSchemaSupported =
typeChecker.isSchemaSupported(partitionSchema, fallbackReasons)

def hasUnsupportedType(dataType: DataType): Boolean = {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this check is no longer needed

Comment on lines -317 to -318
case t: StructType => t.exists(f => hasTemporalType(f.dataType))
case t: ArrayType => hasTemporalType(t.elementType)
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this was missing a check for MapType so I added that and moved the method to DataTypeSupport

@andygrove andygrove marked this pull request as ready for review December 19, 2025 17:47
@codecov-commenter
Copy link

codecov-commenter commented Dec 19, 2025

Codecov Report

❌ Patch coverage is 37.50000% with 5 lines in your changes missing coverage. Please review.
✅ Project coverage is 59.63%. Comparing base (f09f8af) to head (fb5e7e3).
⚠️ Report is 791 commits behind head on main.

Files with missing lines Patch % Lines
.../main/scala/org/apache/comet/DataTypeSupport.scala 42.85% 2 Missing and 2 partials ⚠️
...n/scala/org/apache/comet/rules/CometScanRule.scala 0.00% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##               main    #2943      +/-   ##
============================================
+ Coverage     56.12%   59.63%   +3.50%     
- Complexity      976     1375     +399     
============================================
  Files           119      167      +48     
  Lines         11743    15487    +3744     
  Branches       2251     2566     +315     
============================================
+ Hits           6591     9235    +2644     
- Misses         4012     4955     +943     
- Partials       1140     1297     +157     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@andygrove andygrove marked this pull request as draft December 21, 2025 20:11
@andygrove andygrove marked this pull request as ready for review December 23, 2025 02:06
}

def hasTemporalType(t: DataType): Boolean = t match {
case DataTypes.DateType | DataTypes.TimestampType | DataTypes.TimestampNTZType =>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

wondering if interval can also be considered as temporal? Probably not, it is more like duration rather than representing any point of time

var filename: String = null

/** Filename for data file with deeply nested complex types */
var complexTypesFilename: String = null
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

would be great to add if this filename is input or output or temp location?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will improve the comments in my next PR later today

Copy link
Contributor

@comphead comphead left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @andygrove

@andygrove andygrove merged commit 237929d into apache:main Dec 23, 2025
135 of 136 checks passed
@andygrove andygrove deleted the improve-fuzz-tests branch December 23, 2025 15:12
@andygrove
Copy link
Member Author

Thanks for the review @comphead

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.

3 participants