Skip to content

Conversation

@shlomi-noach
Copy link
Contributor

Description

See description in #16710

The implementation is:

  • Once we get a query Plan
  • And find that the type is PlanDDL
  • We replace the existing context (which is a context.WithTimeout()) with a context.WithoutTimeout() (new in go1.21).

Seeking advice on how to test this.

Related Issue(s)

Fixes #16710

Checklist

  • "Backport to:" labels have been added if this change should be back-ported to release branches
  • If this change is to be back-ported to previous releases, a justification is included in the PR description
  • Tests were added or are not required
  • Did the new or modified tests pass consistently locally and on CI?
  • Documentation was added or is not required

Deployment Notes

@shlomi-noach shlomi-noach added Type: Enhancement Logical improvement (somewhere between a bug and feature) Component: Query Serving labels Sep 4, 2024
@vitess-bot
Copy link
Contributor

vitess-bot bot commented Sep 4, 2024

Review Checklist

Hello reviewers! 👋 Please follow this checklist when reviewing this Pull Request.

General

  • Ensure that the Pull Request has a descriptive title.
  • Ensure there is a link to an issue (except for internal cleanup and flaky test fixes), new features should have an RFC that documents use cases and test cases.

Tests

  • Bug fixes should have at least one unit or end-to-end test, enhancement and new features should have a sufficient number of tests.

Documentation

  • Apply the release notes (needs details) label if users need to know about this change.
  • New features should be documented.
  • There should be some code comments as to why things are implemented the way they are.
  • There should be a comment at the top of each new or modified test to explain what the test does.

New flags

  • Is this flag really necessary?
  • Flag names must be clear and intuitive, use dashes (-), and have a clear help text.

If a workflow is added or modified:

  • Each item in Jobs should be named in order to mark it as required.
  • If the workflow needs to be marked as required, the maintainer team must be notified.

Backward compatibility

  • Protobuf changes should be wire-compatible.
  • Changes to _vt tables and RPCs need to be backward compatible.
  • RPC changes should be compatible with vitess-operator
  • If a flag is removed, then it should also be removed from vitess-operator and arewefastyet, if used there.
  • vtctl command output order should be stable and awk-able.

@vitess-bot vitess-bot bot added NeedsBackportReason If backport labels have been applied to a PR, a justification is required NeedsDescriptionUpdate The description is not clear or comprehensive enough, and needs work NeedsIssue A linked issue is missing for this Pull Request NeedsWebsiteDocsUpdate What it says labels Sep 4, 2024
@shlomi-noach shlomi-noach removed NeedsDescriptionUpdate The description is not clear or comprehensive enough, and needs work NeedsWebsiteDocsUpdate What it says NeedsIssue A linked issue is missing for this Pull Request NeedsBackportReason If backport labels have been applied to a PR, a justification is required labels Sep 4, 2024
@github-actions github-actions bot added this to the v21.0.0 milestone Sep 4, 2024
@codecov
Copy link

codecov bot commented Sep 4, 2024

Codecov Report

Attention: Patch coverage is 50.00000% with 1 line in your changes missing coverage. Please review.

Project coverage is 68.92%. Comparing base (1ed18d0) to head (1004173).
Report is 9 commits behind head on main.

Files with missing lines Patch % Lines
go/vt/vttablet/tabletserver/tabletserver.go 50.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #16711      +/-   ##
==========================================
- Coverage   68.93%   68.92%   -0.01%     
==========================================
  Files        1565     1565              
  Lines      201682   201684       +2     
==========================================
- Hits       139020   139002      -18     
- Misses      62662    62682      +20     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@deepthi
Copy link
Collaborator

deepthi commented Sep 4, 2024

The way to run long-running DDLs is through ApplySchema. query-timeout at tablet level is supposed to apply to everything. @harshit-gangal will come back with an alternate proposal to solving this feature request.

@shlomi-noach shlomi-noach marked this pull request as draft September 5, 2024 04:40
@shlomi-noach
Copy link
Contributor Author

Closing in favor of #16735

@shlomi-noach shlomi-noach deleted the ddl-exec-without-timeout branch September 10, 2024 06:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Component: Query Serving Type: Enhancement Logical improvement (somewhere between a bug and feature)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature Request: allow DDL statements to run for unlimited time

2 participants