Jira upgrade from 6.4.12 to 7.2.2

Omprakash Thamsetty
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
December 30, 2016

Hi

 

I am trying to upgrade from 6.4.12 to 7.2.2 so doing following path

 

Stage 1 : 6.4.12 --> 7.0.0

stage 2: 7.0.0 --> 7.2.2

 

Upgrading the plugins after stage1 upgrade so do I need to do reindex ? or I can go ahead and do the stage 2 upgrade directly?

One more thing. JIRA agile plugin installed in 6.4.12 so do I need to disable before attempting to upgrade stage 1 as in 7.0.0 agile is inbuilt.

 

What would be the re-command steps?  

 

Thanks,

Om

1 answer

1 accepted

0 votes
Answer accepted
Jonas Andersson
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
December 30, 2016

No, no use to reindex between the upgrades, however if you don't expect dashboards to be gaping holes with errors. I 3-stepped a upgrade from 6.2.1 to 7.1.9 and avoiding the reindex between the middle version saved me 4 hours. I would also skip implementing custom http/https settings, keystores and other stuff until you are on your destination version, as most of this gets replaced with original files after each upgrade anyway. Between EVERY version i suggest you upgrade all plugins, starting with UPM. Once all plugins are upgraded you can proceed to next version. Just leave JIRA agile as it is, didn't have to do anything with that, it just worked.

If you are on vmware/lvm snapshot it between before starting to allow you to roll back simply if something fails.

Omprakash Thamsetty
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
December 30, 2016

Thanks for the quick reply. Thats what I followed in Sandbox and DEV server. I did not do reindex but updated the plugins before moving to next version.

I did the upgrade on Production 2 days ago and ran into below error

 

storing unattached <ao> configuration module for
[com.pyxis.greenhopper.jira]


2016-12-27 19:41:54,482 JIRA-Bootstrap
DEBUG      [c.a.activeobjects.osgi.ActiveObjectsServiceFactory]
onPluginEnabledEvent attaching unbound <ao> to
[com.pyxis.greenhopper.jira]


2016-12-27 19:41:54,482 JIRA-Bootstrap
DEBUG     
[c.a.activeobjects.osgi.TenantAwareActiveObjects] init bundle [com.pyxis.greenhopper.jira]


2016-12-27 19:41:54,482 JIRA-Bootstrap
DEBUG     
[c.a.activeobjects.osgi.TenantAwareActiveObjects] bundle
[com.pyxis.greenhopper.jira] loading new AO promise for
JiraTenantImpl{id='system'}


2016-12-27 19:41:54,482 JIRA-Bootstrap
DEBUG      [c.a.activeobjects.osgi.TenantAwareActiveObjects]
setAoConfiguration [com.pyxis.greenhopper.jira]


2016-12-27 19:41:54,482 JIRA-Bootstrap
DEBUG     
[c.a.activeobjects.osgi.TenantAwareActiveObjects] bundle
[com.pyxis.greenhopper.jira] got ActiveObjectsConfiguration


2016-12-27 19:41:54,514
active-objects-init-JiraTenantImpl{id='system'}-0 DEBUG
anonymous    
[c.a.activeobjects.osgi.TenantAwareActiveObjects] bundle
[com.pyxis.greenhopper.jira] creating ActiveObjects


2016-12-27 19:41:54,592 active-objects-init-JiraTenantImpl{id='system'}-0
ERROR anonymous     [n.java.ao.sql] Exception executing SQL
update <ALTER TABLE jiraschemaP.AO_60DB71_LEXORANK ADD BUCKET INTEGER
CONSTRAINT df_AO_60DB71_LEXORANK_BUCKET DEFAULT 0>


java.sql.SQLException: Column names in each table must be
unique. Column name 'BUCKET' in table 'jiraschemaP.AO_60DB71_LEXORANK' is
specified more than once.


               
at
net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:372)


               
at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2988)


               
at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2421)


               
at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:671)


               
at net.sourceforge.jtds.jdbc.JtdsStatement.processResults(JtdsStatement.java:613)


               
at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQL(JtdsStatement.java:572)


               
at net.sourceforge.jtds.jdbc.JtdsStatement.executeImpl(JtdsStatement.java:809)


               
at
net.sourceforge.jtds.jdbc.JtdsStatement.executeUpdate(JtdsStatement.java:1288)


               
at
net.sourceforge.jtds.jdbc.JtdsStatement.executeUpdate(JtdsStatement.java:1241)


               
at org.apache.commons.dbcp2.DelegatingStatement.executeUpdate(DelegatingStatement.java:234)


               
at
org.apache.commons.dbcp2.DelegatingStatement.executeUpdate(DelegatingStatement.java:234)


               
at net.java.ao.DatabaseProvider.executeUpdate(DatabaseProvider.java:2238)


               
at net.java.ao.DatabaseProvider.executeUpdateForAction(DatabaseProvider.java:2294)


               
at
net.java.ao.DatabaseProvider.executeUpdatesForActions(DatabaseProvider.java:2266)


               
at com.atlassian.greenhopper.upgrade.AOUpgradeTask001.addColumn(AOUpgradeTask001.java:83)


               
at
com.atlassian.greenhopper.upgrade.AOUpgradeTask001.upgrade(AOUpgradeTask001.java:66)


               
at
com.atlassian.activeobjects.internal.ActiveObjectUpgradeManagerImpl$1.doInTransaction(ActiveObjectUpgradeManagerImpl.java:68)


               
at
com.atlassian.activeobjects.internal.ActiveObjectUpgradeManagerImpl$1.doInTransaction(ActiveObjectUpgradeManagerImpl.java:64)


               
at
com.atlassian.sal.core.transaction.HostContextTransactionTemplate$1.doInTransaction(HostContextTransactionTemplate.java:21)


               
at
com.atlassian.jira.DefaultHostContextAccessor.doInTransaction(DefaultHostContextAccessor.java:34)


               
... 2 filtered


               
at java.lang.reflect.Method.invoke(Unknown Source)


               
at
com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26)


               
at com.sun.proxy.$Proxy474.doInTransaction(Unknown Source)


               
... 2 filtered


               
at java.lang.reflect.Method.invoke(Unknown Source)


               
at
com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:136)


               
at com.sun.proxy.$Proxy474.doInTransaction(Unknown Source)


               
at
com.atlassian.sal.core.transaction.HostContextTransactionTemplate.execute(HostContextTransactionTemplate.java:18)


               
... 3 filtered


               
at java.lang.reflect.Method.invoke(Unknown Source)


               
at
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)


               
at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:56)


               
at
org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:60)


               
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)


               
at
org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)


               
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)


               
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)


               
at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:70)


               
at
org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:53)


               
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)


               
at
org.eclipse.gemini.blueprint.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:57)


               
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)


               
at
org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)


               
at
org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)


               
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)


               
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)


               
at com.sun.proxy.$Proxy918.execute(Unknown Source)


               
at
com.atlassian.activeobjects.internal.SalTransactionManager.inTransaction(SalTransactionManager.java:42)


               
at
com.atlassian.activeobjects.internal.AbstractLoggingTransactionManager.doInTransaction(AbstractLoggingTransactionManager.java:16)


               
at
com.atlassian.activeobjects.internal.EntityManagedActiveObjects.executeInTransaction(EntityManagedActiveObjects.java:204)


               
at
com.atlassian.activeobjects.internal.ActiveObjectUpgradeManagerImpl.upgrade(ActiveObjectUpgradeManagerImpl.java:64)


               
at
com.atlassian.activeobjects.internal.ActiveObjectUpgradeManagerImpl.upgrade(ActiveObjectUpgradeManagerImpl.java:36)


               
at
com.atlassian.activeobjects.internal.AbstractActiveObjectsFactory.upgrade(AbstractActiveObjectsFactory.java:87)


               
at
com.atlassian.activeobjects.internal.AbstractActiveObjectsFactory.create(AbstractActiveObjectsFactory.java:67)


               
at
com.atlassian.activeobjects.internal.DelegatingActiveObjectsFactory.create(DelegatingActiveObjectsFactory.java:32)


               
at
com.atlassian.activeobjects.osgi.TenantAwareActiveObjects$1$1$1.call(TenantAwareActiveObjects.java:91)


               
at
com.atlassian.activeobjects.osgi.TenantAwareActiveObjects$1$1$1.call(TenantAwareActiveObjects.java:86)


               
at
com.atlassian.sal.core.executor.ThreadLocalDelegateCallable.call(ThreadLocalDelegateCallable.java:38)


               
at java.util.concurrent.FutureTask.run(Unknown Source)


               
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)


               
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)


               
at java.lang.Thread.run(Unknown Source)


2016-12-27 19:41:54,607
active-objects-init-JiraTenantImpl{id='system'}-0 WARN
anonymous     [n.j.ao.db.SQLServerDatabaseProvider] Error
in schema creation: Column names in each table must be unique. Column name
'BUCKET' in table 'jiraschemaP.AO_60DB71_LEXORANK' is specified more than
once.; attempting to roll back last partially generated table

 

Do you have any idea on this ? Why its say bucket column partially generated ? How I can fix this if it is occur again with my production upgrade. Note: I did not get any issue in sandbox and DEV. Sandbox is cloned from production.

 

Thanks,

Om

Omprakash Thamsetty
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
December 30, 2016

Error message seems not copied. Here it is

 

*********************************************** Plugin ERROR  ***********************************************

storing unattached <ao> configuration module for [com.pyxis.greenhopper.jira]

2016-12-27 19:41:54,482 JIRA-Bootstrap DEBUG      [c.a.activeobjects.osgi.ActiveObjectsServiceFactory] onPluginEnabledEvent attaching unbound <ao> to [com.pyxis.greenhopper.jira]

2016-12-27 19:41:54,482 JIRA-Bootstrap DEBUG      [c.a.activeobjects.osgi.TenantAwareActiveObjects] init bundle [com.pyxis.greenhopper.jira]

2016-12-27 19:41:54,482 JIRA-Bootstrap DEBUG      [c.a.activeobjects.osgi.TenantAwareActiveObjects] bundle [com.pyxis.greenhopper.jira] loading new AO promise for JiraTenantImpl{id='system'}

2016-12-27 19:41:54,482 JIRA-Bootstrap DEBUG      [c.a.activeobjects.osgi.TenantAwareActiveObjects] setAoConfiguration [com.pyxis.greenhopper.jira]

2016-12-27 19:41:54,482 JIRA-Bootstrap DEBUG      [c.a.activeobjects.osgi.TenantAwareActiveObjects] bundle [com.pyxis.greenhopper.jira] got ActiveObjectsConfiguration

2016-12-27 19:41:54,514 active-objects-init-JiraTenantImpl{id='system'}-0 DEBUG anonymous     [c.a.activeobjects.osgi.TenantAwareActiveObjects] bundle [com.pyxis.greenhopper.jira] creating ActiveObjects

2016-12-27 19:41:54,592 active-objects-init-JiraTenantImpl{id='system'}-0 ERROR anonymous     [n.java.ao.sql] Exception executing SQL update <ALTER TABLE jiraschemaP.AO_60DB71_LEXORANK ADD BUCKET INTEGER CONSTRAINT df_AO_60DB71_LEXORANK_BUCKET DEFAULT 0>

java.sql.SQLException: Column names in each table must be unique. Column name 'BUCKET' in table 'jiraschemaP.AO_60DB71_LEXORANK' is specified more than once.

                at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:372)

                at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2988)

                at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2421)

                at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:671)

                at net.sourceforge.jtds.jdbc.JtdsStatement.processResults(JtdsStatement.java:613)

                at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQL(JtdsStatement.java:572)

                at net.sourceforge.jtds.jdbc.JtdsStatement.executeImpl(JtdsStatement.java:809)

                at net.sourceforge.jtds.jdbc.JtdsStatement.executeUpdate(JtdsStatement.java:1288)

                at net.sourceforge.jtds.jdbc.JtdsStatement.executeUpdate(JtdsStatement.java:1241)

                at org.apache.commons.dbcp2.DelegatingStatement.executeUpdate(DelegatingStatement.java:234)

                at org.apache.commons.dbcp2.DelegatingStatement.executeUpdate(DelegatingStatement.java:234)

                at net.java.ao.DatabaseProvider.executeUpdate(DatabaseProvider.java:2238)

                at net.java.ao.DatabaseProvider.executeUpdateForAction(DatabaseProvider.java:2294)

                at net.java.ao.DatabaseProvider.executeUpdatesForActions(DatabaseProvider.java:2266)

                at com.atlassian.greenhopper.upgrade.AOUpgradeTask001.addColumn(AOUpgradeTask001.java:83)

                at com.atlassian.greenhopper.upgrade.AOUpgradeTask001.upgrade(AOUpgradeTask001.java:66)

                at com.atlassian.activeobjects.internal.ActiveObjectUpgradeManagerImpl$1.doInTransaction(ActiveObjectUpgradeManagerImpl.java:68)

                at com.atlassian.activeobjects.internal.ActiveObjectUpgradeManagerImpl$1.doInTransaction(ActiveObjectUpgradeManagerImpl.java:64)

                at com.atlassian.sal.core.transaction.HostContextTransactionTemplate$1.doInTransaction(HostContextTransactionTemplate.java:21)

                at com.atlassian.jira.DefaultHostContextAccessor.doInTransaction(DefaultHostContextAccessor.java:34)

                ... 2 filtered

                at java.lang.reflect.Method.invoke(Unknown Source)

                at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26)

                at com.sun.proxy.$Proxy474.doInTransaction(Unknown Source)

                ... 2 filtered

                at java.lang.reflect.Method.invoke(Unknown Source)

                at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:136)

                at com.sun.proxy.$Proxy474.doInTransaction(Unknown Source)

                at com.atlassian.sal.core.transaction.HostContextTransactionTemplate.execute(HostContextTransactionTemplate.java:18)

                ... 3 filtered

                at java.lang.reflect.Method.invoke(Unknown Source)

                at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)

                at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:56)

                at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:60)

                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)

                at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)

                at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)

                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)

                at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:70)

                at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:53)

                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)

                at org.eclipse.gemini.blueprint.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:57)

                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)

                at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)

                at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)

                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)

                at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)

                at com.sun.proxy.$Proxy918.execute(Unknown Source)

                at com.atlassian.activeobjects.internal.SalTransactionManager.inTransaction(SalTransactionManager.java:42)

                at com.atlassian.activeobjects.internal.AbstractLoggingTransactionManager.doInTransaction(AbstractLoggingTransactionManager.java:16)

                at com.atlassian.activeobjects.internal.EntityManagedActiveObjects.executeInTransaction(EntityManagedActiveObjects.java:204)

                at com.atlassian.activeobjects.internal.ActiveObjectUpgradeManagerImpl.upgrade(ActiveObjectUpgradeManagerImpl.java:64)

                at com.atlassian.activeobjects.internal.ActiveObjectUpgradeManagerImpl.upgrade(ActiveObjectUpgradeManagerImpl.java:36)

                at com.atlassian.activeobjects.internal.AbstractActiveObjectsFactory.upgrade(AbstractActiveObjectsFactory.java:87)

                at com.atlassian.activeobjects.internal.AbstractActiveObjectsFactory.create(AbstractActiveObjectsFactory.java:67)

                at com.atlassian.activeobjects.internal.DelegatingActiveObjectsFactory.create(DelegatingActiveObjectsFactory.java:32)

                at com.atlassian.activeobjects.osgi.TenantAwareActiveObjects$1$1$1.call(TenantAwareActiveObjects.java:91)

                at com.atlassian.activeobjects.osgi.TenantAwareActiveObjects$1$1$1.call(TenantAwareActiveObjects.java:86)

                at com.atlassian.sal.core.executor.ThreadLocalDelegateCallable.call(ThreadLocalDelegateCallable.java:38)

                at java.util.concurrent.FutureTask.run(Unknown Source)

                at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

                at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

                at java.lang.Thread.run(Unknown Source)

2016-12-27 19:41:54,607 active-objects-init-JiraTenantImpl{id='system'}-0 WARN anonymous     [n.j.ao.db.SQLServerDatabaseProvider] Error in schema creation: Column names in each table must be unique. Column name 'BUCKET' in table 'jiraschemaP.AO_60DB71_LEXORANK' is specified more than once.; attempting to roll back last partially generated table

 

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events