FACTUAL ACTIVITY RECORD · 実際の作業をもとにした活動記録
Editorial基本データとopaque Turn同期を整える
製品defaultとdummy dataを分け、Thread内だけで一意なTurn IDを安全に保存する
対象期間: —
目的
Editorialの製品defaultをdummy executionから分離し、App Serverが返す非UUIDのTurn IDを複数Threadで衝突させず同期する必要があった。
実装
製品defaultのChannelとFeedを専用fixtureへ分け、最小fixtureとrich dummy fixtureの責務を明確にした。Turnはdatabase生成UUIDをprimary keyとし、opaqueなsource Turn IDをThreadとの複合identityで保持して、Messageを内部UUIDへ関連付ける形へ変更した。
図を描画しています…
確認したこと
確認結果
同じopaque Turn IDを異なるThreadが持つ場合も、2つのTurnとMessageを独立して取り込む34 assertionの検査へ拡張された。
fixtureとTurn同期は対象へ反映された。実際の全App Server variantはcutoff時点で網羅確認されていなかった。
完了とした根拠
製品default fixtureを分離し、opaque Turn IDと内部UUIDの責務を分け、複数Threadでの重複とatomic ingestを検査できたことをもって完了とした。