Redis retry configuration is potentially confusing
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 35/100
Piste de recherche
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.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- Langage dominant
- Swift
- Étoiles
- 182
- Forks
- 29
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de swift-server/RediStack
-
Difficulté 2/5 1-3 heures Accessibilité débutants 55/100
swift-server/RediStack#135 ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 45/100
swift-server/RediStack#133 · 5 commentaires ·
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
swift-server/RediStack#131 ·
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
swift-server/RediStack#129 · 1 commentaire ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 35/100
swift-server/RediStack#127 ·
Toutes les issues de swift-server/RediStack
Issues similaires
-
product / auth product / databases product / functions product / messaging product / storage product / vcs
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour
-
ci-failure ci:assertion test
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
openwatersio/slackwater-ios#811 ·
Les mainteneurs répondent en général sous 1 jour
-
ai-assisted
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
swiftlang/swift-testing#1979 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 63/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
foxglove/mcap#1907 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour