← 活動記録一覧

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へ関連付ける形へ変更した。

外部Turn identityと内部relation、製品default Roomを分離したcutoff構造

図を描画しています…

確認したこと

確認結果

同じopaque Turn IDを異なるThreadが持つ場合も、2つのTurnとMessageを独立して取り込む34 assertionの検査へ拡張された。

fixtureとTurn同期は対象へ反映された。実際の全App Server variantはcutoff時点で網羅確認されていなかった。

完了とした根拠

製品default fixtureを分離し、opaque Turn IDと内部UUIDの責務を分け、複数Threadでの重複とatomic ingestを検査できたことをもって完了とした。