Changes in Reindex(issue) API in 8.19

Hi everyone :wave: ,
we’re introducing corrective changes to Reindex(issue) API in v8.19, you’ll find more details below.

What is changing?

The Reindex (Issue) API was supposed to reindex only the issue, but it was also reindexing all the comments and work history along with the issue.

Now we are correcting it to reindex only the issue. Now it will work as per the documentation.

Why is it changing?

Reindexing complete history and comments are causing performance degradation for our customers.

If the issue contains a large amount of related entities, this has serious indexing implication (tens of thousands of index update operations across the cluster instead of a single index update across the cluster).

JRASERVER-72469 - Reindexing API misbehaviour causing performance issues: reIndex(issue) reindexing related entities LONG TERM BACKLOG

What do I need to do?

Nothing, if:

  • If your plugin’s code does not use API method com.atlassian.jira.issue.index.IssueIndexingService#reIndex(com.atlassian.jira.issue.Issue)
  • Your plugin’s code uses com.atlassian.jira.issue.index.IssueIndexingService#reIndex(com.atlassian.jira.issue.Issue) but its correct behaviour does not rely on this method calls triggering anything more than Issue reindexing, without any related entities.

Otherwise, you may need to:

  • Change your code to use proper methods in Jira API, with parameters that explicitly set the expected related entity types to be reindex along with the issue.
  • For versions of your plugin that don’t meet this requirement to work with Jira 8.19+ you can advise users to fallback to old API behavior and set the system flag “ com.atlassian.jira.issue.reindex.legacy.mode “ to true.

By when do I need to do it?

10 Sep 2021, 8.19 release

4 Likes

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.