Skip to content

R2: 境界とマーカーの同値更新による不要書込みを抑止 - #4

Merged
gui-ace merged 3 commits into
v3.0from
codex/issue-1-r2-marker-updates
Sep 8, 2026
Merged

R2: 境界とマーカーの同値更新による不要書込みを抑止#4
gui-ace merged 3 commits into
v3.0from
codex/issue-1-r2-marker-updates

Conversation

@gui-ace

@gui-ace gui-ace commented Sep 8, 2026

Copy link
Copy Markdown

境界が同じでも5秒ごとに変更通知を出し、マーカーJSONを再書込みする問題を修正します。境界の値比較と深いスナップショット保持に加え、同world・同座標の位置更新を抑止します。world移動は旧worldの削除通知と新worldの更新通知を行います。

  • 境界修正とマーカー修正は独立commit。修正前に5件の不具合を再現し、修正後は追加分を含むコア104テストが成功。
  • Paper 1.21.4の隔離比較で、無変更18秒・4サンプルは現行版4世代→修正版1世代。境界拡縮・中心移動・スポーン移動、新規描画、HTTP 200を確認。
  • Paper 1.21.8 + WorldEdit 7.4.2 + WorldGuard 7.0.14 + Dynmap-WorldGuard 1.4-beta-1でも無変更区間が1世代のまま。保護領域表示、256タイル描画、HTTP 200を確認。
  • PR ビルド・CI・非公式版の運用基盤を整備 #5/#6との統合では、既存Fabric 10 / Forge 10を含む標準全体構成のtestが成功(111テスト)。共有コア107テストはJDK 8でもコンパイル・実行成功。26.2向け統合候補は115テストとJAR検査成功。
  • 統合候補をPaper 26.2でも実行し、通常の設置・破壊・ポーズ変更の自動反映を確認。マーカーJSONは無変更24秒・5サンプルで内容と更新時刻が不変。
  • ストレージ実装・更新間隔・マーカー表示・プラットフォーム依存は変更していません。

単独検証JAR: 3.9-SNAPSHOT-acecore-issue1-bc46383e、SHA-256 46d0be1b349c368382e601ddd0b01b67eac2d1d9cc51df646a1cdeeb967bfb90
統合検証ソースは公開済み 6caa618f(PR #5/#6)と bc46383e(本PR)の組み合わせです。

比較は新規ワールド・独立filetree保存先で実施しました。ファイル世代数をR2のPutObject回数や料金とは扱いません。本番R2の計測・本番導入・一般向けバイナリ公開は別判断です。
このPR単独の基点にはCI workflowがないため、PR #5/#6を含む統合検証結果を併記しています。

受入条件と段階導入・ロールバック手順: docs/r2-marker-validation.md
Closes #1

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.

R2: 境界判定とマーカー同値更新による不要書込みを修正する

1 participant