shenyu
https://github.com/apache/shenyu
Java
Apache ShenYu is a Java native API Gateway for service proxy, protocol conversion and API governance.
Triage Issues!
When you volunteer to triage issues, you'll receive an email each day with a link to an open issue that needs help in this project. You'll also receive instructions on how to triage issues.
Triage Docs!
Receive a documented method or class from your favorite GitHub repos in your inbox every day. If you're really pro, receive undocumented methods or classes and supercharge your commit history.
Java not yet supported2 Subscribers
Add a CodeTriage badge to shenyu
Help out
- Issues
- [BUG] — Dubbo plugin performs blocking registry connect / `ReferenceConfig.get()` on the event loop (cache-miss path)
- [BUG] — `WebClientMessageWriter`: no `doOnError`/`doOnCancel` on `chain.execute` → upstream response body Flux never drained on mid-chain error/cancel → connection pool leak
- [BUG] — Logging send pools: `AbortPolicy` silently drops log-send tasks + `keepAliveTime=60000 MICROSECONDS` (60 ms, not 60 s) unit bug
- [BUG] — AI request/response transformer + MCP decorator: `collectList` on streaming responses breaks backpressure / unbounded in-memory buffering
- [BUG] — `BaseDataCache.selectorAccept`/`ruleAccept`: O(n² log n) re-scan + re-sort on EVERY sync event
- [BUG] — Dubbo & Sofa reference caches: `key.contains(id)` substring invalidation → mass spurious rebuilds + O(n) full scan per event
- [BUG] — `ApacheDubboProxyService`: per-request `GsonUtils` parse of selector handle into `List<DubboUpstream>`
- [BUG] — `String.matches(...)` (Pattern.compile per call) per line per AI request/response (multiple sites)
- [BUG] — `AiTokenLimiterPlugin`: `chunk.split("\\r?\\n")` (3-char regex, no fast path) per SSE chunk
- [BUG] — `LoggingConsolePlugin`: per-request `new KeyWordMatch(...)` (→ `Pattern.compile`) + `static dataDesensitizeAlg` reassigned per request (race/cross-request leak)
- Docs
- Java not yet supported