Help I need somebody

klein kevin January 24, 2014

Hello

I am currently working on the upgrade of Jira ( 5.2.5 to 6.1.4) on a production server ( OS : Linux)

Before doing this upgrade on the production server, I perform tests downgrade on a test server ( OS : Linux)( 6.1.4 to 5.2.5)

On the test server, I succeeded to switch from 6.1.4 to 5.2.5 by replacing the jira_6_1_4 webapps \ folder webapps \ jira_5_2_5

I unzipped the war file . which was in the tomcat6 folder and I replaced those that were in the folder jira_home

So far, the page jira works with the old version 5.2.5

but once when I integrated the plugin Greenhopper ( 6.1.2) I have a yellow bar that appears at the top of my window with the following message :

<< GreenHopper is currently unavailable . This might be an upgrade task Because Has Failed to run or not not yet completed HAS .

Please contact your system administrator if you continue to see this message. >>

also

java.lang.RuntimeException: java.util.concurrent.ExecutionException: com.atlassian.jira.util.dbc.Assertions$NullArgumentException: s1 should not be null!

at com.atlassian.jira.index.FutureResult.await(FutureResult.java:35)

at com.atlassian.jira.index.CompositeResultBuilder$CompositeResult.await(CompositeResultBuilder.java:82)

at com.atlassian.jira.issue.index.DefaultIndexManager.doIndexIssuesInBatchMode(DefaultIndexManager.java:855)

at com.atlassian.jira.issue.index.DefaultIndexManager.doStopTheWorldReindex(DefaultIndexManager.java:825)

at com.atlassian.jira.issue.index.DefaultIndexManager.reIndexAll(DefaultIndexManager.java:335)

at com.atlassian.jira.issue.index.DefaultIndexManager.reIndexAll(DefaultIndexManager.java:301)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:597)

at com.atlassian.util.profiling.object.ObjectProfiler.profiledInvoke(ObjectProfiler.java:81)

at com.atlassian.jira.config.component.SwitchingInvocationHandler.invoke(SwitchingInvocationHandler.java:28)

at $Proxy157.reIndexAll(Unknown Source)

at com.atlassian.jira.util.index.CompositeIndexLifecycleManager.reIndexAll(CompositeIndexLifecycleManager.java:54)

at com.atlassian.jira.web.action.admin.index.ReIndexAsyncIndexerCommand.doReindex(ReIndexAsyncIndexerCommand.java:28)

at com.atlassian.jira.web.action.admin.index.AbstractAsyncIndexerCommand.call(AbstractAsyncIndexerCommand.java:54)

at com.atlassian.jira.web.action.admin.index.ReIndexAsyncIndexerCommand.call(ReIndexAsyncIndexerCommand.java:16)

at com.atlassian.jira.web.action.admin.index.AbstractAsyncIndexerCommand.call(AbstractAsyncIndexerCommand.java:23)

at com.atlassian.jira.task.TaskManagerImpl$TaskCallableDecorator.call(TaskManagerImpl.java:366)

at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)

at java.util.concurrent.FutureTask.run(FutureTask.java:138)

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)

at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)

at java.util.concurrent.FutureTask.run(FutureTask.java:138)

at com.atlassian.multitenant.impl.DefaultMultiTenantManager.runForTenant(DefaultMultiTenantManager.java:61)

at com.atlassian.multitenant.juc.MultiTenantExecutors$WrappedRunnable.run(MultiTenantExecutors.java:160)

at com.atlassian.jira.task.ForkedThreadExecutor$ForkedRunnableDecorator.run(ForkedThreadExecutor.java:249)

at java.lang.Thread.run(Thread.java:662)

Caused by: java.util.concurrent.ExecutionException: com.atlassian.jira.util.dbc.Assertions$NullArgumentException: s1 should not be null!

at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)

at java.util.concurrent.FutureTask.get(FutureTask.java:83)

at com.atlassian.jira.index.FutureResult.await(FutureResult.java:31)

... 27 more

Caused by: com.atlassian.jira.util.dbc.Assertions$NullArgumentException: s1 should not be null!

at com.atlassian.jira.util.dbc.Assertions.notNull(Assertions.java:28)

at com.atlassian.jira.util.CaseFolding.foldString(CaseFolding.java:64)

at com.atlassian.jira.util.CaseFolding.foldString(CaseFolding.java:30)

at com.atlassian.greenhopper.customfield.epiclink.EpicLinkCustomFieldIndexer.getKeyFoldedValue(EpicLinkCustomFieldIndexer.java:124)

at com.atlassian.greenhopper.customfield.epiclink.EpicLinkCustomFieldIndexer.addIndex(EpicLinkCustomFieldIndexer.java:57)

at com.atlassian.jira.issue.index.IssueDocument.getDocument(IssueDocument.java:40)

at com.atlassian.jira.issue.index.DefaultIssueDocumentFactory.get(DefaultIssueDocumentFactory.java:15)

at com.atlassian.jira.issue.index.DefaultIssueDocumentFactory.get(DefaultIssueDocumentFactory.java:11)

at com.atlassian.jira.issue.index.DefaultIssueIndexer$IssueLockDocumentCreationStrategy$2.get(DefaultIssueIndexer.java:598)

at com.atlassian.jira.issue.index.DefaultIssueIndexer$IssueLockDocumentCreationStrategy$2.get(DefaultIssueIndexer.java:593)

at com.atlassian.util.concurrent.ManagedLocks$ManagedLockImpl.withLock(ManagedLocks.java:315)

at com.atlassian.jira.issue.index.DefaultIssueIndexer$IssueLockDocumentCreationStrategy.get(DefaultIssueIndexer.java:592)

at com.atlassian.jira.issue.index.DefaultIssueIndexer$IndexIssuesOperation.perform(DefaultIssueIndexer.java:446)

at com.atlassian.jira.issue.index.DefaultIssueIndexer$4$1.get(DefaultIssueIndexer.java:284)

at com.atlassian.jira.issue.index.DefaultIssueIndexer$4$1.get(DefaultIssueIndexer.java:280)

at com.atlassian.jira.index.SimpleIndexingStrategy.get(SimpleIndexingStrategy.java:9)

at com.atlassian.jira.index.SimpleIndexingStrategy.get(SimpleIndexingStrategy.java:5)

at com.atlassian.jira.index.MultiThreadedIndexingStrategy$1.call(MultiThreadedIndexingStrategy.java:38)

at com.atlassian.jira.index.MultiThreadedIndexingStrategy$1.call(MultiThreadedIndexingStrategy.java:35)

at com.atlassian.jira.util.concurrent.BoundedExecutor$2.call(BoundedExecutor.java:70)

at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)

at java.util.concurrent.FutureTask.run(FutureTask.java:138)

at com.atlassian.multitenant.impl.DefaultMultiTenantManager.runForTenant(DefaultMultiTenantManager.java:61)

at com.atlassian.multitenant.juc.MultiTenantExecutors$WrappedRunnable.run(MultiTenantExecutors.java:160)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

... 1 more

I tried to do reindexaction , but nothing was done...

Could you please help me?

I'm lost :(

thank you very much

2 answers

0 votes
klein kevin January 26, 2014

Hi Nic,

Thank you very much for your response
I understand the message that you sent me
Now i have an other question, Could you please tell me how to proceed to a rollback in case of failure during the upgrade?

Thank you in advance

Nic Brough -Adaptavist-
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
January 26, 2014

Rollback can get quite complex, but the basic idea is

1) Backup before you change anything - database, application installation and application data directory

2) If it goes wrong, delete all the new stuff that's been created or updated, then restore the backups

There's loads of variations on that - my preferred approach is actually to create copies of the old stuff to upgrade, turn off the old system, upgrade the copy and then switch the users to the new system. If it goes wrong, then you turn off the new system, turn on the old one.

But it depends on what systems you've got available

0 votes
Nic Brough -Adaptavist-
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
January 25, 2014

Right, basic question - why are you trying to downgrade anything?

Even if downgrading was possible (it's not. It's not supported or coded for, and if you really must do it, it can take weeks to manipulate the data into an older formet), splatting an older version of the expanded Jira over a later version is a dreadful way to try to downgrade any system - you have no idea what has been added to the new one that might lurk there and break it. You really should simply destroy the newer one and install the older one clean (although it's pointless because your data will be the wrong version)

I'd strongly recommend planning for "roll back" on failure of your upgrade, and forget that you even mentioned "downgrade"

Suggest an answer

Log in or Sign up to answer