Page tree

From version 1.7.3, the app supports Jira DataCenter. The following page outlines the way the app indexes TeamCity data for Jira Data Center.

After installation of the app, the process of indexing TeamCity data is started as a job. The current process starts on each Jira node, if the app was installed on Jira Data Center.

Initial Indexation

Each process of data indexation is launched once a minute. When the process finds a TeamCity server with data that has been indexed or has not been indexed yet the process starts another thread on its local node. This thread starts data indexation for the corresponding TeamCity server. This thread also blocks the cluster so other Jira nodes will not be able to start parallel indexation of the same TeamCity server.

If the process finds that there are several TeamCity servers pending indexation that are not being blocked by other Jira nodes, so on the local node this process launches several threads that index data from several TeamCity servers simultaneously. Data can be indexed as either by one or by several Jira nodes simultaneously. It primarily depends on the node that blocked the TeamCity node first.

Data Re-Indexation

The app updates the index of builds on a regular basis to preserve the actual TeamCity data. Every minute the app starts the process of data indexation, which requests the updated list of TeamCity builds that have not been indexed yet. This data indexation process is launched on each TeamCity node afterwards each Jira node checks whether the TeamCity node is blocked or not. If the TeamCity node is not blocked, the Jira node blocks it and indexes the updated data. The TeamCity node that has been already blocked by another Jira node is indexed by the Jira node that reserved this node.

  • No labels