среда, 10 апреля 2013 г.

Кто такой Auto?


Недавно ко мне обратились с просьбой разобраться с одной непонятной ситуацией. Весьма известному лицу приписывалось авторство, по несвойственной ему теме. Если учесть, что каталог представлен в Интернет, проблема была довольно щекотливой. Поиск в "лог-таблицах" показал, что последним, кто модифицировал эту запись, был некто "Auto". В результате анализа было выявлено интересное свойство "АС-Библиотека-3" при работе со словарём.
Посмотрим, как это работает в "Демо". Создадим три "почти пустых" записи.


Причём первая и третья отличаются, только заглавием. В первой записи свяжем поле 700 (Имя лица - первичная интеллектуальная ответственность) с записью в словаре "ААААА", которую предварительно создадим



(здесь каталогизатор в режиме словаря).


Во второй записи с тем же значением из словаря свяжем поле 600 (Имя лица как предмет).



Третья запись аналогична первой.



Теперь очистим лог-таблицу Demo__Log командой
delete from Demo__Log



и изменим значение поля 700 первой записи с "ААААА" на "БББББ"




перечитаем, используя для поиска поле "Заглавие"="Заглавие" с усечением справа и посмотрим на результат. С первой всё понятно




Во второй записи поле 600а автоматически изменено на "БББББ"




В третьей ещё интересней - 700а изменилось на "БББББ", а 200f осталось "ААААА"



Прочитаем таблицу Demo__Log




вот, тот Auto, который "зловредно" изменяет записи. Кроме того, по крайней мере, в версии 3.3.58 на "Log уровне" "app" (по умолчанию)



, замечена одна особенность - сразу после закрытия окна модификации "Имя лица" и до нажатия кнопки "Сохранить запись" (основную), Z-сервер заваливает лог-файл сообщениями о невозможности модификации записи с DocID=82 (первая запись) так как она блокирована пользователем, то есть мной.




Судя по тексту сообщения - жалуется отдельный индексирующий поток. Он анонимный, поэтому подписывается как Auto.
Есть ли предел и сколько сообщений будет выдано - не знаю, но очень много. Вроде бы в версии 3.3.64 это исправлено, однако это надо проверять.

Теперь соберём всё в кучу:
1. Свойство автоматического обновления сразу всех записей, связанных со словарной записью "Имя лица" весьма полезно при последовательном изменении в связи с появлением или изменением доступной информации о лице. Однако не помешало бы уведомление со стороны программы об изменении не только текущей записи.
2. Следи за "Новичками". Они часто не различают понятия "создать новую запись" и "модифицировать существующую".
3. Если система работает стабильно и ошибок нет - экономь ресурс диска, отключи вывод лога. Поставь в "Параметры сервера" "Log уровень" в "none"

Как всегда - комментируй (регистрация не требуется) или пиши на адрес acbib3@yandex.ru