🚑

グループの追加・親グループの付け替えをする際に、子孫グループの有効期限は親グループの削除日を超えないしないようにしました

概要

  • 削除日のあるグループに子孫グループを追加すると「親グループの削除後も子孫グループが有効なまま残る」不整合データを作ることができてしまいました
  • 不整合データを作成できないように修正しました

詳細

  • 時系列的に不整合なグループのデータを作成できてしまい、不整合データが参照エラーを引き起こしてしまう状態になっていた

1. 2020-01-01:グループAを追加

2. 2025-01-01:グループAを削除

3. 2024-01-01:グループAの子グループとして、グループA2を追加

期待する挙動

  • 子グループが親グループよりも長く存在してしまうと矛盾が生じる
  • 従って、親グループの削除日時点で、子グループも削除されるようになってほしい(有効期限の終了日が親子で揃って欲しい)

実際の結果

  • 子グループの有効期限の終了日が設定されることがないため、親グループよりも長く存在する不整合データになってしまう
  • この不整合データは、画面表示上はケアがなされている(親グループの削除日になると、グループ図などからは非表示になっていた)ため、一見すると問題ないように見受けられた
  • しかし、親グループの削除日以降にグループAPIを実行すると500 エラーが発生してしまうな事象を引き起こしてしまっていた
  • このため、不整合データが発生しないような対応を行う必要があった