Skip to content

chore: refine copy into tests #17413

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 13 commits into from
Feb 6, 2025

Conversation

dantengsky
Copy link
Member

@dantengsky dantengsky commented Feb 5, 2025

I hereby agree to the terms of the CLA available at: https://docs.databend.com/dev/policies/cla/

Summary

Some test cases rely on the exact size of the parquet files generated by the COPY INTO $location statement, which is flaky. The size of the generated parquet files can vary across different versions of databend-query, as the parquet file metadata includes the version of databend-query that created the file.

Refer to: #17220

Tests

  • Unit Test
  • Logic Test
  • Benchmark Test
  • No Test - Explain why

Type of change

  • Bug Fix (non-breaking change which fixes an issue)
  • New Feature (non-breaking change which adds functionality)
  • Breaking Change (fix or feature that could cause existing functionality not to work as expected)
  • Documentation Update
  • Refactoring
  • Performance Improvement
  • Other (please describe):

This change is Reviewable

The tests should not assert the exact byte size of data outputs, as
this value may change across different versions of `databend-query`
due to meta data of data block contains the version the
`databend-query`, which is variant lengthed.

This change replaces byte size checks with content validation,
ensuring test stability while maintaining functional correctness.
@github-actions github-actions bot added the pr-chore this PR only has small changes that no need to record, like coding styles. label Feb 5, 2025
@dantengsky dantengsky added this pull request to the merge queue Feb 6, 2025
Merged via the queue into databendlabs:main with commit 5581d25 Feb 6, 2025
76 checks passed
@dantengsky dantengsky deleted the chore-refine-copy-into-tests branch February 6, 2025 03:27
dantengsky added a commit to dantengsky/fuse-query that referenced this pull request Feb 6, 2025
* test(stage): decouple `COPY INTO` tests from output data byte size

The tests should not assert the exact byte size of data outputs, as
this value may change across different versions of `databend-query`
due to meta data of data block contains the version the
`databend-query`, which is variant lengthed.

This change replaces byte size checks with content validation,
ensuring test stability while maintaining functional correctness.

* test(stage): decouple `COPY INTO` tests from output data byte size

* test(stage): decouple `COPY INTO` tests from output data byte size

* test(stage): decouple `COPY INTO` tests from output data byte size

* test(stage): decouple `COPY INTO` tests from output data byte size

* test(stage): decouple `COPY INTO` tests from output data byte size

* test(stage): decouple `COPY INTO` tests from output data byte size

* test(stage): decouple `COPY INTO` tests from output data byte size

05_0001_set_var.sh

* test(stage): decouple `COPY INTO` tests from output data byte size

18_0002_ownership_cover

* decouple `COPY INTO` tests from output data byte size

18_0007_privilege_access

* decouple `COPY INTO` tests from output data byte size

20_0015_compact_hook_stas_issue_13947

* decouple `COPY INTO` tests from output data byte size

* revert scripts/ci/deploy/config/databend-query-node-1.toml
dantengsky added a commit that referenced this pull request May 23, 2025
)

* refactor: rename components of the `replace into` impl (#17355)

refactor: rename components of `replace into`

Initially, `REPLACE INTO` was designed as a simplified implementation of `MERGE INTO`, with the expectation that it would gradually evolve into a full-fledged implementation of `MERGE INTO`, as a result, many `MERGE INTO` related terms exist in the components of `REPLACE INTO` impl.

However, `MERGE INTO` now has its own independent impl, the remaining `MERGE INTO` related terms in the impl of `REPLACE INTO` can be misleading.

Therefore, in this PR, we have renamed all `MERGE INTO` related terms in the implof `REPLACE INTO` to avoid confusion.

* feat: introduce block meta cache (#17360)

* feat: introduce BlockMetaCache

* tweak sys tbl `system.cache` and configs

* cargo fmt

* update ut gloden file

* fix: set cache cap of `memory_cache_block_meta`

* tweak cargo audit.toml

* chore: refine copy into tests (#17413)

* test(stage): decouple `COPY INTO` tests from output data byte size

The tests should not assert the exact byte size of data outputs, as
this value may change across different versions of `databend-query`
due to meta data of data block contains the version the
`databend-query`, which is variant lengthed.

This change replaces byte size checks with content validation,
ensuring test stability while maintaining functional correctness.

* test(stage): decouple `COPY INTO` tests from output data byte size

* test(stage): decouple `COPY INTO` tests from output data byte size

* test(stage): decouple `COPY INTO` tests from output data byte size

* test(stage): decouple `COPY INTO` tests from output data byte size

* test(stage): decouple `COPY INTO` tests from output data byte size

* test(stage): decouple `COPY INTO` tests from output data byte size

* test(stage): decouple `COPY INTO` tests from output data byte size

05_0001_set_var.sh

* test(stage): decouple `COPY INTO` tests from output data byte size

18_0002_ownership_cover

* decouple `COPY INTO` tests from output data byte size

18_0007_privilege_access

* decouple `COPY INTO` tests from output data byte size

20_0015_compact_hook_stas_issue_13947

* decouple `COPY INTO` tests from output data byte size

* revert scripts/ci/deploy/config/databend-query-node-1.toml

* tweak test case parquet_missing_uuid

ignore result-set of `copy into` when preparing data.

* tweak 00_0015_unload_output, 00_0012_stage_with_connection

* refactor: refine `replace into` by caching individual BlockMeta (#17368)

* remove dead code

* update crossbeam-channel to 0.5.13

Title:     crossbeam-channel: double free on Drop
Date:      2025-04-08
ID:        RUSTSEC-2025-0024
URL:       https://rustsec.org/advisories/RUSTSEC-2025-0024

* update audit.toml

* tweak logic test 05_0001_set_var

bendsql used in CI has been upgraded which uses a different
format to display timestamps.

* chore: improve license validation log message (#17967)

* chore: improve license validation log message

Change license validation error log to ERROR level.

Several enterprise features don't affect functional correctness but impact
performance significantly. Users have experienced unexplained performance
degradation due to expired licenses.

This change helps users identify such issues faster.

* improve the license error message

* tweak log msg

---------

Co-authored-by: BohuTANG <overred.shuttler@gmail.com>

---------

Co-authored-by: BohuTANG <overred.shuttler@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pr-chore this PR only has small changes that no need to record, like coding styles.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants