Jira upgrade from 6.4.12 to 7.2.2

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

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.

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

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
Atlassian Community Anniversary

Happy Anniversary, Atlassian Community!

This community is celebrating its one-year anniversary and Atlassian co-founder Mike Cannon-Brookes has all the feels.

Read more
Community showcase
Bridget Sauer
Published yesterday in Marketplace Apps

Calling all developers––You're invited to Atlas Camp 2018

 Atlas Camp   is our developer event which will take place in Barcelona, Spain  from the 6th -7th of   September . This is a great opportunity to meet other developers and get n...

58 views 0 3
Read article

Atlassian User Groups

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!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you