Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in
Celebration

Earn badges and make progress

You're on your way to the next level! Join the Kudos program to earn points and save your progress.

Deleted user Avatar
Deleted user

Level 1: Seed

25 / 150 points

Next: Root

Avatar

1 badge earned

Collect

Participate in fun challenges

Challenges come and go, but your rewards stay with you. Do more to earn more!

Challenges
Coins

Gift kudos to your peers

What goes around comes around! Share the love by gifting kudos to your peers.

Recognition
Ribbon

Rise up in the ranks

Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!

Leaderboard

Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,456,656
Community Members
 
Community Events
176
Community Groups

Why do ScriptRunner jobs not find issues when a navigator search does find them?

Edited

We were coming off of a full reindex of Jira datacenter.

When I use the "updated" field in the jql it only finds the issue when I do a manual search via "Run Now" (preview), and it shows in the log and does the subsequent transition.

But when I let it run automatically via cron expression, then it doesn't find the updated issue.

I have a feeling that something might be cached or some user context is missing when the job runs by itself or maybe you just can't use "updated" in a ScriptRunner job JQL query or this is exclusively a datacenter problem?

Edit: The user has full admin permissions in the project

chrome_tiX7i8hOrt.gif

3 answers

1 accepted

I think I might have figured out why the job searches were not working. Still testing this in detail:

I think all jobs were essentially sharing a single cached SearcherContext, which is used to search the index, and the recent version of the search method didn't have a finally block with

}finally{
ThreadLocalSearcherCache.stopAndCloseSearcherContext()
}

Which means whenever a Job used the search method , it created a SearchContext that was never closed, and this old cached SearcherContext then gets reused by other jobs, and apparently it holds or references a cached version of the index.

The whole searcherContext opening was done to prevent this issue, where logs get flooded:

https://community.atlassian.com/t5/Marketplace-Apps-Integrations/Incorrect-usage-of-JIRA-lucene-search-API/qaq-p/1503542#U1902018

It now randomly started to work. I have no idea why.

Alright so I have no idea what is going on, but something isn't working still.

This Escalation Job should at all times find 1 issue, and it does if I execute it, but not when it runs on its own:

ARGG.png

Suggest an answer

Log in or Sign up to answer
TAGS

Atlassian Community Events