server: Discovery store is only persisted on clean shutdown
メンテナーはふだん 4 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 76/100
調査の方向性
server/app/services/run_discovery.py と DiscoveryStore.to_file() の実装を読み、その後 post_all_asset_links_by_id と delete_all_asset_links_by_id を調べて、インメモリストアをどのように更新するか確認してください。永続モードで storage_path がどのように設定されるかを確認してください。サービスが正常に停止しなかった後も、成功した POST または DELETE の結果が利用可能であれば完了です。書き込み時の永続化を選ばない場合は、README のドキュメントのみの選択肢が代替案になります。
索引モデルが issue の本文から書いたものです。
説明
The discovery service writes its store to storage_path only in an
atexit hook:
The write handlers post_all_asset_links_by_id and
delete_all_asset_links_by_id only change the in-memory dicts.
The discovery_standalone README describes a "Persistent Mode" but
does not say that changes are written only at shutdown:
Expected behavior: In persistent mode, a successful POST or DELETE
on /lookup/shells/{aasIdentifier} survives a crash of the service.
Actual behavior: Changes reach the disk only on a clean shutdown.
If the process is killed (OOM, docker kill, host crash, uWSGI worker
crash), all asset links registered since startup are lost.
Environment: develop @ 2773ac06, image built from
server/docker/discovery/Dockerfile with storage_path set.
Options:
- Persist on every write: call
DiscoveryStore.to_file()at the end
of both write handlers and drop theatexithook.to_file()
already writes a temp file and usesos.replace(), so the write is
atomic. - Keep the current behavior and document it: state in the README
that changes are saved only on a clean shutdown and that a crash
loses everything since the last start.
Option 1 is a small change and makes "persistent mode" mean what users
expect, so I would prefer it.
- 主要言語
- Python
- スター
- 106
- フォーク
- 59
- 平均マージ
- 4日 1時間
- マージ済み PR(30日)
- 3
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
eclipse-basyx/basyx-python-sdk のほかの issue
-
server: XML responses contain `cursor="None"` on the last page対応中かも @qiaobochi040726-source が 2 日前に担当しました。 オープンbug good-first-issue server
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
eclipse-basyx/basyx-python-sdk#673 ·
メンテナーはふだん 4 日以内に返信
-
adapter.aasx: Failsafe writer adds duplicate parts for conflicting files対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープンbug good-first-issue sdk
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
eclipse-basyx/basyx-python-sdk#671 ·
メンテナーはふだん 4 日以内に返信
-
enhancement good-first-issue server
難易度 2/5 1〜3時間 初心者へのやさしさ 80/100
eclipse-basyx/basyx-python-sdk#670 ·
メンテナーはふだん 4 日以内に返信
-
bug good-first-issue sdk
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
eclipse-basyx/basyx-python-sdk#665 ·
メンテナーはふだん 4 日以内に返信
-
README CI badge is broken対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープンbug documentation
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
eclipse-basyx/basyx-python-sdk#656 ·
メンテナーはふだん 4 日以内に返信
eclipse-basyx/basyx-python-sdk の issue をすべて見る
似ている issue
-
intake mcp-intake needs-ac needs-human-review priority:medium
難易度 2/5 1〜3時間 初心者へのやさしさ 67/100
Ikalus1988/MisakaNet#3848 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 75/100
521xueweihan/HelloGitHub#4105 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
igormcsouza/bookloud#54 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
aws-samples/sample-per-model-bedrock#526 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
ok-oldking/ok-wuthering-waves#1802 ·
メンテナーはふだん 2 日以内に返信