Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Cannot Reproduce
-
Lucene.Net 2.9.4
-
None
-
None
-
Implemented in Umbraco v6.0.5
Description
Hello,
We are have site has a lot of backend user traffic where nodes are being updated by multiple users - this means the indices are being updated frequently. I'm doing some searching on the umbraco indicies and some custom indices we setup through the UmbracoExamine configurations.
Recently we have been experiencing issues where an event from Umbraco that triggers an index optimization will result in a read past EOF error, the following is an excerpt form our Umbraco log:
2013-10-17 14:36:19,597 [5] INFO umbraco.BusinessLogic.Log - [Thread 85] Redirected log call (please use Umbraco.Core.Logging.LogHelper instead of umbraco.BusinessLogic.Log) | Type: Error | User: 0 | NodeId: -1 | Comment: [UmbracoExamine] (InternalIndexer)Error indexing queue items,read past EOF, IndexSet: InternalIndexSet
What happens after we see this exception is that all of our indices (with the exception of one - the InternalMemberIndex) will then show old empty segments_* files alongside the newer ones (for example right now I see segments_2g0 with a size of 726 bytes and segments_2fv with a file size of 0 bytes). When we remove the 0 bytes segments files, the EOF errors go away and the indices will function properly again.
I found a few other issues that are very similar to ours that seem to point to the culprit possibly being a process that is keeping the older segments file from being deleted after it is optimized into the new one.
I realize this could actually be an UmbracoExamine issue, but I wanted to cover all my bases as this is occurring in a pretty large production site, and checking the index folders for the 0 bytes segments files is not a viable solution for us. I will update this issue if I get a resolution somewhere else.
Thanks,
Robert