Flagsmith / Flagsmith/flagsmith-ruby-client
Local evaluation silently drops identity overrides on large environments
- 主要言語
- Ruby
- スター
- 12
- フォーク
- 6
- 平均マージ
- 28分
- マージ済み PR(30日)
- 1
説明
Server-side SDKs cache the environment document for local evaluation, but the Ruby client today only ingests the first response page. For environments large enough to span multiple pages — typically those with many identity overrides — every override beyond the first page is missing from the local cache. Affected identities are evaluated against an incomplete environment and may receive flags that disagree with remote evaluation, with no error surfaced to the operator.
## Acceptance criteria
- Local evaluation returns the same identity-override results as remote evaluation regardless of how large the environment is.
- Existing users on environments small enough to fit a single page see no behaviour or configuration change.
- When fetching a full environment takes longer than the configured refresh interval, the SDK logs a warning naming both durations, so the operator knows to raise the interval or trim the environment.
Parent: Flagsmith/flagsmith#4664
Reference implementation: Flagsmith/flagsmith-nodejs-client#205
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
まず、Ruby クライアントの local-evaluation 環境の取得箇所を特定し、そのページネーションの動作を、issue で言及されている Flagsmith Node.js のリファレンス実装と比較します。複数ページの環境でローカルおよびリモートの identity-override の結果を検証し、単一ページの場合の動作を維持したうえで、受け入れ基準に記載されているとおり、遅い更新で両方の所要時間がログに記録されることを確認します。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- ruby
- 領域
- backend
- issue の種類
- 機能追加
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 静か
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 55/100