starrocks icon indicating copy to clipboard operation
starrocks copied to clipboard

[BugFix] cascading cancel the analyze task

Open murphyatwork opened this issue 3 weeks ago • 7 comments

Why I'm doing:

What I'm doing:

When analyze statement is cancelled, the background task should also be cancelled.

Fixes #issue

What type of PR is this:

  • [x] BugFix
  • [ ] Feature
  • [ ] Enhancement
  • [ ] Refactor
  • [ ] UT
  • [ ] Doc
  • [ ] Tool

Does this PR entail a change in behavior?

  • [ ] Yes, this PR will result in a change in behavior.
  • [x] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

  • [ ] Interface/UI changes: syntax, type conversion, expression evaluation, display information
  • [ ] Parameter changes: default values, similar parameters but with different default values
  • [ ] Policy changes: use new policy to replace old one, functionality automatically enabled
  • [ ] Feature removed
  • [ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

  • [ ] I have added test cases for my bug fix or my new feature
  • [ ] This pr needs user documentation (for new or modified features or behaviors)
    • [ ] I have added documentation for my new feature or new function
  • [ ] This is a backport pr

Bugfix cherry-pick branch check:

  • [x] I have checked the version labels which the pr will be auto-backported to the target branch
    • [x] 4.0
    • [x] 3.5
    • [ ] 3.4
    • [ ] 3.3

[!NOTE] Ensures sync ANALYZE cascades cancellation to its background task and adds a null check before setting executionId; adds a unit test verifying cancellation.

  • Analyze execution/cancellation:
    • Use a CancelableAnalyzeTask reference outside try and, in finally, restore timeouts and call cancel(true) for sync ANALYZE if the task hasn’t finished.
  • Execution ID setup:
    • Add null guard when deriving executionId from queryId (skip if uuid == null).
  • Tests:
    • Add testCancelAnalyzeDuringExecution in StatisticsExecutorTest to mock a long-running analyze and verify the task is cancelled upon interruption.

Written by Cursor Bugbot for commit 1aabe23afb7093f3bd1472d0ce849d15526a95d1. This will update automatically on new commits. Configure here.

murphyatwork avatar Dec 04 '25 08:12 murphyatwork

🧪 CI Insights

Here's what we observed from your CI run for 1aabe23a.

🟢 All jobs passed!

But CI Insights is watching 👀

mergify[bot] avatar Dec 04 '25 09:12 mergify[bot]

@cursor review

alvin-celerdata avatar Dec 04 '25 18:12 alvin-celerdata

@cursor review

alvin-celerdata avatar Dec 05 '25 17:12 alvin-celerdata

[FE Incremental Coverage Report]

:white_check_mark: pass : 5 / 5 (100.00%)

file detail

path covered_line new_line coverage not_covered_line_detail
:large_blue_circle: com/starrocks/qe/StmtExecutor.java 5 5 100.00% []

github-actions[bot] avatar Dec 12 '25 07:12 github-actions[bot]

@mergifyio rebase

murphyatwork avatar Dec 15 '25 05:12 murphyatwork

rebase

✅ Branch has been successfully rebased

mergify[bot] avatar Dec 15 '25 05:12 mergify[bot]

@cursor review

alvin-celerdata avatar Dec 15 '25 17:12 alvin-celerdata

[Java-Extensions Incremental Coverage Report]

:white_check_mark: pass : 0 / 0 (0%)

github-actions[bot] avatar Dec 16 '25 06:12 github-actions[bot]

[BE Incremental Coverage Report]

:white_check_mark: pass : 0 / 0 (0%)

github-actions[bot] avatar Dec 16 '25 06:12 github-actions[bot]

@cursor review

alvin-celerdata avatar Dec 17 '25 02:12 alvin-celerdata