Calidad de código · plugin para JetBrains
CompletableFuture Cancellation Propagation Companion
GratisConcurrency / Async Bugs
IntelliJ-family plugin that flags a .thenCompose(...) chain whose result future can be cancelled, but whose inner future: constructed directly inside the lambda: never receives that cancellation, so the orphaned work keeps running and consuming resources after the caller believes the whole operation stopped.
La brecha que resuelve
CompletableFuture.thenCompose never propagates cancellation into the stage it returns -- calling .cancel(true) on the outer/chained future only marks that future as cancelled; it does not touch the inner CompletableFuture the lambda constructed and is still waiting on. This is a real, repeatedly-reported gap: it shows up in GitHub issues against Reactor Core, Failsafe, and OpenTelemetry's Java instrumentation, each describing the same shape -- a caller cancels what it thinks is the whole async operation, but a supplyAsync/ runAsync stage buried inside a thenCompose lambda keeps exe
Datos y precio
- Categoría
- Calidad de código
- Precio
- Gratis
- Plataforma
- IntelliJ-family
- Primera publicación
- 2026-09-02
- ID en Marketplace
- #34016
- Repositorio
completablefuture-cancellation-companion- Crecimiento
- Recién publicado
Plugins relacionados
Todos los plugins de calidad de códigoPreview every refactoring before committing it. Simulates a rename in an isolated, in-memory sandbox (using IntelliJ's own PSI, Find Usages, and refactoring processors, never a custom engine) and shows a full impact report, deterministic validation, and a native side-by-side diff before anything touches a real file.
A cognitive-complexity gutter icon for Java and Kotlin methods/functions: a colored badge with the real number, computed with SonarSource's documented Cognitive Complexity algorithm, never blocking the UI thread.
Shows errors and warnings inline, at the end of the line that has them, instead of only as a gutter icon or a squiggly underline you have to hover to read. One hint per line (most severe diagnostic wins) so it never turns into unreadable clutter.
Gutter icon next to every recognized feature-flag-check call's key literal in Java/Kotlin code (isEnabled("checkout_v2"), variation("checkout_v2", false), and similar), showing how many times that exact key is referenced anywhere else in the open project: helps find orphaned flags (dead code left behind after a rollout completed) without connecting to any provider. 100
Descargas y estrellas al 2026-10-18, actualizadas dos veces al día desde las API de JetBrains Marketplace y GitHub.