Overview
There might be cases when assets uploaded to DAM are missing from search, even when searched by their DAM IDs.
<supportagent> There might be an alarm for OnDemand customers preceding this experience available with the SaaS team:
There is index actions(s) in search_index_actions table that have status over 1 hour in <username> (<duration in minutes>), please check and restart Index Broker and Child Index Broker if needed.</supportagent>
This is in spite of your user settings allowing you visibility to those assets. This is caused due to the indexing brokers halting or getting stuck. This article provides steps to make the assets available in search. If you are an OnDemand customer, please raise a ticket with support for further assistance with this, mentioning a few record IDs that you can't find.
<supportagent>The alarm above tells us that some of the latest assets uploaded to the platform were not indexed, and the platform will not process the pending indexing actions until there is a manual intervention.</supportagent>
Solution
Pre-Requisites
<supportagent>
-
The alarm should also have the name of the customer from the ticket. In the example below, the customer is Robert Half.
There is index actions(s) in search_index_actions table that have status over 1 hour in roberthalf94 (69mins), please check and restart Index Broker and Child Index Broker if needed. - An active connection to the EUW VPN is required. Refer to this page on how to configure it. If you're having trouble configuring it, or the connection has stopped working, please raise a ticket on PLNP of Type: SaaS Request.
- You can get the environment details of the customer from the article Telescope On-Demand Customer Environment Details.
- Log in to the database server of the OnDemand customer via RDP.
</supportagent>
You will need SQL Server Management Studio to connect to the database server.
Diagnosis
If the Indexing brokers crash or get stuck, the search_index_actions table won't be cleared which can be verified by getting a count of objects in it with:
SELECT COUNT(*)
FROM search_index_actions;
The above query returns a number greater than 0 and won't be decreasing over time if the brokers are stuck. You can get the record IDs with the following query and try searching with the IDs on TeleScope to verify that the search is not returning them as results because they haven't been indexed yet.
SELECT TOP 1000 record_ids
FROM search_index_actions
Steps to Fix
-
Connect to the database using SQL Server Management Studio.
-
Validate if there are still actions to be cleared by running the following query:
SELECT COUNT(*)
FROM search_index_actions; - If the output of the above command is equal to 0 the records most probably have been indexed and it was a momentary issue. Please validate by searching again for the missing records and you can skip the rest of the steps if they are now showing in Search, or else proceed with the steps here.
- <supportagent>
If the output is greater than 0 , log in to the specific customer's App Server. You can get the environment details in the KB article shared above.</supportagent>
- On the hub server, open the following file in a text editor.
<TeleScope install directory>\com.northplains.IndexingBroker.xml
-
Make sure
reindex
is set tofalse
or the next steps will start indexing the entire database. The line should look something like this:<string helptext="Reindex" name="reindex" required="yes" title="Reindex">false</string>
-
Restart the indexing and child indexing brokers if the output of the above command is greater than 0 . Refer to the article Restarting Hub Broker for the steps. The remaining steps are not needed if the output of the above command is 0 .
- <supportagent>Inform the customer that the indexing will take some time if the number of rows in search_index_actions is above 50000.</supportagent>
-
Run the query used in Step 2 to confirm that the records got cleared. If the result is not 0 , run the following query to force the pending indexing:
UPDATE search_index_actions
SET status = -2
WHERE status = -1; -
Monitor the progress. You can run the query used in Step 2. The result should decrease until it reaches 0 .
- If at the end of re-indexing your assets are still not visible, please raise a support ticket. Remember to share a few asset IDs you can't find in Search in the ticket.
<supportagent>
Agents should create a ticket on PLNP of Type: SaaS Request and Priority: High and share the asset IDs the customer is not able to find in Search if:
- For OnDemand customers, running a query on Solr from the UI with the missing asset IDs replacing the value in the id field doesn't return any results, but the assets are present in the database verifiable with a SQL SELECT query against the database. Another way to verify the inconsistecy between Solr and the database is if the number of search results for Find All Assets in TSWeb is not consistent with the number of records in the Telescope database. This means that the Solr has fewer records than shown in the editorial table, indicating that some data got lost.
- Agents receive a ticket reporting that assets are still not visible after re-indexing from an On-premise or OnDemand customer.
Collect the amount of time it will take to re-index the entire database from SaaS Ops and share that information with the customer. Remember to ask the customer when can the re-index operation be done and inform the SaaS Ops team of the same.
Inform the customer when the re-indexing operation by SaaS Ops is completed.
</supportagent>
Testing
Perform the search again with the record IDs to verify that the search is now showing those assets as results.
Comments
0 comments
Please sign in to leave a comment.