Форум программистов, компьютерный форум, киберфорум
Наши страницы
Lotus Notes/Domino: Программирование
Войти
Регистрация
Восстановить пароль
 
fydotxxt
0 / 0 / 0
Регистрация: 19.10.2005
Сообщений: 603
#1

Странная работа штатного локера - Lotus

19.08.2010, 12:24. Просмотров 14335. Ответов 6
Метки нет (Все метки)

Возникла странная проблема, которую я не могу решить:
1. Мы используем штатный блокиратор
2. Если master сервер недоступен, то при исполнении обычного кода у пользователей могут возникать конфликты репликации.
3. Все конфликтные документы заблокированы пользователями (поле $PTWriters)
4. Повторить ошибку мне пока не удается, поэтому я не могу сказать какой код виноват
5. Вероятность того, что документ кто-то поменял другой мала, т.к. между моментом открытия и нажатием на кнопку (которая приводит к конфликту) проходит достаточно мало времени

Я заметил, что документ остается заблокированным пользователем, даже когда он выходит из документа. Как в этом случае контролировать разблокирование документа?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.08.2010, 12:24
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Странная работа штатного локера (Lotus):

Ошибка при использовании штатного блокиратора (nd.lock)
Привет, Есть два сервера - A и B. База на обоих серверах, master server A....

Странная ошибка!
При открытии форм в бд пишет: Generic LSE Failure (no more info!) Что бы это...

Странная дата
Странная дата модификации агента. Видел даты которые уходили на несколько...

Странная работа Wi-Fi
Вчера начал пропадать интернет т.е. есть, рраз на пол минуты - минуту...

Странная работа ПК
Всем привет. Вчера все было нормально, сегодня начал заходить в игру - начал...

Странная работа JQuery
Здравствуйте! Столкнулся со странностью работы jQuery Есть блок <li> <a...

6
otyk86
0 / 0 / 0
Регистрация: 17.12.2008
Сообщений: 420
19.08.2010, 13:10 #2
Я проверяю заблокирован ли документ через LockHolders property -- может и Вам поможет. Или не в ту степь?
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">"У меня тоже недавно вылезла ситуация (вроде похожая):"</div></div><div class="sp-body"><div class="sp-content">
Пользователь создает документ, при выполнении определённого действия программно создается еще некоторое количество документов-ответов, сохраняются, сохраняется и закрывается основной документ. При этом вылезла ситуация, что как основной так и подчиненные документы заблокировались создавшим его пользователем и там и остались. Правда на нескольких тысячах доков это вылезло лишь в 2-3х случаях, но как обычно у очень важного пользователя - у себя добиться такого результата не смог.
0
fydotxxt
0 / 0 / 0
Регистрация: 19.10.2005
Сообщений: 603
19.08.2010, 13:26 #3
Ура! Удалось хотябы воспроизвести проблему. Итак:

1. Недоступен master server
2. На queryModeChange вызывается метод Call nd.UnLock

При попытке сохранить документ вылетает сообщение о конфликтном документе.
Кто что знает по поводу этой проблемы?
0
VtodSh
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 1,197
19.08.2010, 19:19 #4
Я знаю.
Вот почитайте:
- Handling of conflict situations (UI)
- Problems of locking mechanism (UI)
- The mechanism locks in a distributed environment, and ACL
и найдёте решение.
0
fydotxxt
0 / 0 / 0
Регистрация: 19.10.2005
Сообщений: 603
23.08.2010, 15:27 #5
Гм... не совсем это мне подходит... прочти плс более внимательно мою проблему
0
VtodSh
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 1,197
24.08.2010, 17:40 #6
Все проблемы с блокировкой те же, тут более внимательно не прочитаешь ))

Для того, чтобы это работало, желательно:
Чтобы Master lock server всегда был доступен. Если нет, то отлавливать ошибку и выходить из QMCh + Вообще запрещать переводить в режим редактирования, если документ нельзя редактировать либо он заблокирован любой блокировкой не текущего процесса (Soft или Hard), тогда попросту не возникнет ситуации, когда пользователь может сохранить документ.
0
VtodSh
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 1,197
26.08.2010, 18:01 #7
Стало самому интересно, и я прокатал эту ситуацию. Сразу же дико извиняюсь - ситуация действительно из ряда вон...

Итак, что мы имеем, если описывать подробнее.

Условие: Master-lock сервером установлен не текущий сервер.


Ситуация 1: Master-lock сервер доступен.

- Hard-lock выдаёт ошибку 4000 "You cannot update or delete the document(s) since you are not listed as an allowable Author for thys document" как и было указано автором , что странно, хотя в доке нет полей типа Author, но доступ к базе Editor и выше... Документ при этом не блокируется. Если можно как-то обойти - подскажите, плз!!!
- Soft-lock работает нормально: создаются поля $Writers...
- Если открывать док по Ctrl+E, то Soft-lock, естессно не срабатывает, т.е. на QMCh приходится вызывать Hard-lock, т.е. разблокировать документ при закрытии в этом случае приходится также вручную, что не красиво, но не есть проблема.


Ситуация 2: Master-lock сервер НЕдоступен.

- Hard-lock выбивает ошибку 4597, которую можно отловить и подавить, выдав нормальное сообщение.
- Soft-lock выдаёт дебильное окошко

Вывод этого окошка подавить не удастся (оно появляется перед QMCh, при даблклике по документу), но можно обойти.., чтобы при нажатии на ОК не было сообщения о том, что док изменён и избежать конфликта.

Интересный факт №1: Soft-lock по нажатию OK всё-таки блокирует документ! Он сначала пытается найти Master-lock сервер, а затем блокирует на текущем.

Интересный факт №2: при Soft-lock документ блокируется не полями $Writers, а полем $PTWriters! также было указано автором
Свойство LockHolders при этом возвращает значение из этого поля.
Метод Unlock также культурно подчищает это поле.

Интересный факт №3: если включить отключенный Master-lock сервер и на нём ещё поизвращаться блокированием/разблокированием того же самого документа, а затем отреплицировать базу, то конфликтов не будет! Хоть что-то сделано хорошо...


Итого:
1. Возникновние конфликтов можно обойти.
2. Hard-lock, если Master-lock сервер не текущий, не работает. Во втором случае это нормально, а вот в первом...

Т.е. вывод прежний: если Master-lock сервер не является текущим, то строить систему на такой блокировке гиблое дело.
0
26.08.2010, 18:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.08.2010, 18:01
Привет! Вот еще темы с решениями:

Странная работа селектора
Объясните мне почему выполняется эта часть кода? Она не должна выполняться так...

Странная работа роутера
Включаю комп, интернет подтягивается автоматически, сижу, работаю. Потом бац -...

Странная работа FindFirstFile
Здравствуйте! Вывожу функциями FindFirstFile и FindNextFile и получаю имена &quot;.&quot;...

Странная работа потока
Вообщем не могу понять в чем дело, есть программа: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru