on setProvider call, shutting down the previous provider should happen before creating the new one
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
調査の方向性
エントリーポイントのsetProviderから開始し、既存のproviderがどのように停止され、置き換えがどのように初期化されるかを追跡します。issueに示されているproviderの置き換えを再現し、停止が初期化の開始前に完了すること、およびUnleash duplicate-client errorが発生しなくなることを確認します。
索引モデルが issue の本文から書いたものです。
説明
Hi,
I noticed that if I use setProvider to set a provider, then later I want to replace it with another provider (in my case, I do this to supports changing the api key I use to connect to the provider without stopping my application, so I recreate the provider with the new key) the following happens in parallel:
- the shutting down of the old provider
- the initialization of the new one
For Unleash, this can be a problem as shown in those logs:
server-1 | {"timestamp":"2026-04-28T10:55:47.302964637Z","logger":"io.getunleash.repository.FeatureBackupHandlerFile","level":"INFO","thread":"openfeature-provider-thread-1","message":"Unleash will try to load feature toggle states from temporary backup"}
server-1 | {"timestamp":"2026-04-28T10:55:47.304799269Z","logger":"io.getunleash.repository.PollingFeatureFetcher","level":"INFO","thread":"openfeature-provider-thread-1","message":"Starting polling client"}
server-1 | {"timestamp":"2026-04-28T10:55:47.485565437Z","logger":"io.getunleash.DefaultUnleash","level":"ERROR","thread":"openfeature-provider-thread-1","message":"You already have 1 clients for AppName [my-app] with instanceId: [xxxxxxxx] running. Please double check your code where you are instantiating the Unleash SDK"}
server-1 | {"timestamp":"2026-04-28T10:55:47.485655434Z","logger":"dev.openfeature.contrib.providers.unleash.UnleashProvider","level":"INFO","thread":"openfeature-provider-thread-1","message":"finished initializing provider"}
server-1 | {"timestamp":"2026-04-28T10:55:47.485682289Z","logger":"dev.openfeature.sdk.FeatureProviderStateManager","level":"INFO","thread":"openfeature-provider-thread-1","message":"Provider Unleash transitioned from state NOT_READY to state READY"}
server-1 | {"timestamp":"2026-04-28T10:55:47.486912037Z","logger":"dev.openfeature.contrib.providers.unleash.UnleashProvider","level":"INFO","thread":"openfeature-provider-thread-2","message":"shutdown"}
server-1 |
As we can see the shutdown of the original client happens after the initialization of the new one and we get an ERROR message from the Unleash library.
- 主要言語
- Java
- スター
- 128
- フォーク
- 61
- 平均マージ
- 11時間 36分
- マージ済み PR(30日)
- 22
環境構築
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
open-feature/java-sdk のほかの issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
open-feature/java-sdk#2019 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
open-feature/java-sdk#2014 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
v0.9.0
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
open-feature/java-sdk#1999 ·
メンテナーはふだん 1 日以内に返信
-
multi-provider
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
open-feature/java-sdk#1882 ·
メンテナーはふだん 1 日以内に返信
-
[Multi-provider] Reconsider type of "originalMetadata"再び着手できるかも @chrfwow が 227 日前に担当しましたが、オープン中のプルリクエストはありません。 オープン
open-feature/java-sdk#1792 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
open-feature/java-sdk の issue をすべて見る
似ている issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 1 日以内に返信
-
ci-failure-cause test-failure
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
nextcloud/notes-android#3367 ·
メンテナーはふだん 1 日以内に返信
-
:wave: team-triage a:chore in:isolated-projects in:kotlin-dsl
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信