Skip to content
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

fix: fix hash join spilling hang and add more tests #14794

Merged
merged 13 commits into from
Mar 4, 2024

Conversation

xudong963
Copy link
Member

@xudong963 xudong963 commented Feb 29, 2024

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

Summary

  • resolve hang for multiple table join

  • add some tpch queries to test join spilling

  • add a setting about join spilling partition number

  • Fixes #[Link the issue here]

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

@xudong963 xudong963 marked this pull request as draft February 29, 2024 07:55
@github-actions github-actions bot added the pr-bugfix this PR patches a bug in codebase label Feb 29, 2024
@xudong963 xudong963 added the ci-cloud Build docker image for cloud test label Mar 1, 2024
Copy link
Contributor

github-actions bot commented Mar 1, 2024

Docker Image for PR

  • tag: pr-14794-1cecdc5

note: this image tag is only available for internal use,
please check the internal doc for more details.

@xudong963 xudong963 added ci-cloud Build docker image for cloud test and removed ci-cloud Build docker image for cloud test labels Mar 1, 2024
Copy link
Contributor

github-actions bot commented Mar 1, 2024

Docker Image for PR

  • tag: pr-14794-99f6170

note: this image tag is only available for internal use,
please check the internal doc for more details.

@xudong963 xudong963 added ci-benchmark Benchmark: run all test and removed ci-cloud Build docker image for cloud test labels Mar 1, 2024
Copy link
Contributor

github-actions bot commented Mar 1, 2024

Docker Image for PR

  • tag: pr-14794-137ac11

note: this image tag is only available for internal use,
please check the internal doc for more details.

@xudong963 xudong963 marked this pull request as ready for review March 1, 2024 14:57
@xudong963 xudong963 added ci-cloud Build docker image for cloud test and removed ci-benchmark Benchmark: run all test ci-cloud Build docker image for cloud test labels Mar 2, 2024
Copy link
Contributor

github-actions bot commented Mar 2, 2024

Docker Image for PR

  • tag: pr-14794-10ceec9

note: this image tag is only available for internal use,
please check the internal doc for more details.

Copy link
Contributor

github-actions bot commented Mar 2, 2024

Docker Image for PR

  • tag: pr-14794-8999a41

note: this image tag is only available for internal use,
please check the internal doc for more details.

@xudong963 xudong963 added ci-cloud Build docker image for cloud test and removed ci-cloud Build docker image for cloud test labels Mar 2, 2024
Copy link
Contributor

github-actions bot commented Mar 2, 2024

Docker Image for PR

  • tag: pr-14794-a645f05

note: this image tag is only available for internal use,
please check the internal doc for more details.

@xudong963 xudong963 added ci-cloud Build docker image for cloud test and removed ci-cloud Build docker image for cloud test labels Mar 2, 2024
Copy link
Contributor

github-actions bot commented Mar 2, 2024

Docker Image for PR

  • tag: pr-14794-a8fe909

note: this image tag is only available for internal use,
please check the internal doc for more details.

@xudong963 xudong963 removed the ci-cloud Build docker image for cloud test label Mar 2, 2024
@xudong963 xudong963 added the ci-cloud Build docker image for cloud test label Mar 2, 2024
Copy link
Contributor

github-actions bot commented Mar 2, 2024

Docker Image for PR

  • tag: pr-14794-307df40

note: this image tag is only available for internal use,
please check the internal doc for more details.

@xudong963
Copy link
Member Author

I did a large join test on the XSAMLL warehouse:

SELECT
  *
FROM
  lineitem AS l1
  INNER JOIN lineitem AS o ON (l1.l_orderkey * 70000 = o.l_partkey)

lineitem contains ~600million rows. If there is no spilling, it'll OOM quickly.

After set join_spilling_memory_ratio = 60; It will run successfully!

deploy@(test_spill_xd_4)/xd_tpch100p> SELECT * FROM lineitem as l1 INNER JOIN lineitem AS o ON (l1.l_orderkey * 70000 = o.l_partkey) ;

SELECT
  *
FROM
  lineitem AS l1
  INNER JOIN lineitem AS o ON (l1.l_orderkey * 70000 = o.l_partkey)

8682 rows read in 1532.381 sec. Processed 1.2 billion rows, 215.47 GiB (783.14 thousand rows/s, 143.98 MiB/s)

@xudong963 xudong963 merged commit 345cba5 into datafuselabs:main Mar 4, 2024
72 checks passed
@xudong963 xudong963 deleted the add_test branch March 4, 2024 08:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci-cloud Build docker image for cloud test pr-bugfix this PR patches a bug in codebase
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants