Introduce shared code-review profile and tighten quality gates for JLBH#175
Draft
peter-lawrey wants to merge 13 commits intodevelopfrom
Draft
Introduce shared code-review profile and tighten quality gates for JLBH#175peter-lawrey wants to merge 13 commits intodevelopfrom
peter-lawrey wants to merge 13 commits intodevelopfrom
Conversation
…lugin configuration from pom.xml
james-mcsherry
approved these changes
Oct 27, 2025
|
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.



This change introduces a Chronicle-standard
code-reviewprofile and aligns the module with our house quality rules. It wires Checkstyle, PMD, SpotBugs(+FindSecBugs), and JaCoCo using pinned versions, codifies coverage thresholds, and adds narrowly-scoped suppressions with justifications. While here, it makes a few low-risk refactors and documentation tweaks to improve determinism, readability, and consistency.Why
What changed
Build & Quality
Add pinned plugin and ruleset properties in
pom.xml:checkstyle,puppycrawl,spotbugs,findsecbugs,maven-pmd-plugin,jacoco-maven-pluginchronicle-quality-rules.version=1.23ea6Centralise JaCoCo version via
${jacoco-maven-plugin.version}and enforce minimum coverage gates:>= 0.80>= 0.70New local suppression files:
src/main/config/pmd-exclude.propertiessrc/main/config/spotbugs-exclude.xmlJLBH-OPS-20x) explaining the trade-off.Production code
JLBH.javavolatile long noResultsReturnedwithAtomicLong sampleCountfor clear atomicity and simpler timeout checks.sampleCount.while), minor Javadoc and formatting tidy-ups.TeamCityHelper.javaJLBHResultSerializer.javaFiles.newBufferedWriter(..., UTF_8)for explicit encoding and simpler IO handling.Documentation
Enable
:sectnums:and normalise section titles across:architecture.adocbenchmark-lifecycle.adocjlbh-cookbook.adocproject-requirements.adocresults-interpretation-guide.adocHow to run the new checks
mvn -Pcode-review -q verifysonar.organization=openhft,sonar.host.url=https://sonarcloud.ioalready present).Expected outcomes
Notable suppressions (justified)
PREDICTABLE_RANDOMin synthetic distributors (reproducibility preferred over crypto strength).EI_EXPOSE_REP*in performance-critical paths where copying would inflate allocations.PATH_TRAVERSAL_INin CLI-driven serializer (paths supplied by operator scripts).JLBH-OPS-20x).Risk & rollback
Follow-ups
JLBH-OPS-260(soft-fail paths).