[BUG] - Edge服务不能执行自定义流控Handler
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 42/100
Direzione di ricerca
Iniziare da AbstractRestInvocation.checkQpsFlowControl e dalla configurazione del provider handler descritta nell’issue. Riprodurre lo scenario del servizio Edge su ServiceComb 2.9.0 con un provider-service-handler personalizzato che inoltri le richieste a più servizi. Il lavoro è completato quando viene invocato il flow-control handler personalizzato configurato, invece del solo ProviderQpsFlowControlHandler integrato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Steps to Reproduce
- 自定义流控handler:provider-service-handler
- Edge服务配置Provider handler对所有待转发的请求(转发至多个不同微服务)进行流控控制
Expected Behavior
自定义流控未执行
Servicecomb Version
2.9.0
Additional Context
AbstractRestInvocation中checkQpsFlowControl只能执行CSE自带的ProviderQpsFlowControlHandler,不能执行自定义的流控handler,且函数为private,也不能通过自定义子类覆盖
private Holder<Boolean> checkQpsFlowControl(OperationMeta operationMeta) { Holder<Boolean> qpsFlowControlReject = new Holder<>(false); @SuppressWarnings("deprecation") Handler providerQpsFlowControlHandler = operationMeta.getProviderQpsFlowControlHandler(); if (null != providerQpsFlowControlHandler) { try { providerQpsFlowControlHandler.handle(invocation, response -> { qpsFlowControlReject.value = true; produceProcessor = ProduceProcessorManager.INSTANCE.findDefaultJsonProcessor(); sendResponse(response); }); } catch (Throwable e) { LOGGER.error("failed to execute ProviderQpsFlowControlHandler", e); qpsFlowControlReject.value = true; sendFailResponse(e); } } return qpsFlowControlReject; }
- Lingua principale
- Java
- Stelle
- 1.9k
- Fork
- 813
- Merge medio
- 8g 23h
- PR unite (30g)
- 1
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di apache/servicecomb-java-chassis
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
apache/servicecomb-java-chassis#5106 ·
-
question
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
apache/servicecomb-java-chassis#5153 · 1 commento ·
-
[QUESTION] - 请发布3.x的最新版本 Apertaquestion
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
apache/servicecomb-java-chassis#5146 ·
-
[FEATURE] - When will ServiceComb support Spring Boot 4.x, Spring Framework 7.x, and Jackson 3.x? Apertaenhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
apache/servicecomb-java-chassis#5145 ·
-
2.x bug
apache/servicecomb-java-chassis#5141 · 1 assegnatario ·
Tutte le issue di apache/servicecomb-java-chassis
Issue simili
-
executions.Query — startDate and timeRange filters are sent with inverted comparison operators Apertaarea/plugin
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
kestra-io/plugin-kestra#190 ·
-
litertlm-android AAR ships no consumer ProGuard rules → "mid == null" SIGABRT in minified apps Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
google-ai-edge/LiteRT-LM#3739 ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
integra-team-red/meet-map#249 ·
-
[Studio][Bug] Cancelled create-user dialog keeps the password and admin switch for the next attempt Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
apache/rocketmq-dashboard#5064 ·