Introduce shared code-review profile and tighten quality gates for JLBH #175
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).