2010-01-13 3 views
2

오랜 시간 동안 ColdFusion 8에 번들 된 verity 검색 서비스를 사용하는 데 문제가있었습니다. 컬렉션의 작업을 수행 할 때 시간 초과 오류가 발생하는 문제가 있습니다. 간헐적으로 발생하며 대개 몇 번의 작업이 성공적으로 수행 된 후에 발생합니다.Timeout reading verity collection - CF8

예를 들어 컬렉션에 레코드를 추가하는 경우 첫 번째 레코드 인 15 개 레코드는 문제없이 진행되지만 서비스가 다시 부팅 될 때까지 모든 후속 레코드가 시간 초과됩니다.

저는 아는 한 공유 서버 인 Windows 2008, 64bit입니다. 받은 오류 : "검색 엔진 라이브러리에서 작업을 수행하는 동안 오류가 발생했습니다. 수집 정보를 읽는 중 오류가 발생했습니다 : com.verity.api.administration.ConfigurationException : java.io.IOException : 읽기 시간이 초과되었습니다"

내 호스팅 회사와 이야기를 나누고 조사를 한 후 서버에있는 수만큼이 문제가 발생할 수 있음을 제안했습니다. 내가 사용하는 컬렉션의 양을 줄였으며 현재 서버에 39 개의 컬렉션이 있습니다. 공유 서버를 사용하고 있기 때문에 다른 고객이 사용하는 콜렉션 수를 제어 할 수는 없지만 제한은 128 콜렉션이라는 것을 읽었으므로 39를 사용하지 못하게하는 이유를 알 수 없습니다. 컬렉션은 크지 않습니다. 모두 5,000 곡 정도입니다.

아이디어가 있으십니까?

답변

0

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>