Thursday, January 31, 2019

FAQs on TFS-Search Admin Operations

Original Post: 11/13/2018 4:57:22 AM

For various TFS Admin operations at Server, Collection or specific Project level, at times there are ambiguities around what additional Search related configurations, settings  update or other manual actions are required for the Search to continue functioning. This post covers a few of those scenarios and the corresponding Search admin related actions (if any) that needs to be performed.
  • Which all TFS release version upgrades require re-indexing?
    • TFS 2018 Update 2  is the release when migration to ES 5.4.1 was done. So for any upgrade that spans over this release, a re-indexing is required. For e.g.
      • TFS 2018 RTM >> TFS 2018 Update 3 : Re-indexing required
      • TFS 2018 Update 2 >> TFS 2018 Update 3: No re-indexing required.
    • Also, note that the re-indexing is auto-triggered during the upgrade and Search configuration and no additional manual actions are required.
  • How does renaming a Team Collection impact Search?
    • Re-indexing is triggered automatically for the entire Collection. No additional manual action required from Search perspective.
    • Query for ‘BeginEntityRename-CollectionRenameRepairJob’ in [Tfs_Configuration].[dbo].[tbl_JobHistory]’s ResultMessage column to validate that a re-indexing has been kicked off.
SELECT * FROM [Tfs_Configuration].[dbo].[tbl_JobHistory]
WHERE ResultMessage like '%BeginEntityRename-CollectionRenameRepairJob%'
  • How does Attach/Detach of a Team Collection impact Search?
    • Refer the blog post here for details.
  • How does renaming a Team Project impact Search?
    • Re-indexing is triggered automatically for the entire Project. No additional manual action required from Search perspective.
    • Query for 'BeginEntityRename-ProjectRenameNotification’ in [Tfs_Configuration].[dbo].[tbl_JobHistory]’s ResultMessage column to validate that a re-indexing has been kicked off.
  • How does deleting a Team Project impact Search?
    • Documents indexed for all entities (such as Code, Work Item) gets deleted automatically.
    • Query for 'Delete-ProjectRenameNotification' in [Tfs_Configuration].[dbo].[tbl_JobHistory]’s ResultMessage column to validate that a delete operation sequence has been kicked off.
  • Does modifying the TFS Service account impact Search?
    • No
  • What actions needs to be taken while modifying the Elasticsearch (Search Service) service account?
    • The action itself is possible through a Search re-configure (since there is no alternate setting options exposed currently from the TFS Admin Console). The reconfigure though will be lightweight in this scenario. No re-indexing or any other additional actions are required. Search will continue to work as expected post the account change.
  • Does modifying the TFS notification URL impact Search?
    • No
  • How does changing GUIDs of Collection/Server impact Search?
    • If you refer to the documentation TFS here, GUID changes are done for specific purpose. For instance, creating a Clone of a server instance and doing hardware migration is one such predominant scenario. All such scenarios require a Search re-configure and re-indexing. Note that Admin operations such as Clone implicitly cleans up the Search related tables in the Collection database and cleans up the Search extensions for that collection too. Hence, consider a scenario where the GUIDs are changed as part of Cloning operation. Post that, the Search configuration on the new server instance with the cloned databases will install the Search extensions and trigger the required indexing. Overall the guidance is, whenever there are GUID changes, Search re-indexing is required.

I will keep updating this post with more scenarios. If you have any scenarios that need clarification, do leave a comment below.

No comments:

Post a Comment

Installing Azure DevOps Server Search extension from Local Gallery

One of the mistakes that Azure DevOps Server Admins make is installing the Search extension from the Visual Studio Market Place . The Sear...