Redis retry configuration is potentially confusing
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 35/100
Direzione di ricerca
Read RedisConnectionPool.Configuration.init() in Sources/RediStack/ConnectionPool/RedisConnectionPool+Configuration.swift and inspect how the Vapor wrapper passes connectionRetryTimeout. Clarify whether the documented 60-second default or the 10-millisecond fallback is intended, then make the initializer behavior and public documentation consistent. The issue names no tests to run.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
The Redis retry configuration is potentially confusing, and downright problematic for Vapor.
RedisConnectionPool.Configuration.init() is implemented like this. Note that it specifies a default timeout in the signature of 60 seconds, but if nil is passed in, it uses an internal timeout of 10 ms.
public init(
initialServerConnectionAddresses: [SocketAddress],
maximumConnectionCount: RedisConnectionPoolSize,
connectionFactoryConfiguration: ConnectionFactoryConfiguration,
minimumConnectionCount: Int = 1,
connectionBackoffFactor: Float32 = 2,
initialConnectionBackoffDelay: TimeAmount = .milliseconds(100),
connectionRetryTimeout: TimeAmount? = .seconds(60),
onUnexpectedConnectionClose: ((RedisConnection) -> Void)? = nil,
poolDefaultLogger: Logger? = nil
) {
self.initialConnectionAddresses = initialServerConnectionAddresses
self.maximumConnectionCount = maximumConnectionCount
self.factoryConfiguration = connectionFactoryConfiguration
self.minimumConnectionCount = minimumConnectionCount
self.connectionRetryConfiguration = (
(initialConnectionBackoffDelay, connectionBackoffFactor),
connectionRetryTimeout ?? .milliseconds(10) // always default to a baseline 10ms
)
self.onUnexpectedConnectionClose = onUnexpectedConnectionClose
self.poolDefaultLogger = poolDefaultLogger ?? .redisBaseConnectionPoolLogger
}
The Vapor wrapper around this passes nil down through its call stack.
It's not clear what the intent is in RediStack. Is a default timeout 60 seconds or 10 milliseconds? Certainly the public documentation implies it's 60 seconds, and only by a careful reading of the actual code can you determine that it ends up as 10 ms if you pass nil.
- Lingua principale
- Swift
- Stelle
- 182
- Fork
- 29
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
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 swift-server/RediStack
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 55/100
swift-server/RediStack#135 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
swift-server/RediStack#133 · 5 commenti ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
swift-server/RediStack#131 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
swift-server/RediStack#129 · 1 commento ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
swift-server/RediStack#127 ·
Tutte le issue di swift-server/RediStack
Issue simili
-
desktop-app
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
raullenchai/Rapid-MLX#4975 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
xybrid-ai/xybrid#661 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
[iPhone Duo] Address bar in Duo folded in portrait orientation missing leading and trailing paddingAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
mozilla-mobile/firefox-ios#36179 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 69/100
cuappdev/resell-ios#131 ·
-
📦 expo-modules-core 📦 expo-updates contributor: external iOS needs review sdk-58 severity: low
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
expo/expo#51852 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno