Skip to content

fix(backend): 独自Dockerイメージ使用時のバージョン誤判定および設定ファイル初期化バグの修正#1

Open
zeromax-star wants to merge 1 commit into
bootarou:dev-fix-mainnetfrom
zeromax-star:fix-custom-network
Open

fix(backend): 独自Dockerイメージ使用時のバージョン誤判定および設定ファイル初期化バグの修正#1
zeromax-star wants to merge 1 commit into
bootarou:dev-fix-mainnetfrom
zeromax-star:fix-custom-network

Conversation

@zeromax-star

Copy link
Copy Markdown

概要 (Summary)

特定のパッチ適用済みDockerイメージ(例: symbol-server-patched:gcc-1.0.3.9)を使用している際に、バックエンド側でSymbolサーバーのバージョン(v3)が正しく認識されず、誤って古いバージョン(v2)と判定されてしまう問題を修正しました。

原因 (Background / Cause)

backend/server.tsresolveVersion() 内におけるイメージ名(タグ)のマッチングロジックが厳密すぎたため、symbol-server-patched:gcc-1.0.3.9 のようなカスタムイメージ名に含まれる gcc-1.0.3.91.0.3.9 というキーワードを捕捉できず、フォールバックまたは誤判定が起きていました。

この誤判定により、以下の問題が連鎖的に発生していました:

  1. 本来は V3(1.0.3.9)を動かすべきところ、システムが V2 と誤判定する。
  2. V2用のプロパティ削除処理(removeProps)が暴発。
  3. 大元のテンプレートに正しく記述されていた config-node.properties 内の maxLogFiles および maxLogFileSize がファイルから消去される。
  4. 結果、V3イメージの catapult.tools.nemgen 実行時に property not found (cache_database, maxLogFiles) エラーを吐いてクラッシュする。

変更内容 (Changes)

  • backend/server.tsresolveVersion() 内のマッチングロジックを改善。
  • 期待されるタグ全体(gcc-1.0.3.9)での部分一致に加え、純粋なバージョン番号部分(1.0.3.9)のみでも部分一致をチェックするようにロジックを緩和。
  • 大文字小文字の差異による誤動作を防ぐため、比較時に toLowerCase() を適用。

影響範囲 (Scope)

  • バックエンドのバージョン解決処理(resolveVersion)のみ。既存のテンプレートファイルやフロントエンド等への影響はありません。

テスト状況 (Testing)

  • 修正コードの適用後、symbol-server-patched:gcc-1.0.3.9 イメージを使用した環境において、設定ファイル(config-node.properties)の必要なプロパティが削除されずに維持され、ネメシスブロック生成(nemgen)およびノードの起動が正常に成功することを確認しました。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant