Redis retry configuration is potentially confusing
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 35/100
調査の方向性
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.
索引モデルが issue の本文から書いたものです。
説明
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.
- 主要言語
- Swift
- スター
- 182
- フォーク
- 29
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
swift-server/RediStack のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 55/100
swift-server/RediStack#135 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 45/100
swift-server/RediStack#133 · コメント 5 件 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
swift-server/RediStack#131 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
swift-server/RediStack#129 · コメント 1 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
swift-server/RediStack#127 ·
swift-server/RediStack の issue をすべて見る
似ている issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
lugassawan/swe-workbench#823 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
swiftlang/indexstore-db#306 ·
-
AlertPlayground iOS build failure in Xcode 27/Swift 6.4対応中かも @dfabulich が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
skiptools/skipapp-showcase#143 ·
-
host-ios R2 blocker Stability
難易度 1/5 1時間未満 初心者へのやさしさ 70/100
paritytech/trinity-user-agents#1661 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 1/5 1時間未満 初心者へのやさしさ 76/100
logto-io/logto#9837 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信