Форум программистов, компьютерный форум, киберфорум
HCL Notes: Программирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/108: Рейтинг темы: голосов - 108, средняя оценка - 4.91
Zyko

Восстанавливаются удалённые поля

29.03.2011, 11:47. Показов 20383. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть центральный сервер и 10 филиалов с репликами.
На центрадьнов сервере запустил агента, который в 10000 документах удалил поле (FIELD f1 := @DeleteField).
Через какое-то время (5-10 мин.) появилось 260 документов с полем f1.
На этих 260 документах опять запустил агента, который это поле опять удалил.
Через какое-то время эти поля востановились!!!! В тех же самы 260 документах. Запустил агента ещё раз - поля пропали и через какое-то время опять появились!

Попробывал выключить репликацию - удалённые поля не восстанавливаются. Как только репликацию включаю - поле появляется в тех же самых 260 документах!

После этого написал нового агента, который присваевает ненужному полю пустое значение - (FIELD f1 := ""). Всё ок, поле сохраняется и старое значение не восстанавливается!!!

Кто-нибудь сталкивался с подобным? Куда копать?
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.03.2011, 11:47
Ответы с готовыми решениями:

Восстанавливаются удаленные документы
Ситуация вот какая. из базы А по фильтру копируются документы в созданную базу Б. Причем перед копированием меняется ReplicID, для...

Восстанавливаются удаленные каталоги
Не уверен на всем ли диске, или только на 1 разделе, может даже только в 1 директории после перезагрузки восстанавливаются удаленные...

Удаленные фалйлы восстанавливаются после перезагрузки и мусор
доброго времени суток. есть ли свободный специалист для помощи. заранее спасибо

12
0 / 0 / 0
Регистрация: 30.07.2010
Сообщений: 85
29.03.2011, 12:04
Цитата Сообщение от Zeka
Есть центральный сервер и 10 филиалов с репликами.
На центрадьнов сервере запускаю агента, который в 10000 документах удаляет поле (FIELD f1 := @DeleteField).
Через какое-то время (5-10 мин.) появилось 260 документов с этим полем.
На этих 260 документах опять запустил агента, который удалил ненужное поле.
Через какое-то время эти поля востановились!!!! В тех же самы 260 документах. Запустил агента ещё раз - поля пропали и через какое-то время опять появились!

Попробывал выключить репликацию - удалённые поля не восстанавливаются. Как только репликацию включаю - поле появляется в этих же 260 документах!

После этого написал нового агента, который присваевает ненужному полю пустое значение - (FIELD f1 := ""). Всё ок, поле сохраняется и старое значение не восстанавливается!!!

Кто-нибудь сталкивался с подобным? Куда копать?
Возможно в какой-то из реплик документы изменяются после удаления поля на центральном сервере? Посмотрите поле $Revisions.
0
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
29.03.2011, 12:36
Не отсюда ли у проблемы ноги растут ;) ?
База и её реплика на одном сервере
0
Zyko
29.03.2011, 15:23
Возможно в какой-то из реплик документы изменяются после удаления поля на центральном сервере? Посмотрите поле $Revisions.
Изменять это поле больше как бы и некому. К тому же поле появляется после удаления в одних и тех же 260 доках. Но самое удивительное, что если поле не удалять, а вписывать в него путой стринг, то оно нормально сохраняется!



Не отсюда ли у проблемы ноги растут ?
База и её реплика на одном сервере
Нее, другая база на другом сервере...
0 / 0 / 0
Регистрация: 16.07.2007
Сообщений: 849
29.03.2011, 15:51
Ну наверное репликация так работает?)
Если поля нету в одном из документов, то добавляет его.
Чего тут копать то? Обнуляй значит поле вместо удаления, или удаляй во всех репликах.
0
Zyko
29.03.2011, 16:43
Цитата Сообщение от kizarek
Ну наверное репликация так работает?)
Если поля нету в одном из документов, то добавляет его.
Чего тут копать то? Обнуляй значит поле вместо удаления, или удаляй во всех репликах.
Почему в других 9600 документах поле прекрасно удалилось с первой попытки? Разницы между документами пока не могу найти.



Цитата Сообщение от kizarek
Если поля нету в одном из документов, то добавляет его.
Это если поля ранее не было ни в одной реплике, то при появлении поля в одной из реплик, оно появится и в других.
А если поле удаляешь в одной из реплик, то, я так понимаю, оно должно удалиться и в других. Ведь не зря для удаления поля используется такая конструкция: FIELD f1 := @DeleteField
Я так подозреваю, с полями как и с документами создаётся какой-то Deletion Stub.

Или мои догадки ошибочны?
0 / 0 / 0
Регистрация: 30.07.2010
Сообщений: 85
30.03.2011, 06:54
Цитата Сообщение от Zeka
Почему в других 9600 документах поле прекрасно удалилось с первой попытки? Разницы между документами пока не могу найти.
Если проблема убирается при отключении репликации значит документы 100% подтягиваются из другой реплики. попробуйте сравнить документы после прохода агентом и документы в этой реплике. особенно уделите внимание полям $Revisions, LastModified, $Conflict, $ConflictAction.

Также обратите внимание на наличие респонсов(или парентов) возможно у данных 260 документов(восстанавливающихся) они есть а у остальных нет(которые отрабатывают нормально).



Цитата Сообщение от Zeka
Это если поля ранее не было ни в одной реплике, то при появлении поля в одной из реплик, оно появится и в других.
А если поле удаляешь в одной из реплик, то, я так понимаю, оно должно удалиться и в других
вы правы. Возможно поможет
0
Zyko
01.04.2011, 22:50
Тихо шифером шурша едет крыша у меня....

В администраторе остановил репликайшин таск. В неродимых 260 документах удалил ненужное поле. Поле пропало и не востанавливается.
Открыл администратор и сделал PULL из одного филиала. Удалённые поля НЕ востановились.
Далее сделал PUSH с центрального сервера в филиал. Открыв вьюв с документами и жмакая F9 пока идёт PUSH наблюдал, как УДАЛЁННОЕ ПОЛЕ ВОССТАНАВЛИВАЕТСЯ!!!
Я не опечатался. Удалённое поле восстанавливается во время отдачи данных.

Connection документ описан на центральном сервере. Т.е. на том же сервере, на котором я делал ПУШ и ПУЛЛ.
Не важно с каким из филиалов проходит репликация - поведение идентичное.

Куда копать дальше?




Цитата Сообщение от nayke
Если проблема убирается при отключении репликации значит документы 100% подтягиваются из другой реплики. попробуйте сравнить документы после прохода агентом и документы в этой реплике. особенно уделите внимание полям $Revisions, LastModified, $Conflict, $ConflictAction.

Также обратите внимание на наличие респонсов(или парентов) возможно у данных 260 документов(восстанавливающихся) они есть а у остальных нет(которые отрабатывают нормально).
[/url]
Респонсов и парентов нет.
$ConflictAction - Merge/No conflicts.
$Conflict - соответственно взяться неоткуда.

А вот с $Revisions, LastModified - непонятно.
Запускаю агента - время последнего изменения 20:05:19.
Жду 10 минут - время последнего изменения всё то же - 20:05:19.
Запускаю ПУШ (Только ПУШ. Документы только отсылаются в филиал!). Проходит репликация - время последнего изменения стабильно увеличивается на 3-4 секунды - 20:05:23. Хотя реально прошло уже больше 10 мин.
0 / 0 / 0
Регистрация: 15.05.2009
Сообщений: 1,454
02.04.2011, 13:14
а время модификации - Initially и In thys file на обеих серверах посмотреть, чтоб определить, какой сервер модифицирует?

Добавлено: еще SN - у документа и Seq Num у поля посмотреть можно
0
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
02.04.2011, 13:15
а поискать задублированную базу - нет желания? ;)
и может быть создавали, базу из шаблона, файловым копированием и как резалт - дублировалась реплика
0
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
03.04.2011, 09:33
Цитата Сообщение от OKEN
Добавлено: еще SN - у документа и Seq Num у поля посмотреть можно
Была похожая проблема. Дата модификации документа в первой реплике была позже, чем во второй, а Seq Num — меньше. Не помню точно, в чём выражалась проблема, но вылечилось только после многократной модификации полей в поздней версии документа, чтобы Seq Num тоже стало больше.
0
Zyko
03.04.2011, 15:59
Цитата Сообщение от kizarek
Ну наверное репликация так работает?)
Если поля нету в одном из документов, то добавляет его.
Чего тут копать то? Обнуляй значит поле вместо удаления, или удаляй во всех репликах.
Так и не удалось понять, откуда восстанавливаются удалённые поля.
Пришлось сделать как советовал kizarek - удалить поле во всех репликах.
Поля пропали...
0 / 0 / 0
Регистрация: 04.10.2007
Сообщений: 2,977
06.04.2011, 15:32
Цитата Сообщение от Zeka
$ConflictAction - Merge/No conflicts.
На сколько я понимаю, все правильно работает.
Дата исправления документа на центральном сервере позже последней репликации, соотв, документ будет реплицироваться при следующей.
При репликации сервер сравнивает документы в обеих репликах, и выясняет, что разница лишь в поле, которе присутствует в одной из реплик, а во второй отсутствует. Сервер объединяет документы. Если же поле не удалять, а очищать, то изменяется его признак SeqNum, который указывает порядок изменений. И в очищенном поле этот признак будет приоритетнее, и поле будет очищено во второй реплике также.



Цитата Сообщение от Zeka
Открыл администратор и сделал PULL из одного филиала. Удалённые поля НЕ востановились.
Далее сделал PUSH с центрального сервера в филиал. Открыв вьюв с документами и жмакая F9 пока идёт PUSH наблюдал, как УДАЛЁННОЕ ПОЛЕ ВОССТАНАВЛИВАЕТСЯ!!!
Я не опечатался. Удалённое поле восстанавливается во время отдачи данных.
Когда ты делаешь ПУЛ, то сервер спрашивает у второго: "что ты можешь мне предложить?". А второй понятия не имеет, что на первом правились документы, он отдает лишь те, которые правились у него после последней репликации.
Когда делаешь ПУШ, то выбираются документы измененные на этом сервере после последней репликации. И запихиваются на второй сервер.

Читай "Inside Notes"
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.04.2011, 15:32
Помогаю со студенческими работами здесь

Удаление из форм ссылок на удаленные поля таблиц
Привет. Было поле в таблице и в форме. --из таблицы удалил . --и из формы тоже. --но когда открываешь форму он...

Как наиболее просто вернуть ошибочно удаленные данные из поля?
Hi All! Как наиболее просто и эффективно вернуть ошибочно удаленные данные из поля при условии, что данные удалили полностью, т.е. значение...

Восстанавливаются доки из Softdeleted
Добрый день! Клиент запостил ошибку, что время от времени сами восстанавливаются доки. В базе включены SoftDeletions (не жалую я это...

Не восстанавливаются webm файлы
Удалил сегодня webm файлы и ни одна программа не может их восстановить. Использую Hetman Partition Recovery. Восстанавливаются с теми же...

Не восстанавливаются первоначальные настройки
Здравствуйте, умные люди :)! Может кто сможет мне помочь советом? На предложение одного из сайтов загрузить пакет обновлений, установила...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru