Да, вам по-прежнему нужно выполнять ремонт даже с CL.ALL при удалении, если вы хотите гарантировать отсутствие воскрешенных данных.Вы просто уменьшаете вероятность его возникновения, не замечая этого.
Если узел недоступен для удаления, удаление не удастся для клиента (так как cl.all), но все остальные узлы все еще получили удаление.Даже если ваше приложение будет повторять удаление, существует вероятность его сбоя (т. Е. Сервер вашего приложения попал под метеорит).Итак, у вас есть удаление, которое видели 2 из ваших 3 реплик.Если вы понизили значение gc_grace и не выполняли ремонт, другие меры по борьбе с энтропией (подсказки, восстановление при чтении) могут не гарантировать, что надгробный камень (это лучшее усилие, а не гарантия) был замечен 3-м узлом до уплотнения надгробного камня.При следующем чтении затрагивается 3-й узел, в котором есть исходные данные, и не существует надгробной плиты, чтобы сказать, что она была удалена, поэтому вы воскрешаете данные, когда их чтение восстанавливается в других репликах.
Что вы можете сделать, это зарегистрировать оператор где-нибудь, чтобыточка, когда есть тайм-аут cl.all или сбой.Это не гарантия, так как ваше приложение может умереть до записи в журнал, и сбой на самом деле не означает, что запись не достигла всех реплик - просто, что может не записать.Тем не менее, я настоятельно рекомендую использовать только кворум (или local_quorum).Таким образом, вы можете иметь некоторые сбои хоста без потери доступности, так как вам все равно нужен ремонт для гарантии.