Тайм-аут чтения истины коллекции - CF8 - PullRequest
2 голосов
/ 13 января 2010

В течение долгого времени у меня были проблемы с использованием службы поиска Verity, поставляемой в комплекте с ColdFusion 8. Проблема связана с ошибками тайм-аута, возникающими при выполнении любой операции в коллекции. Это прерывисто и обычно происходит после успешного выполнения нескольких операций.

Например: если я добавляю записи в коллекцию, первые, скажем, 15 записей, пройдут без проблем, но все последующие записи прекратят работу до перезапуска службы.

Я на общем сервере, Windows 2008, 64-битный, насколько я знаю. Я получаю ошибку: "Произошла ошибка при выполнении операции в библиотеке поисковой системы. Ошибка чтения информации о коллекции. Com.verity.api.administration.ConfigurationException: java.io.IOException: Тайм-аут чтения"

После разговора с моей хостинговой компанией и после некоторых исследований было предложено, что количество коллекций на сервере может вызвать эту проблему. Я сократил количество коллекций, которые я использую, и на данный момент на сервере 39 коллекций. Поскольку я на общем сервере, я не контролирую, сколько коллекций используют другие клиенты, однако я прочитал, что ограничение составляет 128 коллекций, поэтому я не понимаю, почему 39 должно привести к тому, что он станет непригодным для использования. Коллекции не большие, между ними может быть около 5000 записей.

Есть идеи?

1 Ответ

0 голосов
/ 19 марта 2010

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

Я реализовал cflock вокруг всех своих операций чтения и записи в коллекцию, и больше ошибок не возникало. (Я полагаю, что в большинстве случаев это не повредит, особенно если вы планируете большие обновления в непиковый период)

Так что, может быть, это может быть хорошим дополнительным решением для вас (или других людей). Ниже приведен короткий пример действия удаления cflock.

<cflock name="SearchLock_#veritycollection#" type="exclusive" timeout="5">
        <cfindex 
            collection = "#veritycollection#"   
            action = "delete"   
            type = "file"
            key ="#toScheduleKey#">

            <cffile action="delete" 
            file="#toScheduleKey#">
    </cflock>
...