We're updating the issue view to help you get more done. 

JJI incompatibility with ScriptRunner scriptedFields

Description

We are using Jira since long time with ScriptRunner plugin (https://marketplace.atlassian.com/apps/6820/scriptrunner-for-jira?hosting=server&tab=overview)

and Tempo plugin (https://marketplace.atlassian.com/apps/6572/tempo-timesheets?hosting=server&tab=overview).

Some days ago we installed JJI.

After installing JJI we realized that some scripted fields of ScriptRunner plugin which query tempo account category fields contained wrong values. Running a non-exclusive reindex in Jira showed the values to come back and then suddenly vanish again while the reindex still running.

We added some debugging to the script code and got the following log:

The lines with "category ok" show valid values while lines with "null" at the end show missing values.

Surprisingly the logging come from the different threads JiraTaskExectionThread and JenkinsSynchronizerExecutorServiceThread. While the first finds right values the second always return null.

The name JenkinsSynchronizerExecutorServiceThread led me to JJI. I deactivated the JJI plugin and run the reindex again. Now everything is fine.

The same when working with Jira all the day. With enabled JJI the values get lost, without JJI everything stays fine.

So it looks like the JJI plugin breaks the ScriptRunner scriptedFields. 

Environment

JIRA 7.12.1, ScriptRunner 5.4.30

Activity

Show:
Mark Rekveld
November 4, 2018, 8:55 PM

Brilliant, thanks for your feedback.

I'll start on this as soon as I can.

Horst Krause
November 5, 2018, 11:06 AM

Oh....well. Look better as before, but still not finally ok.

Simple Jira reindex is ok now.

But when I use JJIs "Refresh jobs" button, then the indexed values of the scriptedFields get lost. Is there perhaps a second code part where the wrong indexing mode/event is used?

Mark Rekveld
November 5, 2018, 11:51 AM

Is there perhaps a second code part where the wrong indexing mode/event is used?

No, there is only one place where issue indexes are requested to be updated.

One thing to note, is that the add-on will only request a reindex of the issues of which build links have changed, all other issues are left alone. Could it be that the scriptedFields need have dependencies on other issues that should also be included in the reindex request?

Horst Krause
November 5, 2018, 1:32 PM

Yes, it looked like only issues which have at least one build link where broken after the "refresh jobs".

But I do not understand, why the reindex from the "refresh jobs" call behaves different from the non-exclusive jira-reindex (/secure/admin/IndexAdmin.jspa).

Is it running in another or with reduced issue context? To get the right scriptField values, data from the Tempo plugin is used. But this is available usually.

 

 

Mark Rekveld
November 6, 2018, 8:27 AM

As far as I can make out the add-on uses the same methods for reindexing of issues. I'll try to find out if there are better ways to trigger the reindexing of issues.

Assignee

Unassigned

Reporter

Horst Krause

Labels

None

Epic/Theme (migrated)

None

Patch submitted

None

Testcase(s) included

None

Components

Affects versions

Priority

Major
Configure