build: Add basic CI test pipelines#18
Conversation
|
Need to find a way to test this. Also this only run tests in Linux for Spark 3.4 atm, and we need more combinations. |
9a6cd49 to
1d82548
Compare
|
@viirya @andygrove this is ready now. Tested here. |
| /// See [`object_panic_exception`] for a test which involves generating a panic and verifying | ||
| /// that the resulting stack trace includes the offending call. | ||
| #[test] | ||
| #[ignore] |
There was a problem hiding this comment.
the golden file for this test is not added yet, so ignore for now
|
|
||
| tpcdsQueries.foreach { q => | ||
| test(s"check simplified (tpcds-v1.4/$q)") { | ||
| ignore(s"check simplified (tpcds-v1.4/$q)") { |
| run: | | ||
| cd core | ||
| # This is required to run some JNI related tests on the Rust side | ||
| LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$JAVA_HOME/lib:$JAVA_HOME/lib/server cargo test |
|
|
||
| - name: Run tests | ||
| run: | | ||
| SPARK_HOME=`pwd` ./mvnw clean install |
There was a problem hiding this comment.
Hmm, we use ./mvnw verify in Makefile, do we need to do that?
There was a problem hiding this comment.
install covers verify: https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#a-build-lifecycle-is-made-up-of-phases
COMET_CONF_DIR is optional and by default, Rust test outputs are directed to stdout.
|
There are a log message like this: It is really distracting for looking at the logs. Can we silent it? |
Hmm perhaps we can cache the Maven dependencies so these will only show up in the first time. Let me check |
|
Thanks! merged. Let me check if the Maven cache did work. I'll create followups if it doesn't. |
Fixes all 14 previously-deferred review findings: apache#4 Case-sensitivity in DV column detection: isDeltaDvFilterPattern and findAndStripDeltaScanBelow now use equalsIgnoreCase for the __delta_internal_is_row_deleted column name match. apache#8 S3 key documentation: added comment in JNI documenting the Hadoop-style key names that storageOptions carries and how extract_storage_config maps them. apache#10 Proto comment inaccuracy: updated reserved field number comments to describe purpose rather than referencing (now-stale) phase numbers. Added field numbering strategy note on DeltaScanCommon. apache#11 Module quarantine docs: updated delta/mod.rs doc comment to note that create_object_store returns Arc<dyn ObjectStore> from object_store_kernel 0.12, and that it never escapes the module. Updated public API listing to match current exports. apache#12 Optimizer rule double-init: added synchronized double-checked locking on the CometDeltaDvConfigRule to prevent concurrent threads from racing on the config set. apache#14 Incomplete partition type support: castPartitionString now throws IllegalArgumentException for unsupported types (STRUCT, ARRAY, MAP, etc.) instead of silently converting to UTF8String. apache#6 DV materialization clarity: added comment explaining why .unwrap_or_default() is safe (get_row_indexes returns Ok(None) only if has_vector() lied, which kernel guarantees doesn't happen; Err propagates via ?). apache#17 Consistent JNI null handling: extracted read_string_array helper for reading Java String[] into Vec<String>, consolidating the null-check + iteration pattern. apache#18-19 Proto field ordering: added numbering strategy comment to DeltaScanCommon and DeltaScanTask messages. apache#20 Memory note: added comment about potential driver OOM on extremely large tables (millions of files) with suggestion for future streaming/chunked processing. Tests: succeeded 35, failed 0, canceled 0, ignored 0, pending 0 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This adds some basic CI test pipelines for the project. Basically run tests in the Rust and Java/Scala side within the repo.
Closes #7