Skip to content

Fix: Add comprehensive troubleshooting guide for BI [main]#278

Open
wso2-engineering-bot wants to merge 1 commit intomainfrom
fixing-issue-200-1772793308
Open

Fix: Add comprehensive troubleshooting guide for BI [main]#278
wso2-engineering-bot wants to merge 1 commit intomainfrom
fixing-issue-200-1772793308

Conversation

@wso2-engineering-bot
Copy link
Copy Markdown

@wso2-engineering-bot wso2-engineering-bot commented Mar 6, 2026

This PR was automatically generated by Claude AI.

  • Issue: Create Troubleshooting Guide for BI #200
  • Type: Documentation / Suggestions
  • Summary: Added a comprehensive troubleshooting guide for WSO2 Integrator: BI covering installation, configuration, common issues, logs and debugging, reporting issues, and environment compatibility. Also fixed pre-existing navigation structure warnings and a broken link in the Data Mapper documentation.

New Document Verification: CONFIRM that this new document FULLY COMPLIES with ALL Microsoft Style Guide requirements. Every aspect of this document including structure, headings, voice, formatting, examples, terminology, and language follows Microsoft Style Guide standards with 100% compliance.

Image Verification: No images were added in this troubleshooting guide. All references to directories and file locations are textual.

Verification: mkdocs build --strict passed successfully.

Changes

  • Created new troubleshooting guide at en/docs/references/troubleshooting.md
  • Added troubleshooting guide to navigation in mkdocs.yml
  • Fixed pre-existing navigation structure warnings in mkdocs.yml (Create Integrations and Data Mapping sections)
  • Fixed broken link in en/docs/integration-guides/usecases/datamapper/overview.md

Content Coverage

The troubleshooting guide includes:

  1. Installation instructions and common installation errors
  2. Key artifacts and file locations (.ballerina, cache, logs)
  3. Logs and debugging guidance
  4. Configuration instructions for BI
  5. Common issues and fixes (startup failures, cache corruption, connection issues, etc.)
  6. Issue reporting guidelines
  7. Environment and compatibility verification

All content follows Microsoft Style Guide with active voice, present tense, sentence case headings, and proper formatting.

Summary by CodeRabbit

Documentation

  • Added comprehensive Troubleshooting guide covering installation, common errors, logs, debugging, and step-by-step resolutions for WSO2 Integrator: BI
  • Updated Data Mapper overview navigation link
  • Improved documentation structure and organization

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 6, 2026

Walkthrough

Documentation updates including a hyperlink correction in the Data Mapper overview guide, addition of a comprehensive Troubleshooting guide for WSO2 Integrator: BI covering installation, errors, configuration, and debugging, and navigation restructuring in the site configuration file.

Changes

Cohort / File(s) Summary
Data Mapper Documentation
en/docs/integration-guides/usecases/datamapper/overview.md
Updated hyperlink target from developer-guides overview to create-integrations overview path.
Troubleshooting Guide
en/docs/references/troubleshooting.md
New comprehensive troubleshooting documentation for WSO2 Integrator: BI covering installation, common errors, artifacts, logging, debugging, configuration, and step-by-step issue resolutions.
Navigation Configuration
en/mkdocs.yml
Fixed indentation and nesting of Developer Guides navigation items; added new Troubleshooting Guide entry under References section.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Poem

🐰 Hoppy documentation hops along,
Links fixed and guides made strong,
Troubleshooting paths now clear,
Navigation structured near,
Integration wisdom takes its flight! 🚀

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: adding a comprehensive troubleshooting guide for BI, and is specific enough for scanning PR history.
Description check ✅ Passed The description covers purpose, goals, changes, and content coverage clearly, though some template sections (release notes, training, marketing, etc.) are not addressed.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fixing-issue-200-1772793308

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@en/docs/references/troubleshooting.md`:
- Around line 367-383: The two unlabeled fenced code blocks showing the expected
output strings ("Ballerina 2201.x.x (Swan Lake Update x)" and 'openjdk version
"21.x.x"') are triggering markdownlint MD040; update both fences around those
expected-output examples (the blocks containing those exact strings) to include
a language label such as text or console (e.g., change ``` to ```text) so the
markdown blocks are explicitly annotated.
- Around line 110-113: Replace the ambiguous entry "bal files" with a
backtick-enclosed file extension by changing it to "`.bal` files" so it matches
the other code elements and follows the guideline to enclose code elements, file
names, and extensions in backticks; update the list entry alongside
"Ballerina.toml", "Dependencies.toml", and "resources folder" to ensure `.bal`
is formatted as a code element.
- Around line 281-283: Replace the inaccurate step that suggests using
"files.watcherExclude" to increase VS Code memory with a corrected instruction:
explain that "files.watcherExclude" only reduces file-watching load and does not
change memory allocation, and instruct readers to use "Preferences: Configure
Runtime Arguments" to edit argv.json and add the V8 heap flag ("js-flags":
"--max-old-space-size=8192") followed by fully quitting and relaunching VS Code;
reference the settings key files.watcherExclude, the command name Preferences:
Configure Runtime Arguments, the argv.json filename, and the
js-flags/--max-old-space-size flag so maintainers can find and update the exact
lines.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 2743bd8c-36f8-4fc5-815c-815d0a3b9713

📥 Commits

Reviewing files that changed from the base of the PR and between 3df4af3 and 62942c3.

📒 Files selected for processing (3)
  • en/docs/integration-guides/usecases/datamapper/overview.md
  • en/docs/references/troubleshooting.md
  • en/mkdocs.yml

Comment on lines +52 to +54
1. Verify that your system meets the [system requirements](/references/system-requirements/).
2. Check that you have a compatible Java Runtime Environment (JRE) version 21 installed.
3. Ensure you have sufficient disk space (at least 500 MB free).
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Check if the file exists
if [ -f "en/docs/references/troubleshooting.md" ]; then
  echo "=== File: en/docs/references/troubleshooting.md ==="
  
  # Show lines 50-60 to see the context around line 53
  echo "--- Lines 50-60 (around line 53) ---"
  sed -n '50,60p' en/docs/references/troubleshooting.md
  
  echo ""
  echo "--- Lines 350-360 (around line 353) ---"
  sed -n '350,360p' en/docs/references/troubleshooting.md
  
  echo ""
  echo "--- Searching for Java/JRE mentions ---"
  rg -n 'Java|JRE|version 21|automatically installed' en/docs/references/troubleshooting.md || true
  
else
  echo "File not found: en/docs/references/troubleshooting.md"
fi

Repository: wso2/docs-bi

Length of output: 1550


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "=== Checking line 112 (bal formatting) ==="
sed -n '110,115p' en/docs/references/troubleshooting.md

echo ""
echo "=== Checking lines 281-283 (VS Code memory) ==="
sed -n '279,285p' en/docs/references/troubleshooting.md

echo ""
echo "=== Checking lines 369, 381 (fenced code blocks) ==="
sed -n '367,383p' en/docs/references/troubleshooting.md | cat -n

Repository: wso2/docs-bi

Length of output: 1143


Resolve contradictory Java prerequisite and Style Guide violations in new documentation.

This new documentation file has four issues that violate Microsoft Style Guide requirements:

  1. Java prerequisite contradiction (lines 53 vs 353): Line 53 states users must have JRE 21 "installed" as a prerequisite check, while line 353 states it is "automatically installed if not present." This sends users down opposite troubleshooting paths. Choose one consistent approach.

  2. Code element formatting (line 112): Use backticks to format code elements. Change "bal files" to .bal files.

  3. Misleading VS Code memory description (lines 281-283): The step is labeled "Increase VS Code memory allocation" but describes adding files.watcherExclude to exclude directories. This reduces file watching workload, not memory allocation. Clarify the actual purpose or restructure this step.

  4. Unlabeled code fences (lines ~369, ~381): Code blocks require language identifiers (e.g., bash, json). Add appropriate language tags to all fenced code blocks.

Comment on lines +110 to +113
- **Ballerina.toml**: Project configuration file that defines the package name, version, and dependencies.
- **Dependencies.toml**: Auto-generated file that lists resolved dependencies and their versions.
- **bal files**: Source code files containing your integration logic.
- **resources folder**: Contains configuration files, certificates, and other resources.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Use the actual .bal extension here.

bal files is less precise than .bal files, and it is the only file-type reference in this list that is not formatted as a code element.

🛠️ Proposed fix
- - **bal files**: Source code files containing your integration logic.
+ - **`.bal` files**: Source code files containing your integration logic.
As per coding guidelines, "Enclose code elements, file paths, and URLs in backticks in documentation."
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- **Ballerina.toml**: Project configuration file that defines the package name, version, and dependencies.
- **Dependencies.toml**: Auto-generated file that lists resolved dependencies and their versions.
- **bal files**: Source code files containing your integration logic.
- **resources folder**: Contains configuration files, certificates, and other resources.
- **Ballerina.toml**: Project configuration file that defines the package name, version, and dependencies.
- **Dependencies.toml**: Auto-generated file that lists resolved dependencies and their versions.
- **`.bal` files**: Source code files containing your integration logic.
- **resources folder**: Contains configuration files, certificates, and other resources.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@en/docs/references/troubleshooting.md` around lines 110 - 113, Replace the
ambiguous entry "bal files" with a backtick-enclosed file extension by changing
it to "`.bal` files" so it matches the other code elements and follows the
guideline to enclose code elements, file names, and extensions in backticks;
update the list entry alongside "Ballerina.toml", "Dependencies.toml", and
"resources folder" to ensure `.bal` is formatted as a code element.

Comment on lines +281 to +283
2. Increase VS Code memory allocation:
- Edit the VS Code settings.
- Add `"files.watcherExclude"` to exclude large directories.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🌐 Web query:

VS Code files.watcherExclude setting what does it do

💡 Result:

files.watcherExclude tells VS Code’s file-watching system to stop watching (listening for file change events) in the paths that match the given glob patterns. This reduces the amount of OS file watchers VS Code needs, which can lower startup/CPU load and help avoid watcher-limit problems on large folders (for example build outputs, dependency folders). (code.visualstudio.com)

What it doesn’t do: it doesn’t hide files in the Explorer and it doesn’t automatically exclude them from Search—those are handled by files.exclude and search.exclude respectively. (All of these settings use VS Code glob patterns.) (code.visualstudio.com)

Example:

"files.watcherExclude": {
  "**/node_modules/**": true,
  "**/dist/**": true,
  "**/build/**": true
}
``` ([code.visualstudio.com](https://code.visualstudio.com/updates/vMarch?utm_source=openai))

Citations:

- 1: https://code.visualstudio.com/updates/vMarch?utm_source=openai
- 2: https://code.visualstudio.com/docs/editor/glob-patterns?utm_source=openai
- 3: https://code.visualstudio.com/updates/vMarch?utm_source=openai

---

🌐 Web query:

`how to increase VS Code memory allocation extension host memory limit`

💡 Result:

### Increase VS Code **Extension Host** heap size (V8)

1. Open Command Palette → **Preferences: Configure Runtime Arguments** (this opens `argv.json`). [1]  
2. Add a V8 heap flag (value is **MB**), for example:

```jsonc
{
  "js-flags": "--max-old-space-size=8192"
}
  1. Fully quit VS Code and relaunch (runtime args only apply on restart). [1]

--max-old-space-size is a standard Node/V8 flag that raises the “old space” (heap) limit. [2]

Important limitation

VS Code’s Extension Host runs on Electron’s embedded Node/V8, and there’s a hard ceiling you can’t remove at runtime (it’s tied to V8/Electron internals like pointer compression). VS Code confirms there’s no VS Code API to raise this beyond what the runtime build allows. [3]

Sources: [1] VS Code docs (Configure Runtime Arguments / argv.json) (code.visualstudio.com), [2] Node.js CLI docs (--max-old-space-size) (nodejs.org), [3] VS Code discussion on extension host heap limit (github.com)

Citations:


Replace or rename this step—files.watcherExclude reduces file-watching load, not memory allocation.

files.watcherExclude excludes directories from file-watching to lower CPU and startup load, but does not increase VS Code memory allocation. To increase Extension Host memory, use Preferences: Configure Runtime Arguments to add the V8 heap flag in argv.json:

{
  "js-flags": "--max-old-space-size=8192"
}

Then fully quit and relaunch VS Code for the change to take effect.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@en/docs/references/troubleshooting.md` around lines 281 - 283, Replace the
inaccurate step that suggests using "files.watcherExclude" to increase VS Code
memory with a corrected instruction: explain that "files.watcherExclude" only
reduces file-watching load and does not change memory allocation, and instruct
readers to use "Preferences: Configure Runtime Arguments" to edit argv.json and
add the V8 heap flag ("js-flags": "--max-old-space-size=8192") followed by fully
quitting and relaunching VS Code; reference the settings key
files.watcherExclude, the command name Preferences: Configure Runtime Arguments,
the argv.json filename, and the js-flags/--max-old-space-size flag so
maintainers can find and update the exact lines.

Comment on lines +367 to +383
Expected output:

```
Ballerina 2201.x.x (Swan Lake Update x)
```

**Check Java version**:

```bash
java -version
```

Expected output:

```
openjdk version "21.x.x"
```
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Add a language to the expected-output fences.

The two fenced blocks under “Expected output” are unlabeled, so markdownlint will keep reporting MD040. text or console is enough here.

🧩 Proposed fix
-```
+```text
 Ballerina 2201.x.x (Swan Lake Update x)
 ```
...
-```
+```text
 openjdk version "21.x.x"
 ```
🧰 Tools
🪛 markdownlint-cli2 (0.21.0)

[warning] 369-369: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


[warning] 381-381: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@en/docs/references/troubleshooting.md` around lines 367 - 383, The two
unlabeled fenced code blocks showing the expected output strings ("Ballerina
2201.x.x (Swan Lake Update x)" and 'openjdk version "21.x.x"') are triggering
markdownlint MD040; update both fences around those expected-output examples
(the blocks containing those exact strings) to include a language label such as
text or console (e.g., change ``` to ```text) so the markdown blocks are
explicitly annotated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant