Flagsmith / Flagsmith/flagsmith-ruby-client

Local evaluation silently drops identity overrides on large environments

オープン
#99 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
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

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。