[java-storage] Feature request: expose ChannelPoolSettings on GrpcStorageOptions.Builder
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 76/100
Direzione di ricerca
Start in GrpcStorageOptions.Builder and follow resolveSettingsAndOpts() to see how InstantiatingGrpcChannelProvider is configured. Add the ChannelPoolSettings builder option, wire it through while preserving the unset default, and verify that the high-level Storage API exposes the configured pool settings.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Is your feature request related to a problem? Please describe.
We use StorageOptions.grpc() with Direct Path on GKE for high-throughput writes (WriteChannel, resumable uploads). A single commit can trigger hundreds of concurrent uploads per pod.
GrpcStorageOptions builds InstantiatingGrpcChannelProvider without setChannelPoolSettings(), so the default is effectively one gRPC channel. With ~100+ concurrent RPCs, calls queue on that channel and we see high tail latency and underused bandwidth.
ChannelPoolSettings can be set on StorageSettings + StorageClient, but the high-level Storage API from StorageOptions.grpc().build().getService() offers no way to pass those settings.
(google-cloud-storage 2.34.0+, resolves to 2.55.x in our build.)
Describe the solution you'd like
Add setChannelPoolSettings(ChannelPoolSettings) to GrpcStorageOptions.Builder, wired through to InstantiatingGrpcChannelProvider in resolveSettingsAndOpts(). Default unchanged when unset.
Storage storage = StorageOptions.grpc()
.setProjectId(projectId)
.setChannelPoolSettings(ChannelPoolSettings.builder()
.setInitialChannelCount(8)
.setMaxChannelCount(16)
.setMaxRpcsPerChannel(50)
.build())
.build()
.getService();
Describe alternatives you've considered
StorageClient+ customStorageSettings— channel pool works, but not compatible with high-levelStorage/WriteChannel.- Copy
resolveSettingsAndOpts()in app code — fragile. - Upload concurrency limit in app — does not fix single-channel RPC queuing.
- Lingua principale
- Java
- Stelle
- 2.1k
- Fork
- 1.2k
- Merge medio
- 2g 14h
- PR unite (30g)
- 192
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
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 googleapis/google-cloud-java
-
[java-core] Timestamp.of(java.sql.Timestamp) is one second late for a time less than a second before the epochForse già presa @Vcode2407 l’ha presa 4 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
googleapis/google-cloud-java#14636 ·
I maintainer di solito rispondono entro 1 giorno
-
[java-firestore] UserDataConverter encodes a pre-epoch Date with negative nanos, so the write is refusedForse già presa @wu-hui l’ha presa 23 giorni fa. Apertapriority: p2 type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
googleapis/google-cloud-java#14635 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
[java-firestore] UserDataConverter throws IndexOutOfBoundsException on an empty __binary__ valueForse già presa @wu-hui l’ha presa 23 giorni fa. Apertapriority: p2 type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
googleapis/google-cloud-java#14634 · 1 commento · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
[java-firestore] CustomClassMapper.convertBigDecimal calls .abs() on Double, unintentionally flipping negative values to positiveForse di nuovo libera @wu-hui l’ha presa 45 giorni fa e non c’è nessuna pull request aperta. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
googleapis/google-cloud-java#14533 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Github CI failing when trying to install xmllintForse già presa @blakeli0 l’ha presa 81 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
googleapis/google-cloud-java#14132 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di googleapis/google-cloud-java
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
-
Difficoltà 2/5 Meno di un'ora Idoneità per principianti 84/100
cpp-best-practices/project_validator#251 ·
I maintainer di solito rispondono entro 1 giorno
-
backend enhancement
Difficoltà 2/5 Mezza giornata Idoneità per principianti 70/100
damodharg6/payledger#16 ·
-
[Bug]: An initiative list with no current entry logs an error on every changeForse già presa @dwizard0 l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno