Skip to content

docs: Update README and detailed documentations#42

Merged
leonroars merged 2 commits into
mainfrom
docs
Apr 3, 2026
Merged

docs: Update README and detailed documentations#42
leonroars merged 2 commits into
mainfrom
docs

Conversation

@leonroars

@leonroars leonroars commented Apr 3, 2026

Copy link
Copy Markdown
Owner

Summary by CodeRabbit

  • Documentation
    • Reorganized README’s feature section and replaced narrative with a concise "Technical Highlights" table linking to detailed docs on performance and idempotency.
    • Added an ADR-style idempotency design document describing request-response caching and distributed concurrency controls.
    • Updated the performance analysis with revised JVM heap sizing guidance and an experimental validation approach.

@coderabbitai

coderabbitai Bot commented Apr 3, 2026

Copy link
Copy Markdown

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: c7193d07-760b-4285-a9f2-40c1b1c92504

📥 Commits

Reviewing files that changed from the base of the PR and between b7c2468 and 0e731a5.

📒 Files selected for processing (1)
  • README.md

📝 Walkthrough

Walkthrough

The pull request refactors README documentation, adds two English detailed docs, and introduces an ADR describing a Spring AOP idempotency design that uses Redis caching and Redisson distributed locks.

Changes

Cohort / File(s) Summary
README update
README.md
Replaced prior detailed narrative with a "Technical Highlights" table and updated links to point to new ./docs/detailed_docs/en/... documents.
Idempotency ADR (new)
docs/detailed_docs/en/idempotency-design.md
Added ADR describing a Spring @Aspect-based idempotency module: @Idempotent annotation, IdempotencyAspect flow (cache check, Redisson RLock via tryLock(), response caching), 202+Retry-After on contention, codec and trade-offs.
Performance doc revision
docs/detailed_docs/en/performance-bottleneck-analysis.md
Rewrote Resolution to remove JFR allocation profiling and document an experimental heap over-provisioning step (-Xms2g -Xmx2g) to isolate GC-driven connection delays; results/validation unchanged.

Sequence Diagram(s)

mermaid
sequenceDiagram
participant Client
participant Controller
participant IdempotencyAspect
participant Redis
participant Redisson
participant Service
Client->>Controller: HTTP request (Idempotency-Key)
Controller->>IdempotencyAspect: enter @Idempotent method
IdempotencyAspect->>Redis: GET idempotency:key
alt cached response found
Redis-->>IdempotencyAspect: cached Response (status+body)
IdempotencyAspect-->>Controller: return cached Response
Controller-->>Client: HTTP response (cached)
else no cache
IdempotencyAspect->>Redisson: tryLock(idempotency:key)
alt lock acquired
Redisson-->>IdempotencyAspect: lock acquired
IdempotencyAspect->>Service: invoke business logic
Service-->>IdempotencyAspect: result (status+body)
IdempotencyAspect->>Redis: SET idempotency:key = encoded Response (TTL)
IdempotencyAspect->>Redisson: unlock
IdempotencyAspect-->>Controller: return Response
Controller-->>Client: HTTP response (result)
else lock not acquired
Redisson-->>IdempotencyAspect: lock denied
IdempotencyAspect-->>Controller: return 202 Accepted (Retry-After)
Controller-->>Client: 202 Accepted
end
end

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Poem

🐰 I hopped through docs with nimble paws,

Moved old blocks into tidy laws,
AOP locks and cached reply,
Heap grown tall to watch GC fly,
This rabbit cheers the clearer cause! 🥕✨

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The title is vague and overly broad, using generic phrasing ('Update README and detailed documentations') that doesn't specify the primary change or convey meaningful information about what was actually modified. Revise the title to be more specific, e.g., 'docs: Consolidate technical documentation with external links' or 'docs: Extract performance and idempotency details to separate documents'.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
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
  • Commit unit tests in branch docs

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.

@leonroars
leonroars merged commit 7a72dfb into main Apr 3, 2026
1 check passed
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