-
Bug
-
Resolution: Unresolved
-
Blocker
-
None
-
8.1.0.GA
-
None
(Claude assisted report)
The prospero update perform command incorrectly returns exit code 1 (PROCESSING_ERROR) when no updates are available, instead of the expected exit code 0 (SUCCESS).
Steps to Reproduce:
prospero update perform --dir "$JBOSS_HOME" --repositories "$MAVEN_REPO" # On a system that is already up-to-date echo $? # Returns 1 instead of 0
Expected Behavior:
Exit code 0 (SUCCESS) - "no updates found" is a successful operation with no work to
Actual Behavior:
Exit code 1 (PROCESSING_ERROR) - treated as an error condition
Root Cause:
Introduced as unintended side effect in commit 7cbee3d0 (May 30, 2025) "Reject implicit downgrade". The buildUpdate() method returns false for both:
1. Unexpected channel downgrades (intended)
2. Empty update set (unintended side effect)
Both conditions cause PerformCommand.call() to return PROCESSING_ERROR.
Code Location:
UpdateCommand.java:139-141 and UpdateBuildCommand.buildUpdate():589-592
Impact:
Breaks automation scripts that check exit codes to determine if updates were applied successfully. Scripts incorrectly interpret "no updates available" as a failure.
Historical Context:
- March 2023 - May 2025: Correctly returned exit code 0 for no updates
- May 2025 - Present: Returns exit code 1 (current bug)