Dear JIRA's Administrators/Developers,
We have configured a database replication process for our reporting JIRA's instance. We have the need to reload the JIRA's Entity Engine upon the immediate replicated data. Is there a way to reload JIRA's Entity Engine without restarting the web server? Your help is greatly appreciated.
I can't answer this directly, but I've got a feeling there's another question behind it.
The question I can see lurking is "we've made changes to a Jira database outside Jira (by replicating data into the database), how do we get Jira to load that?"
The answer to that is "stop doing it, you will break your Jira". "Reloading the entity engine" is a non-starter, you've broken your system. If you must amend Jira data in the database, then you *must* stop Jira before doing it. Once complete, you almost always need to trigger a reindex (broad rule - if you've touched issue data, you must reindex the issues you've hit, and quite often ALL the issues if you want searches to work)
Could you explain your setup a little more? I'm a little confused because if you are just doing reports from a secondary replicated Jira database in read-only mode, then there's no need to reload anything - JIra doesn't care if you only read data...
Thanks for your response. Well, a better question would be, how would you recommend setting up a second JIRA's reporting instance (where the data from the main database instance is being replicated to the secondary reporting database instance) utilizing JIRA REST APIs? The REST APIs are communicating to the database throught Entity Engine. Since we replicate the data at the database level, the Entity Engine data objects are not being updated. Performing a web start restart would solve this issue. However, we're looking for a more elegant solution to reload the Entity Engine data objects, instead of a web server restart.
Thanks for your prompt response.
The main reason for our JIRA Database Replication design is to offload some of the traffic from the reporting tasks utilizing the REST APIs to the secondary JIRA Reporting (read-only) Server/Database. The database replication process is working nicely. However, when trying to invoke the REST APIs from the second instance, the old entity data object values are being cached at the Entity Engine level. A restart of the web server solved this problem. However, we would like a more elegant way to notify the second JIRA's Secondary Instance Entity Engine to reload the replicated data values from the database instead.
In other words, how would you recommend configuring a JIRA's Reporting Server Instance to divert the reporting traffic away from the main JIRA instance? Any help would be greatly appreciated.
Er, that simply won't work. Every time you replicate data from the main Jira to the reporting one, you will need to restart AND reindex the reporting one.
There's no way around this - the reporting Jira has caches and an index that you are breaking because it has no way of knowing that you're updating data in its database. Restarting the entity engine inside it won't help that much - the caches are littered through the system and you've not even considered the index.
Jira is not built to support what you're doing. Options:
I'm sorry they aren't quite what you need. I've always said Jira is rather weak on reporting - the evidence is that large swathes of users keep coming up with all sorts of ways of doing it. Your trick is a nice idea, but sadly, broken by Jira's structure.
I've had varying degrees of success with all of the options I've mentioned, and they all work if you invest some thought in them (in fact, the failures have been mostly down to the users not really knowing what the question actually is - like "Deep Thought" and "42")
Connect with like-minded Atlassian users at free events near you!Find a group
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no AUG chapters near you at the moment.Start an AUG
We're bringing product updates and pro tips on teamwork to ten cities around the world.Save your spot