Skip to content

Default exception handlers for deferred database calls#469

Open
DropSnorz wants to merge 3 commits into
masterfrom
feat/future-exceptions
Open

Default exception handlers for deferred database calls#469
DropSnorz wants to merge 3 commits into
masterfrom
feat/future-exceptions

Conversation

@DropSnorz
Copy link
Copy Markdown
Owner

@DropSnorz DropSnorz commented May 11, 2026

Relates to #467

@DropSnorz DropSnorz self-assigned this May 11, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 11, 2026

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 35cba441-07d2-4f4b-a2c0-f621b2fdaf93

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • ✅ Review completed - (🔄 Check again to review again)
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Description check ❓ Inconclusive No pull request description was provided by the author, making it impossible to evaluate whether the description relates to the changeset. Add a pull request description that explains the purpose and benefits of the new Async utility class for exception handling in asynchronous operations.
✅ Passed checks (4 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed Docstring coverage is 85.71% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title 'Default exception handlers for deferred database calls' accurately describes the main change: introducing an Async utility class with built-in exception handling for asynchronous operations, which is then applied across multiple controllers.

✏️ 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 feat/future-exceptions

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


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.

@DropSnorz DropSnorz added this to the 2.0.0 milestone May 11, 2026
Copy link
Copy Markdown

@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: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@owlplug-client/src/main/java/com/owlplug/core/utils/Async.java`:
- Around line 38-77: Add executor-aware overloads for the blocking variants so
callers can supply a dedicated Executor rather than always using
ForkJoinPool.commonPool(): add public static CompletableFuture<Void>
run(Runnable task, Executor exec) and public static <T> CompletableFuture<T>
supply(Supplier<T> task, Executor exec) that call CompletableFuture.runAsync/
supplyAsync with the provided exec and attach the same whenComplete logging
handler; keep the existing run(Runnable) and supply(Supplier) as convenience
wrappers that delegate to the new overloads using ForkJoinPool.commonPool() to
preserve backward compatibility; update javadoc comments for run/supply to note
the executor-aware overloads and when to use the raw runAsync/supplyAsync
helpers.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 59a9ef41-59fe-45dc-8b20-d9f85f499e31

📥 Commits

Reviewing files that changed from the base of the PR and between ef4dbe4 and 7356482.

📒 Files selected for processing (5)
  • owlplug-client/src/main/java/com/owlplug/core/utils/Async.java
  • owlplug-client/src/main/java/com/owlplug/plugin/controllers/PluginInfoController.java
  • owlplug-client/src/main/java/com/owlplug/plugin/controllers/PluginTableController.java
  • owlplug-client/src/main/java/com/owlplug/plugin/controllers/PluginsController.java
  • owlplug-client/src/main/java/com/owlplug/plugin/ui/RecoveredPluginView.java

Comment thread owlplug-client/src/main/java/com/owlplug/core/utils/Async.java
@DropSnorz DropSnorz changed the title Fault exception handlers for deferred database calls Default exception handlers for deferred database calls May 12, 2026
@DropSnorz DropSnorz modified the milestones: 2.0.0, 1.33.0 May 12, 2026
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