Skip to content

Conversation

wForget
Copy link
Member

@wForget wForget commented Sep 9, 2025

Which issue does this PR close?

Closes #.

Rationale for this change

What changes are included in this PR?

How are these changes tested?

@codecov-commenter
Copy link

codecov-commenter commented Sep 9, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 57.42%. Comparing base (f09f8af) to head (456a24a).
⚠️ Report is 496 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff              @@
##               main    #2350      +/-   ##
============================================
+ Coverage     56.12%   57.42%   +1.29%     
- Complexity      976     1297     +321     
============================================
  Files           119      147      +28     
  Lines         11743    13415    +1672     
  Branches       2251     2347      +96     
============================================
+ Hits           6591     7703    +1112     
- Misses         4012     4451     +439     
- Partials       1140     1261     +121     

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

@wForget wForget force-pushed the COMET-2298 branch 2 times, most recently from eefa69f to 1aa1d47 Compare September 9, 2025 10:10
@wForget wForget marked this pull request as ready for review September 11, 2025 08:01
artifact_name: ${{ matrix.os }}-java-${{ matrix.java_version }}-features-${{ matrix.features.value }}-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
features: ${{ matrix.features.value }}
maven_opts: "-Dtest=none -Dfeatures=${{ matrix.features.value }}"
Copy link
Member Author

Choose a reason for hiding this comment

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

-Dtest=none skip java tests

@@ -1138,4 +1138,9 @@ abstract class CometTestBase
usingDataSourceExec(conf) &&
!CometConf.COMET_SCAN_ALLOW_INCOMPATIBLE.get(conf)
}

def featureEnabled(feature: String): Boolean = {
System.getProperty("feature", "").split(",").contains(feature)
Copy link
Member Author

Choose a reason for hiding this comment

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

A temporary solution before #2372

@wForget
Copy link
Member Author

wForget commented Sep 11, 2025

@parthchandra Could you please take a look?

{
val testFilePath = dir.toString
writeTestParquetFile(testFilePath)
withSQLConf(CometConf.COMET_NATIVE_SCAN_IMPL.key -> CometConf.SCAN_NATIVE_DATAFUSION) {
Copy link
Contributor

Choose a reason for hiding this comment

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

IMO we also should check native_iceberg_compat`

Copy link
Member Author

Choose a reason for hiding this comment

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

Thanks, I will add native_iceberg_compat mode

@@ -74,7 +74,9 @@ class ParquetReadFromFakeHadoopFsSuite extends CometTestBase with AdaptiveSparkP
.startsWith(FakeHDFSFileSystem.PREFIX))
}

ignore("test native_datafusion scan on fake fs") {
test("test native_datafusion scan on fake fs") {
Copy link
Contributor

Choose a reason for hiding this comment

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

should we also test hdfs feature and native_iceberg_compat mode?

Copy link
Member Author

@wForget wForget Sep 11, 2025

Choose a reason for hiding this comment

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

should we also test hdfs feature

hdfs feature does not seem to support non-hdfs scheme yet, as comment #2360 (comment) .

fn get_namenode_uri(path: &str) -> Result<String, HdfsErr> {
match Url::parse(path) {
Ok(url) => match url.scheme() {
LOCAL_FS_SCHEME => Ok("file:///".to_string()),
HDFS_FS_SCHEME | VIEW_FS_SCHEME => {
if let Some(host) = url.host() {
let mut uri_builder = String::new();
write!(&mut uri_builder, "{}://{}", url.scheme(), host).unwrap();
if let Some(port) = url.port() {
write!(&mut uri_builder, ":{port}").unwrap();
}
Ok(uri_builder)
} else {
Err(HdfsErr::InvalidUrl(path.to_string()))
}
}
_ => Err(HdfsErr::InvalidUrl(path.to_string())),
},
Err(_) => Err(HdfsErr::InvalidUrl(path.to_string())),
}
}

Copy link
Contributor

Choose a reason for hiding this comment

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

Thats correct, yes

Copy link
Contributor

Choose a reason for hiding this comment

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

That's one of the fixes we wanted in fs-hdfs datafusion-contrib/fs-hdfs#29

Copy link
Contributor

Choose a reason for hiding this comment

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

Also, I think at some point it might be more reasonable to use openDAL instead of fs-hdfs (#2367)

Copy link
Contributor

@parthchandra parthchandra left a comment

Choose a reason for hiding this comment

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

Thanks for this PR @wForget. Should we wait to merge #2327 before we merge this?

@@ -74,7 +74,9 @@ class ParquetReadFromFakeHadoopFsSuite extends CometTestBase with AdaptiveSparkP
.startsWith(FakeHDFSFileSystem.PREFIX))
}

ignore("test native_datafusion scan on fake fs") {
test("test native_datafusion scan on fake fs") {
Copy link
Contributor

Choose a reason for hiding this comment

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

Also, I think at some point it might be more reasonable to use openDAL instead of fs-hdfs (#2367)

@wForget
Copy link
Member Author

wForget commented Sep 12, 2025

Thanks for this PR @wForget. Should we wait to merge #2327 before we merge this?

Thanks for the review. Do you mean #2372? If so, I think either way is fine — the current temporary solution won’t break CI.

@parthchandra
Copy link
Contributor

oops. Yes, I did mean #2372. Let's get that merged and update the test in this PR.

@parthchandra
Copy link
Contributor

Should we also be adding the test suites to pr_build_macos.yml ?

@wForget
Copy link
Member Author

wForget commented Sep 13, 2025

Should we also be adding the test suites to pr_build_macos.yml ?

Thanks, I will add it

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.

4 participants