Files
SHiNE-server/TODO/Arweave/notifications_projection_full_resync.md
T

1.9 KiB

TODO: уведомления и full-resync после фиксации блоков в Arweave

Контекст

user_notifications_state является производным индексом blockchain-блоков. Сейчас full-resync цепочки очищает и перестраивает основные derived-state таблицы, но уведомления специально не включены в этот cleanup.

На текущем этапе это не исправляем, потому что логика синхронизации ещё будет дорабатываться, а надёжность/финальность блоков планируется усилить записью в Arweave.

Что проверить после внедрения Arweave

Когда схема Arweave и правила восстановления цепочки стабилизируются:

  • определить окончательный source of truth для accepted/finalized blocks;
  • проверить поведение user_notifications_state при rollback/full-resync;
  • если цепочка может реально заменить ранее принятый блок, удалять/перестраивать уведомления по source_bch_name и фактическому набору финальных блоков;
  • не допускать stale-уведомлений от блоков, которые больше не входят в подтверждённую цепочку;
  • добавить интеграционный тест на divergence + full-resync + notification projection.

Важно

До появления финальной Arweave/recovery-модели не добавлять временную сложную cleanup-логику только ради этого редкого сценария.