Human Human
Добрый день.
Обрабатываете ли вы редкие ошибки из разряда состояний гонок?
Например:
1. Ошибка ограничения бд на уникальность, например username.
2. OptimisticLockException
И как обрабатываете?
Для OptimisticLockException - можно поставить какой-нить ретрай на 3 попытки.
А ошибки нарушения констрейнта бд - тут не всегда подойдет ретрай.
Мб лучше просто забить на такие редкие кейсы?
валидация на клиенте (просто отдельным запросом) отсекает 99% таких вещей а для оставшегося одного просто кидаем ошибку что не удалось - там на клиенте повторно валидация отработает и он увидит где накосячил.
Но это если воркфлоу не подразумевает гонок (эт только QA регают юзера по одному email-у одновременно с двух девайсов). Там где подразумевает (ты пытаешься купить товар который сняли с продажи) надо спрашивать у бизнеса ибо это у них во флоу гонки и надо понять кто проигрывает