Faraday/Typhoeus HTTP adapter support (potentially as a plugin)
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Da chiarire
- Stato di attività
- Ferma
- Stack tecnologico
- ruby
- Ambito
- backend, networking
Direzione di ricerca
Inizia esaminando il pattern dell’handler SDKv3 a cui si fa riferimento nell’issue e la discussione in #301. Confronta gli approcci richiesti per Faraday e Typhoeus, quindi definisci se il deliverable debba essere il supporto ufficiale per adapter/plugin oppure la documentazione per implementare un handler personalizzato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Is your feature request related to a problem? Please describe.
Net::HTTP doesn't get very good parallel throughput because it's totally in Ruby and doesn't benefit from being able to manage its own I/O or threading in the same way that a C extension would. The AWS SDK supports pluggable handlers, and this was brought up in #301, but in SDKv3 I don't know what the current pattern for implementing such a handler would look like.
In particular, I'm issuing a ton of S3 API calls in threads, and throughput maxes out at a relatively low number of threads because everything is having to go through the Ruby interpreter, so there are only so many tasks that can run concurrently.
Describe the solution you'd like
I would love official support for Faraday (for multiple pluggable backends) or Typhoeus (which is what I would use, as it's a wrapper for cURL), possibly in a plugin. Typhoeus, in particular, would also work for H2 and H3/QUIC since it is using cURL internally. Alternatively, having documentation for how a custom handler might be implemented in SDKv3 would enable me to write my own handler.
Describe alternatives you've considered
I've thought about spawning multiple processes instead of multiple threads, but it would most likely perform worse without spawning processes and threads, and this would be a ton of work to get working properly - most likely more than writing a HTTP handler on top of Typhoeus.
I've also considered JRuby (whose Net::HTTP does hit a code path that runs in compiled code), but we don't use JRuby for anything else (and our other apps won't run under JRuby), so a broader solution that benefits more than this one-off thing would be preferred.
- 👋 I may be able to implement this feature request
Additional context
I am an Amazon employee (not in AWS), and so may be able to get the time to implement this and help you ship it.
- Lingua principale
- Ruby
- Stelle
- 3.7k
- Fork
- 1.2k
- Merge medio
- 1g 16h
- PR unite (30g)
- 25
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un 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 aws/aws-sdk-ruby
-
service-api
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
aws/aws-sdk-ruby#3395 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
BedrockAgentCore: invoke_agent_runtime buffers entire response instead of streaming in real-timeApertadocumentation p3 queued
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
aws/aws-sdk-ruby#3348 · 6 commenti · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
feature-request needs-major-version
Difficoltà 3/5 1-2 giorni Idoneità per principianti 48/100
aws/aws-sdk-ruby#3241 · 5 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
investigating service-api
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
aws/aws-sdk-ruby#3217 · 4 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
service-api
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
aws/aws-sdk-ruby#3191 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di aws/aws-sdk-ruby
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
I maintainer di solito rispondono entro 1 giorno
-
[Bug] Chatwoot v4.19.0 – Super Admin returns 500 due to missing superadmin.scss Vite manifest entryApertaBug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 2 giorni
-
PRM baseline System 1 and 2 fans run continuously in unoccupied hours (low priority)Forse già presa @anchapin l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
NatLabRockies/openstudio-standards#2167 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
18F/identity-idp#13734 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Ubuntu 26.04: gems linking OpenSSL statically (e.g. rugged) fail to build – libjitterentropy3-dev missingForse già presa @BattleAurora l’ha presa oggi. ApertaArea: Ruby bug report needs triage OS: Ubuntu
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
actions/runner-images#15068 · 1 commento ·
I maintainer di solito rispondono entro 3 giorni