-
Notifications
You must be signed in to change notification settings - Fork 594
HDDS-6882. Correct exit code for invalid arguments passed to command-line tools. #3517
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
|
Thanks @DuongNguyen0 for working on this. Looks like there is an unused import reported by checkstyle and unit test failure in |
Thanks for having a look. I fixed the checkstyle problems and made necessary changes to the unit-tests. |
|
Change makes sense. Can you look into adding a test as this was not caught in our testing. |
|
Thanks @DuongNguyen0 for updating the patch. |
Right, I added a simple robot test-suite to ensure correct CLI exit code. |
I updated the pull-requests with a new commit and that should trigger a rerun. Not sure if the |
Let me clarify my previous comment: |
My bad. I tried running the same unit-test script in local but somehow it didn't catch this. Updated |
hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/cli/GenericCli.java
Show resolved
Hide resolved
rakeshadr
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1 LGTM
|
Thanks for thre review @kerneltime and @rakeshadr. Merging this |
* master: (34 commits) HDDS-6868 Add S3Auth information to thread local (apache#3527) HDDS-6877. Keep replication port unchanged when restarting datanode in MiniOzoneCluster (apache#3510) HDDS-6907. OFS should create buckets with FILE_SYSTEM_OPTIMIZED layout. (apache#3528) HDDS-6875. Migrate parameterized tests in hdds-common to JUnit5 (apache#3513) HDDS-6924. OBJECT_STORE isn't flat namespaced (apache#3533) HDDS-6899. [EC] Remove warnings and errors from console during online reconstruction of data. (apache#3522) HDDS-6695. Enable SCM Ratis by default for new clusters only (apache#3499) HDDS-4123. Integrate OM Open Key Cleanup Service Into Existing Code (apache#3319) HDDS-6882. Correct exit code for invalid arguments passed to command-line tools. (apache#3517) HDDS-6890. EC: Fix potential wrong replica read with over-replicated container. (apache#3523) HDDS-6902. Duplicate mockito-core entries in pom.xml (apache#3525) HDDS-6752. Migrate tests with rules in hdds-server-scm to JUnit5 (apache#3442) HDDS-6806. EC: Implement the EC Reconstruction coordinator. (apache#3504) HDDS-6829. Limit the no of inflight replication tasks in SCM. (apache#3482) HDDS-6898. [SCM HA finalization] Modify acceptance test configuration to speed up test finalization (apache#3521) HDDS-6577. Configurations to reserve HDDS volume space. (apache#3484) HDDS-6870 Clean up isTenantAdmin to use UGI (apache#3503) HDDS-6872. TestAuthorizationV4QueryParser should pass offline (apache#3506) HDDS-6840. Add MetaData volume information to the SCM and OM - UI (apache#3488) HDDS-6697. EC: ReplicationManager - create class to detect EC container health issues (apache#3512) ...
… to command-line tools. (apache#3517) Change-Id: I3cc41938e00b932864bd5b218938cad845bada5c
What changes were proposed in this pull request?
Command-line tools don't take exit-code from
picocliand set the exit-code accordingly. That makes exit-codes for cases like invalid argument be always 0.This change fixes that by replacing the use of the deprecated
parseWithHandlermethod with theexecutemethod that returns correct exit-code for parsing/invalid input cases.What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-6882
How was this patch tested?
Regression is checked by unit test.
Manually tests to verify the expected status code for error-cases.