Skip to content

chore: fix the output of etcdctl watch -i #19397

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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

JalinWang
Copy link
Contributor

Please read https://github.com/etcd-io/etcd/blob/main/CONTRIBUTING.md#contribution-flow.
image
Although the interactive mode of etcdctl watch supports progress command now, the output is a little bit out-of-date :(

@k8s-ci-robot
Copy link

Hi @JalinWang. Thanks for your PR.

I'm waiting for a etcd-io member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@JalinWang JalinWang changed the title chore: fix the output of watch -i chore: fix the output of etcdctl watch -i Feb 12, 2025
Copy link

codecov bot commented Feb 12, 2025

Codecov Report

Attention: Patch coverage is 0% with 4 lines in your changes missing coverage. Please review.

Project coverage is 70.29%. Comparing base (fefce54) to head (16b3c80).
Report is 727 commits behind head on main.

Files with missing lines Patch % Lines
etcdctl/ctlv3/command/watch_command.go 0.00% 4 Missing ⚠️
Additional details and impacted files
Files with missing lines Coverage Δ
etcdctl/ctlv3/command/watch_command.go 44.08% <0.00%> (ø)

... and 66 files with indirect coverage changes

@@            Coverage Diff             @@
##             main   #19397      +/-   ##
==========================================
+ Coverage   68.94%   70.29%   +1.34%     
==========================================
  Files         420      424       +4     
  Lines       35759    37961    +2202     
==========================================
+ Hits        24654    26684    +2030     
- Misses       9684     9845     +161     
- Partials     1421     1432      +11     

Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update fefce54...16b3c80. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@ivanvc
Copy link
Member

ivanvc commented Feb 14, 2025

/ok-to-test

Copy link
Member

@ivanvc ivanvc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the pull request, @JalinWang. Please take a look at my comment :)

@@ -131,7 +131,7 @@ func watchInteractiveFunc(cmd *cobra.Command, osArgs []string, envKey, envRange
cobrautl.ExitWithError(cobrautl.ExitError, err)
}
default:
fmt.Fprintf(os.Stderr, "Invalid command %s (only support watch)\n", l)
fmt.Fprintf(os.Stderr, "Invalid command %s (only support `watch` & `progress`)\n", l)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd like to suggest having the same message in both places for consistency (and use the opportunity to improve the grammar :). i.e.,

Suggested change
fmt.Fprintf(os.Stderr, "Invalid command %s (only support `watch` & `progress`)\n", l)
fmt.Fprintf(os.Stderr, `Invalid command %s (only "watch" and "progress" are supported)\n`, l)

And apply the same to line 108.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is a \n here, so we can't use back quotes ``

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about now?

@ivanvc
Copy link
Member

ivanvc commented Mar 6, 2025

/ok-to-test

@JalinWang, can you squash your commits?

@JalinWang
Copy link
Contributor Author

done~

@ivanvc
Copy link
Member

ivanvc commented Mar 12, 2025

/retest

Copy link
Member

@ivanvc ivanvc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Thanks, @JalinWang.

Copy link

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed after 21 days if no further activity occurs. Thank you for your contributions.

@github-actions github-actions bot added the stale label May 15, 2025
@github-actions github-actions bot closed this May 22, 2025
@ivanvc ivanvc reopened this May 22, 2025
@ivanvc
Copy link
Member

ivanvc commented May 22, 2025

cc. @jmhbnz, @ahrtr, @serathius, @fuweid

Copy link
Member

@jmhbnz jmhbnz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM - Thanks @JalinWang the new output is much clearer imo

Output
Current > Invalid command w (only support watch)
> Invalid command: (watch and progress supported)
This PR > Invalid command: 'w' (only watch and progress are supported)
> Invalid command: '' (only watch and progress are supported)

@k8s-ci-robot
Copy link

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: ivanvc, JalinWang, jmhbnz

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

continue
}
switch args[0] {
case "watch":
if len(args) < 2 && envKey == "" {
fmt.Fprintf(os.Stderr, "Invalid command %s (command type or key is not provided)\n", l)
fmt.Fprintf(os.Stderr, "Invalid command: '%s' (the key/prefix is not provided)\n", l)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems not correct. If you read parseWatchArgs, the args may not just be key/prefix.

@ahrtr
Copy link
Member

ahrtr commented May 22, 2025

Apart from #19397 (comment), other changes in this PR look good to me. thx

@github-actions github-actions bot removed the stale label May 23, 2025
@k8s-ci-robot
Copy link

@JalinWang: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
pull-etcd-e2e-amd64 16b3c80 link true /test pull-etcd-e2e-amd64
ci-etcd-robustness-release36-amd64 16b3c80 link true /test ci-etcd-robustness-release36-amd64

Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

5 participants