2013-07-16 2 views
1

первую очередь упомянуть я искал долго, но получил п решение, так что не я попробовать с моей конкретной проблемы, пытаясь держать его коротким:SOLR - старые Транзакции-журналы (tlogs) никогда не удаляется

  • Solr-спецификации 4.0.0.2012.10.06.03.04.33

  • один мастер, три рабы

  • около 70.000 документов в индексе

  • мастер-г етсь вызвал к полному импорта/генерации совершенно новый индекс ~ один раз в день

  • параметры командной строки для запуска являются: команда = полный импорт & многословным = ложь & чистый = ложь & фиксации = истина & оптимизируют = истина

  • рабы запуск мастера для нового индекса, если GEN увеличивается (полный импорт + жесткие фиксациями, как упоминались), они тянут новый индекс

  • нет Autocommit/autoSoftCommit не настроит

проблема ist, что каждый жесткий фиксация индекса (~ 670 МБ) записывается на диск один раз в день, но старые никогда не удаляются. Насколько я знаю, solr хранит достаточно tlogs, чтобы иметь возможность восстановить последние 100 изменений в документах, верно?

В моей настройке я уверен, что по меньшей мере 100 документов (или наборов данных в исходной базе данных) меняются каждый день, поэтому я не понимаю, почему solr никогда не удаляет старые tlog.

Я был бы рад, если кто-то может указать на правильное направление, в настоящее время я понятия не имею, что попробовать дальше. Кроме того, я не нашел такой настройки, как описанный, с такими проблемами.

Thx;)

ответ

1

Сначала вы, вероятно, хотите обновить Solr-версию, так как там было несколько журналов транзакций ссылочных утечек фиксированной начиная с 4.0.

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

Другим вариантом было бы полностью отключить журнал транзакций, так как вы генерируете только новый индекс, каждый из которых запускается в любом случае и выделяет его.

+0

Привет, THX для быстрого ответа, да, я уже думал об обновлении версии, возможно, я начну с этого и проверю, как tlogs разворачиваются, как ожидалось. Вы даже предлагаете отключить жесткие коммиты? Ну, как я понимаю для меня, он работает только как «резервное копирование» в случае сбоя для мастера, не так ли? Но пока я только делаю жесткие коммиты и реплицирую полный индекс на подчиненные, мне не нужен tlog, чтобы синхронизировать подчиненные, верно? – nucular

+0

Правильно, выключая tlogs, а не жесткие коммиты. В любом случае, tlog не будет очень полезен, поскольку вы все равно производите и реплицируете полный новый индекс. – MatsLindh

+0

Я слышал от коллеги, что tlogs может быть важным для восстановления, если, например, мой мастер висит, и мне нужно убить процесс, в результате чего коррумпирован главный индекс. Что об этом? Я очень скептически настроен и не думаю, что tlogs может помочь в этом случае в любом случае, что вы думаете? – nucular