Hardening Maestro CI: Resolve SpotBugs violations and enable static analysis#208
Open
developertogo wants to merge 1 commit into
Open
Hardening Maestro CI: Resolve SpotBugs violations and enable static analysis#208developertogo wants to merge 1 commit into
developertogo wants to merge 1 commit into
Conversation
…ded volatile flags, and integrated ThreadLocalRandom.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #164
Pull Request type
./gradlew build --write-locksto refresh dependencies)NOTE: Please remember to run
./gradlew spotlessApplyto fix any format violations.Changes in this PR
Description
This PR resolves existing SpotBugs violations across the entire Maestro codebase—including
maestro-engine,maestro-queue,maestro-common,maestro-flow, andmaestro-server— enabling the SpotBugs plugin to enforce static analysis in the CI pipeline [issue #164 - Enable spotbugs plugin]. The changes focus on improving thread safety, ensuring consistent boolean evaluation, and securing randomness in concurrent contexts.Changes Made
EI_EXPOSE_REP/2) and suspicious reference comparisons (RC_REF_COMPARISON_BOOLEAN) across DAO layers.MaestroWorkflowDaoto use null-safeBoolean.TRUE.equals()patterns.volatilekeyword to therunningstate inMaestroQueueWorkerto ensure cross-thread visibility.Math.random()withThreadLocalRandominMaestroQueueWorkerto optimize performance and safety in high-concurrency queue processing.@SuppressFBWarningsfor intentional design patterns (e.g., catchingNullPointerExceptionfor idempotency and intentional ignored return values).Test Verification
Automated Tests
./gradlew clean check test assemble