Ensure there is at most a single pending authorization check per (uid, serviceName) pair at any given time.
- Lingua principale
- Java
- Stelle
- 12.1k
- Fork
- 4k
- Merge medio
- 2g 17h
- PR unite (30g)
- 37
Descrizione
**TODO** follow-up from [this conversation](https://github.com/grpc/grpc-java/pull/10633#discussion_r1384267825).
#10566 introduced asynchronous authorization checks. Previously, when there were only synchronous policies, the number of concurrent checks was naturally limited by the number of threads in the fixed-size executor they ran on. Now, the system just spawns new checks as requests come, so this leads to an unbounded number of checks.
This issue is currently mitigated by the fact that most requests should use caching, but we should still improve it for the rest.
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia leggendo PR #10566 e la discussione collegata per comprendere il percorso asincrono del controllo dell’autorizzazione. Traccia come vengono creati i controlli per una coppia (uid, serviceName), quindi aggiungi o aggiorna la copertura che dimostri che per quella coppia rimane in sospeso non più di un controllo alla volta. Il lavoro è completato quando le richieste simultanee non creano un numero illimitato di controlli.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- java
- Ambito
- authorization, backend
- Tipo di issue
- Funzionalità
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100