- Customer sees that on CM server, reindexing of data is unsuccessful. When administrator runs "sync-tcmsearchindex -verbose", a few records are processed and then the sync fails with below error
Caused by: org.apache.solr.common.SolrException: Error opening Reader at org.apache.solr.search.SolrIndexSearcher.getReader(SolrIndexSearcher.java:172) at org.apache.solr.search.SolrIndexSearcher.<init>(SolrIndexSearcher.java:183) at org.apache.solr.search.SolrIndexSearcher.<init>(SolrIndexSearcher.java:179) at org.apache.solr.core.SolrCore.openNewSearcher(SolrCore.java:1414) ... 13 more Caused by: java.io.EOFException: read past EOF: SimpleFSIndexInput(path="FILEPATH\solr\solr-data\tridion\index_1255_Lucene41_0.tim")- Issue is not reproducible in lower environment. - Administrator would like to know how to see what content item is being indexed when the script crashes. |
The Sync-TcmSearchIndex PowerShell commandlet is a simple client-side tool which calls a Core Service API to initiate re-indexing. The actual re-indexing happens asynchronously by the Tridion Search Indexer Service. The easiest way to get verbose information from this Tridion Search Indexer is to run it in a console window: Steps for this are: 1. Stop the Tridion Search Indexer Windows Service 2. In case of a scaled-out (HA) environment, stop the Windows Service on all CM servers 3. Open a Command Prompt (as Administrator) 4. Navigate to the %TRIDION_CM_HOME%\bin folder 5. Execute TcmSearchIndexer.exe -debug Example of output D:\TridionSites\bin>TcmSearchIndexer.exe -debug 15:45:41.7051 <1088> Starting 1 worker threads for SearchQueue. Tridion Content Manager Search Indexer service started Press any key to stop the service. 15:45:45.4242 <11188> Listening for messages on SearchQueue. 15:45:57.7363 <11188> Retrieved queue message 1121 from SearchQueue 15:45:57.7363 <5104> Working on queue message 1121 15:45:57.8612 <11188> Deleting queue message: 1121 from SearchQueue. 15:45:57.8924 <11188> Retrieved queue message 1122 from SearchQueue 15:45:57.8924 <5104> Working on queue message 1122 15:45:58.2987 <5104> Adding item [tcm:1-9-8] to index. 15:46:00.1717 <5104> Reading item [tcm:1-9-8] took: 00:00:01.8721049. 15:46:00.1873 <5104> Using search indexing handler: DefaultSearchIndexingHandler 15:46:00.3592 <5104> The search indexing handler DefaultSearchIndexingHandler took: 00:00:00.1725636 15:46:00.3592 <5104> Disposing search indexing handler: DefaultSearchIndexingHandler 15:46:01.9231 <5104> Updating search index took: 00:00:01.5405616 15:46:01.9544 <11188> Deleting queue message: 1122 from SearchQueue.Progress of indexing can be checked by periodically running the PS cmdlet get-tcmqueueinfo as in example PS C:\Users\Admin> Get-TcmQueueInfo ExtensionData Id NumberOfMessages Title ------------- -- ---------------- ----- System.Runtime.Serialization.ExtensionDataObject 2 0 Deploy queue System.Runtime.Serialization.ExtensionDataObject 4 0 Workflow agent queue System.Runtime.Serialization.ExtensionDataObject 1 0 Publish queue System.Runtime.Serialization.ExtensionDataObject 3 47 Search queue System.Runtime.Serialization.ExtensionDataObject 5 0 Batch queue If indexing fails, check what content item the indexing fails against in the command prompt with debug running. If a TCM ID is identified, scan through the content item fields to see if there is any suspicious data, or identify the offending binary content item. |