It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

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

0 votes
Answer 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
Community showcase
Posted in Jira Core

How to manage many similar workflows?

I have multiple projects that use variations of the same base workflow. The variations depend on the requirements of the project or issue type. The variations mostly come in the form of new statuses ...

1,085 views 7 0
Join discussion

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you