-
Notifications
You must be signed in to change notification settings - Fork 28.8k
[SPARK-53076][CORE][TESTS] Disable SparkBloomFilterSuite
#51788
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
Conversation
cc @ishnagy , @peter-toth , @LuciferYang |
Could you review this PR if you have some time, @beliefer ? |
hope this test can be re-enabled within a short period of time. |
Merged into master. Thanks @dongjoon-hyun |
Thank you so much, @LuciferYang . Yes, I hope so too. |
Thanks @dongjoon-hyun. @ishnagy do you think we could validate V2 filter implementation with less than 1G items added? |
Thank you for the ping. Disable the test case looks good to me in a short. |
the short answer is a (qualified) yes. the longer answer is a bit more nuanced. this test was never meant to be run regularly (e.g. as part of a generic pre-merge test suite). I submitted the PR originally having an on the necessity of these tests. I'm a bit worried that forcing this test code into the "generic bucket", getting constrained by the time/resource limitations we have there, significantly cutting down the testcases just to meet those "artificial" constraints, we will introduce some similar blind spots as the original scala suite when it only tested with a 100k insertions at most. This particular int/long truncation problem may be detectable with a 100M elements only, but I think the implementations should not only be proven to be safe in the range we can afford to test regularly (kind of pointlessly), but in 1-2orders of magnitudes higher, which we may not be able run on every change, but we can still afford to run once in a while, when the implementation changes.
|
I've always been curious about this point you mentioned. If we routinely mark it as |
@dongjoon-hyun @peter-toth @ishnagy If it indeed requires a large amount of data to reproduce this issue, I have an idea and I'm not sure if everyone agrees:
By doing so, the change pipeline will no longer execute this test, but it will still be verified during the daily test process. This way, even if there are change-related errors, we can detect and correct them within at most one day. |
Thank you all. I support all approaches to improve this situation including
|
For the record, the following is ASF Infra Policy and why this is important. ASF INFRA POLICY MONITORING ![]() SPARK EFFORT
|
I made some measurements with the V1 implementation:
I'd say that the truncation bug (with this FPP level) does not cause reliably detectable discrepancies under 350M insertions. The running time scales approx linearly with the insertion count, so it would mean that with the bare minimum of insertions we could reduce the running time by about a factor of three. It's not nothing (12min -> 4min on github), but 4minutes are still 1-2 orders of magnitudes longer than the old running time. I saw #51806 went in recently, I can create a patch on top of it. Let me know, if you think it still makes sense. |
Thank you so much, @ishnagy . It sounds good to me. |
just for recordkeeping, linking the related PRs together, |
What changes were proposed in this pull request?
This PR aims to disable
SparkBloomFilterSuite
due to the excessive running time.Why are the changes needed?
Previously,
common/sketch
module took less than 10s.After
SparkBloomFilterSuite
was added newly,SparkBloomFilterSuite
took over 12 minutes. It's too long as a unit test.BloomFilter
V2 and use it as default #50933Does this PR introduce any user-facing change?
No, this is a test change.
How was this patch tested?
Pass the CIs.
Was this patch authored or co-authored using generative AI tooling?
No.