SonarQube Product Model, Editions, Components, and Architecture: Diagnostics, Failure Modes, and Production Practices
Diagnose scanner, task, persistence/search, policy, provider, IDE, and edition failures by preserving first-failure evidence and proving the last successful ownership boundary.
Learning objectives
- Apply an evidence-first diagnostic sequence from source/scanner through external provider.
- Separate scanner/runtime, auth/network, CE, database/search, policy, and integration failures.
- Diagnose product/edition mismatches without hiding them with plugins or policy changes.
- Preserve task IDs/logs before retries or cleanup.
- Apply the least destructive correction and rerun the same scenario.
1. “SonarQube failed” is not a diagnosis
A missing scanner executable is a client/runtime problem. HTTP 401/403 during upload is authentication/authorization. An accepted report with a failed Compute Engine task is server processing. A completed analysis with a red gate is policy outcome. A green server result with missing PR decoration is usually an external integration/provider problem.
2. Evidence-first sequence
- Preserve scanner output, task metadata, CE response/logs, CI log, provider status, API responses.
- Confirm exact product/edition/version plus scanner/runtime/plugin/database/integration versions relevant to the symptom.
- Confirm revision, project key, effective parameters, and token/permission scope.
- Prove report creation/upload and task identity.
- Prove CE state and first failure.
- Prove project/profile/New Code/gate result.
- Prove CI/provider/PR integration state.
- Inspect database/search/JVM/host/container only if prior evidence points there.
- Correct narrowly and rerun the smallest equivalent case.
3. Broken example: upload success mistaken for analysis success
scanner: report uploaded
ceTaskId=AX-example-123
server task: FAILED
analysis result: not completed
The client succeeded in upload, but the analysis did not complete. Preserve the task/error and repair the server-side cause. Re-run the same revision/inputs; do not change project key to make a new green history.
4. Broken example: edition assumption
A team copies a commercial branch/PR setup into Community Build and blames the scanner. First prove product identity and current feature matrix. If the capability is commercial, evaluate the appropriate licensed edition, redesign around Community capabilities, or simulate it for training. Do not install unverified plugins or spoof license state.
5. Broken example: IDE treated as authoritative
The IDE shows no findings while CI/server gate is red. Compare revision, scope, connected configuration, imported reports, and server policy. The IDE can legitimately have a different local context. Do not lower the server gate to match a workstation.
6. Broken example: Cloud and Server configuration mixed
A migration attempts to carry a self-managed
sonar.properties infrastructure setting into SonarQube
Cloud. Reclassify each setting: project/organization/integration
behavior may have a Cloud equivalent; self-managed
process/database/search settings do not belong to the hosted
infrastructure plane.
7. Failure-layer table
| Symptom | First layer | Evidence | Avoid |
|---|---|---|---|
| Scanner cannot start | scanner/runtime | version/JRE/local error | restart server |
| 401/403 upload | auth/permission | HTTP status/token scope | admin token everywhere |
| Upload accepted, task failed | Compute Engine | ceTaskId/CE log | blind reruns |
| Analysis exists, gate red | policy | gate conditions/measures/New Code | lower threshold |
| Gate green, PR missing | provider/integration | provider permissions/status | new project key |
| UI/search unhealthy | search/JVM/host | supported health/log/resource data | delete index blindly |
| Feature absent | product/edition/version | current matrix + product identity | random plugin |
8. Database/search production boundary
Never directly edit SonarQube database rows or search documents as a troubleshooting shortcut. Preserve logs/health evidence and follow current supported backup/recovery/update guidance. Likewise, do not delete logs or caches before capturing first failure.
9. Security-sensitive diagnostics
- Least-privilege tokens; redact secrets.
- No TLS-verification disablement as a connectivity shortcut.
- No public exposure of database/search/cluster ports.
- No identity bypass to “prove” integration.
- No unsupported downgrade or incompatible restore.
- No broad project deletion or mass suppression to make CI green.
10. Production incident packet
revision X + scanner Y uploaded task Z → CE state/error at T →
project/policy/provider consequence → correction C applied at
layer L → same revision/input rerun as Z2
Attach the redacted architecture manifest, effective parameters, scanner log, task identity, CE status/error, relevant server log, policy evidence, provider/CI status, and the exact correction.
Knowledge check
Scanner exits 0 but CE is FAILED. What is the incident?
Client upload succeeded; server-side analysis processing failed.
A feature is missing in Community Build. First check?
The current product/edition/version feature matrix.
Why is changing project key a bad shortcut?
It creates a different identity/history and hides the original failure.
When should you inspect database/search health?
When preceding evidence points to platform persistence/search/resource behavior, using supported interfaces.
IDE and server disagree. Which governs CI release policy?
The authoritative server/cloud analysis tied to the CI revision and configured policy.
Official references and version notes
- SonarQube downloads and edition comparison — current Community Build, Developer, Enterprise, Data Center, and LTA identities.
- Community Build documentation — free self-managed baseline.
- SonarQube Server documentation — commercial Server behavior, operations, analysis, and integrations.
- SonarQube for IDE documentation — local analysis and connected mode.
- SonarQube Cloud documentation — hosted-product boundary.
- Release announcements — dated release cross-checks.
Rechecked 2026-09-07. The mandatory lab path uses Community Build 26.9.0.129388. SonarQube Server Developer, Enterprise, and Data Center editions are on 2026 Release 4.1, while 2026.1.5 is the active LTA patch line. Scanner/JRE provisioning, language support, APIs, plugins, and edition capabilities evolve independently; re-check current primary documentation before applying this snapshot.
SonarQube product names, editions, release trains, scanner runtimes, APIs, authentication options, and platform prerequisites can change independently. Re-check the linked SonarSource primary documentation for the exact target release before applying version-sensitive commands or operational guidance outside the disposable course environment.
Keep the academy open
Support free, practical DevOps education.
Every lesson is designed to remain readable in a browser, downloadable from GitHub, and usable without a paid learning platform. Contributions help expand and maintain the curriculum.
0x716c4Ab160C4B66F31a28AE2448BfF68fc3a2ef0Send only Ethereum/ERC-20 compatible assets to this
address.