ручная (открытие на редактирование) при включенной опции на базе "Allow document locking" заблокирует док для редактировани явно всех репликах (что круто)
Заблокирует док на всех репликах в том случае, если ко всем есть доступ. Даже если всё прошло хорошо (доступ есть), то эта оперичка выливается в неслабое время выполнения... А если ещё к какому-нибудь серверу в это время нет доступа или связь прервалась, то код затупляет клиента, а потом, когда попускает, - вываливается с ошибкой 4000. Это в том случае, если у пользователя хватило терпения дождаться, а если нет (Ctrl+Break), то идёт разрыв процесса (например часть доков изменилась, а часть нет) и ту-ту... - ручная работа админов по "выравниванию".
Если же такой код будет выполняться на сервере, то не завидую админу - каждый раз после подобной ситуации поднимать сервер...
Итого, эта штука нормально работает только на серверах, находящихся в локальной сети, где вероятность разрыва связи минимальна.
Ещё один
Ссылка скрыта от гостей
"в крышку гроба" такого решения.
Круто-то оно конечно круто, только не надёжно, и, IMHO, на серьёзных проектах нежизнеспособно.
и более того - если был запрос из другой реплики на редактирование - репликация пройдет моментально при внесении изменений в измененный док - вне рамок обычной репликации (что тоже круто)
По 6-кой такого не довелось увидеть, хотя у нас целый проект был на таких блокировках построен. Это в теории или действительно сейчас так работает?
NickProstoNick
У нас был один из вариантов блокировки на таймерах, но мы от него отказались из-за жуткого дуплежа.