DB上の不整合データ対策 – 開発日記(70)

2024/02/02

Realtime Databaseに格納しているデータの、不整合対策を実施。

Undo/Redo周りで時々データの不整合が起きることが判明していて、気づいたものは直している。それに今後もネットワーク寸断などなどさまざまな理由によりDB上のデータの不整合が起きる可能性はありうる。
(トランザクションやロックで解決すべきものも含まれるが)

今チェックしたい不整合

  1. レーンの中にアイディアはあるが、アイディアマスターが存在しない状態
  2. レーンの中のアイディアのインデックス値が重複する状態
  3. (優先度低)アイディアマスターはあるが、どのレーンにも属さない状態

上記のうち上2つは早速作った。

挙動としては、裏オプション「DBチェックモード」を有効にしながら操作したときに、DB上の不整合データを検知したら即座に画面でフィードバックする形とした。試したところうまくいっており、今後の安定化に向けて有効な仕組みだ。
(※かなり後に、これが原因で面倒なことになるのですが……)

それと今まではなんらかのデータ不備があったらほぼ確実にキャンバスそのものの表示ができなくなっていたが、状況によっては、データに問題があることを具体的に表示したうえで動作を続けられるようにした。

以前より堅牢な造りになりデバッグもしやすくなった。

2024/02/03

引き続きDBの不整合対策。

起きる場面は限られるが、起きた場合にすぐ検知できるようになったので、発見も対処もしやすくなった。

しかしこうやってあらためて確認すると、非同期処理は「気づきづらい不具合」の温床になりやすい。awaitをせずに意図して非同期実行しているのか、実は書きもれなのかは結局流れからチェックしないと分からない。

2024/02/04

引き続きDBの不整合対策。

またリリースに向けて、webへのデプロイを実施するバッチを作ったり、アイディアの文字入力後の仮状態の処理を改善したり、設定画面の修正などを行った。

2024/02/05

各種挙動調整を実施。設定画面の修正や、気になっていた細かな不具合修正をいくつも行った。

「ちゃんと解決しよう」と思って最近色々やっていたが、気になる箇所が多すぎてこのままではずっと終わらない事に気づいた。

気になる箇所の中でも、一旦重要度が低いものは目をつぶるなどしてまずは「まともに動く」状態に持っていくことを優先しないといけない。

2024/02/06

挙動調整。気になっていた細かな不具合修正をいくつも行った。

いろいろな操作をしながらチェックをして、主な不具合をつぶしている。

最近は機能追加を我慢して不具合発見と対策を重視しているが、使えば使うほど色々追加したい機能が思い浮かぶ。


※開発日記は当時の記録をもとに作成し、必要に応じて加筆・補足しています

この記事はアイディア整理ソフト「idea Lane」の開発記録です

どなたでも、ユーザ登録だけで無料ですぐに使えます
テキストベースの思考整理ツール「idea Lane」


コメント

タイトルとURLをコピーしました