9.0 Значения устаревшего состояния

Значения устаревшего состояния служат операционными атрибутами, которые eDirectory помещает в объекты, чтобы обеспечить ссылочную целостность при выполнении операций удаления, перемещения, переименования и восстановления. Например, если в группе A есть участник (Пользователь B), который удаляется, то каталог автоматически удалит ссылку на Пользователя B из группы A. В eDirectory 8.8 SP8 значения устаревшего состояния, сформированные операциями удаления, перемещения и переименования оптимизированы по умолчанию.

ПРИМЕЧАНИЕ.Объекты со значениями устаревшего состояния рассматриваются при каждой исходящей синхронизации агента, а также процессом обработки значений устаревших состояний, выполнение которого запланировано в конце цикла входящей синхронизации.

Существуют три основных вида значений устаревшего состояния:

Значения устаревшего состояния, за исключением отслеживающих, должны пройти ряд состояний синхронизации:

Состояния регистрируются в поле "Флаги" атрибута значения устаревшего состояния. До того, как значение устаревшего состояния сможет перейти в следующее состояние, текущее состояние должно быть синхронизировано со всеми репликами реального объекта. Чтобы определить, все ли реплики кольца были оповещены о данном состоянии значения устаревшего состояния, вычисляется переходный вектор. В eDirectory 8.6 и более поздних версий используется несохраняемый вектор значений устаревшего состояния. В предыдущих версиях eDirectory использовался вектор очистки. Если дата отметки времени модификации (Modification Timestamp - MTS) значения устаревшего состояния окажется более ранней, чем дата поврежденного вектора, сервер, ответственный за данное значение устаревшего состояния, может перевести его в следующее состояние.

Агент, хранящий главную реплику объекта со вторичным значением устаревшего состояния типа "Обратная ссылка", несет ответственность за изменение его состояний. Ответственность за изменение состояний вторичного значения устаревшего состояния типа "Используется" несет создавший его агент реплики на протяжении всего времени существования этой реплики. Если эта реплика больше не существует, ответственность за изменение состояний вторичного значения устаревшего состояния типа "Используется" несет главная реплика данного раздела. Ответственность за изменение состояний значения устаревшего состояния типа "Перенос дерева" несет главная реплика корневого раздела.

Изменение состояния первичных значений устаревшего состояния может происходить только после того, как все вторичные значения устаревшего состояния последовательно прошли все свои состояния. После того, как первичное значение устаревшего состояния достигает своего конечного состояния, а также после синхронизации этого состояния со всеми серверами кольца, остается объект без атрибутов, который впоследствии может быть удален из системы в процессе очистки. Отслеживающие значения устаревшего состояния удаляются тогда, когда первичное значение устаревшего состояния готово к удалению, а устаревшие отслеживающие значения устаревшего состояния с запретом переноса (Inhibit_move) удаляются после того, как первичное значение устаревшего состояния перейдет в состояние OBF_NOTIFIED в главной реплике.

Реплика, ответственная за обработку значений устаревшего состояния, выполняет это в виде фонового процесса (процесса обработки значений устаревшего состояния), планируемого для каждого раздела, после того как в данном разделе будет завершен цикл входящей синхронизации. Если в разделе других реплик нет, процесс исходящего тиражирования планируется с интервалом Heartbeat. Затем процесс исходящего тиражирования запускает процесс обработки значений устаревшего состояния. Процесс обработки значений устаревшего состояния не может и не должен планироваться вручную. По мере выполнения синхронизации обновляются переходные векторы, изменяется состояние векторов очистки и векторов значений устаревшего состояния. Вместе с ними изменяются и состояния значений устаревшего состояния. Совместно с автоматическим планированием при входящей синхронизации это приводит к завершению цикла обработки значений устаревшего состояния. Таким образом, движущей силой процесса обработки значений устаревшего состояния является синхронизация объектов.

Для удаляемого объекта: после того, как все значения устаревшего состояния, которые ассоциированы с первичным значением устаревшего состояния "Dead" (Мертвое), перешли в последнее состояние "Purgable" (Очищаемое) и информация об этом была синхронизирована во всех репликах, запускается другой процесс, ответственный за удаление остатков объекта из базы данных. Процесс очистки автоматически удаляет остаточные элементы. Процесс очистки можно запланировать вручную. Можно также изменить интервал его автоматического планирования с помощью страницы iMonitor Конфигурация агента.