Error in Bamboo Check Out Task using TFS Repository Plugin

Issue #65 resolved
Sven Norman created an issue

Details:

Error occurred while running Task 'Checkout source code(1)' of type com.atlassian.bamboo.plugins.vcs:task.vcs.checkout. (java.lang.RuntimeException : com.atlassian.bamboo.repository.RepositoryException: java.lang.UnsupportedOperationException: Plugin com.atlassian.bamboo.plugin.system.repository:svnv2 cannot be used through legacy API call)

We are using the TFS Repository plugin for Bamboo and it is the checkout task that reports an error. Strangely enough the exact same task another build plan works.

As a separate step in upgrading from 5.9.7 to 5.14.1 we changed the collation of the SqlServer database from Latin1_General_100_CS_AI to Latin1_General_CS_AS

Affects Bamboo Version/s 5.14.1 Your SEN for Bamboo: SEN-3687470 Your SEN for TFS Repository: SEN-3687471 version 1.1.17

Comments (10)

  1. Sergey Podobry

    Hi Sven,

    There is com.atlassian.bamboo.plugin.system.repository:svnv2 in the exception message which means that it is thrown by SVN repository. Could you check the failing plan and see whether there is SVN repository?

  2. Jonathan

    Yes we are using svn repositories in the plan.

    It is when the get from TFS is running the exception happens and this is in the stacktrace

    Caused by: com.atlassian.bamboo.repository.RepositoryException: java.lang.UnsupportedOperationException: Plugin com.atlassian.bamboo.plugin.system.repository:svnv2 cannot be used through legacy API call
        at com.stellarity.bamboo.repository.TfsRepository.retrieveSourceCode(TfsRepository.java:480)
    

    That’s the reason we think it is in the TFS plugin.

    I tried to remove the svn repository and then the TFS get worked, so it looks like it is related to having both subversion and tfs repositories in the same plan. The strange thing is that we have another plan using the same linked repositories and there both the svn and the tfs get works...

    Here is the full stacktrace for reference

    java.lang.RuntimeException: com.atlassian.bamboo.repository.RepositoryException: java.lang.UnsupportedOperationException: Plugin com.atlassian.bamboo.plugin.system.repository:svnv2 cannot be used through legacy API call
        at com.atlassian.bamboo.executor.RetryingTaskExecutor.rerun(RetryingTaskExecutor.java:144)
        at com.atlassian.bamboo.executor.RetryingTaskExecutor.runTask(RetryingTaskExecutor.java:88)
        at com.atlassian.bamboo.executor.RetryingTaskExecutor.retry(RetryingTaskExecutor.java:203)
        at com.atlassian.bamboo.executor.RetryingTaskExecutor.retry(RetryingTaskExecutor.java:188)
        at com.atlassian.bamboo.plugins.vcs.task.VcsCheckoutTask.execute(VcsCheckoutTask.java:127)
        at com.atlassian.bamboo.task.TaskExecutorImpl.lambda$executeTasks$3(TaskExecutorImpl.java:317)
        at com.atlassian.bamboo.task.TaskExecutorImpl.executeTaskWithPrePostActions(TaskExecutorImpl.java:246)
        at com.atlassian.bamboo.task.TaskExecutorImpl.executeTasks(TaskExecutorImpl.java:317)
        at com.atlassian.bamboo.task.TaskExecutorImpl.executePreparationTasks(TaskExecutorImpl.java:93)
        at com.atlassian.bamboo.build.pipeline.tasks.PrepareBuildTask.call(PrepareBuildTask.java:77)
        at com.atlassian.bamboo.v2.build.agent.DefaultBuildAgent.build(DefaultBuildAgent.java:215)
        at com.atlassian.bamboo.v2.build.agent.BuildAgentControllerImpl$1.call(BuildAgentControllerImpl.java:139)
        at com.atlassian.bamboo.v2.build.agent.BuildAgentControllerImpl$1.call(BuildAgentControllerImpl.java:130)
        at com.atlassian.bamboo.variable.CustomVariableContextImpl.withVariableSubstitutor(CustomVariableContextImpl.java:221)
        at com.atlassian.bamboo.v2.build.agent.BuildAgentControllerImpl.waitAndPerformBuild(BuildAgentControllerImpl.java:129)
        at com.atlassian.bamboo.v2.build.agent.DefaultBuildAgent$1.run(DefaultBuildAgent.java:137)
        at com.atlassian.bamboo.utils.BambooRunnables$1.run(BambooRunnables.java:51)
        at com.atlassian.bamboo.security.ImpersonationHelper.runWith(ImpersonationHelper.java:31)
        at com.atlassian.bamboo.security.ImpersonationHelper.runWithSystemAuthority(ImpersonationHelper.java:20)
        at com.atlassian.bamboo.security.ImpersonationHelper$1.run(ImpersonationHelper.java:52)
        at java.lang.Thread.run(Unknown Source)
    Caused by: com.atlassian.bamboo.repository.RepositoryException: java.lang.UnsupportedOperationException: Plugin com.atlassian.bamboo.plugin.system.repository:svnv2 cannot be used through legacy API call
        at com.stellarity.bamboo.repository.TfsRepository.retrieveSourceCode(TfsRepository.java:480)
        at com.atlassian.bamboo.vcs.configuration.legacy.LegacyWorkingCopyManager.retrieveSourceCode(LegacyWorkingCopyManager.java:139)
        at com.atlassian.bamboo.plugins.vcs.task.VcsCheckoutTask.fillWorkingDirFromVcs(VcsCheckoutTask.java:228)
        at com.atlassian.bamboo.plugins.vcs.task.VcsCheckoutTask.access$000(VcsCheckoutTask.java:53)
        at com.atlassian.bamboo.plugins.vcs.task.VcsCheckoutTask$1.call(VcsCheckoutTask.java:132)
        at com.atlassian.bamboo.plugins.vcs.task.VcsCheckoutTask$1.call(VcsCheckoutTask.java:128)
        at com.atlassian.bamboo.executor.RetryingTaskExecutor.rerun(RetryingTaskExecutor.java:108)
        ... 20 more
    Caused by: java.lang.UnsupportedOperationException: Plugin com.atlassian.bamboo.plugin.system.repository:svnv2 cannot be used through legacy API call
        at com.atlassian.bamboo.vcs.configuration.LegacyRepositoryDataSupplier.get(LegacyRepositoryDataSupplier.java:56)
        at com.atlassian.bamboo.vcs.configuration.LegacyRepositoryDataSupplier.get(LegacyRepositoryDataSupplier.java:16)
        at io.atlassian.fugue.Suppliers$MemoizingSupplier.get(Suppliers.java:161)
        at com.atlassian.bamboo.vcs.configuration.VcsRepositoryDataImpl.asLegacyData(VcsRepositoryDataImpl.java:176)
        at com.atlassian.bamboo.repository.RepositoryDataImpl.getRepository(RepositoryDataImpl.java:47)
        at com.stellarity.bamboo.repository.TfsRepository.getRepositoryId(TfsRepository.java:665)
        at com.stellarity.bamboo.repository.TfsRepository.getWorkspaceName(TfsRepository.java:642)
        at com.stellarity.bamboo.repository.TfsRepository.getWorkspace(TfsRepository.java:680)
        at com.stellarity.bamboo.repository.TfsRepository.tryToRetrieveSourceCode(TfsRepository.java:865)
        at com.stellarity.bamboo.repository.TfsRepository.retrieveSourceCode(TfsRepository.java:458)
        ... 26 more
    
  3. Sergey Podobry

    Unfortunately we couldn't reproduce the issue. Try recreating those repositories (SVN and TFS). Meanwhile we are moving to the new API introduced in Bamboo 5.14, so there will be no compatibility layer and I hope the issue will be gone.

  4. Per-Olof Ryeng

    Hi I have created a new instance of Bamboo (5.14.1) done an export and import of production data to new instance Installed TFS Plugin 1.1.17 Created a very simple build plan (only checkout code from Tfs) and I get this error i bamboo log FB ProdTest 9 : BrokenBuildPostProcessor: com.atlassian.bamboo.brokenbuildtracker.BrokenBuildPostProcessor com.atlassian.activeobjects.internal.ActiveObjectsInitException: bundle [com.atlassian.bamboo.plugins.brokenbuildtracker.atlassian-bamboo-plugin-brokenbuildtracker] at com.atlassian.activeobjects.osgi.TenantAwareActiveObjects$1$1$1.call(TenantAwareActiveObjects.java:95) 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) Caused by: com.atlassian.activeobjects.internal.ActiveObjectsSqlException: There was a SQL exception thrown by the Active Objects library: Database: - name:Microsoft SQL Server - version:11.00.6020 - minor version:0 - major version:11 Driver: - name:jTDS Type 4 JDBC Driver for MS SQL Server and Sybase - version:1.3.1

    java.sql.SQLException: 'pk_AO_7A45FB_AOTRACKING_ENTRY_TRACKING_ID' is not a constraint. at com.atlassian.activeobjects.internal.EntityManagedActiveObjects.migrate(EntityManagedActiveObjects.java:47) at com.atlassian.activeobjects.internal.AbstractActiveObjectsFactory$1.doInTransaction(AbstractActiveObjectsFactory.java:77) at com.atlassian.activeobjects.internal.AbstractActiveObjectsFactory$1.doInTransaction(AbstractActiveObjectsFactory.java:72) at com.atlassian.sal.core.transaction.HostContextTransactionTemplate$1.doInTransaction(HostContextTransactionTemplate.java:21) at com.atlassian.sal.spring.component.SpringHostContextAccessor$1.doInTransaction(SpringHostContextAccessor.java:71) at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:133) at com.atlassian.sal.spring.component.SpringHostContextAccessor.doInTransaction(SpringHostContextAccessor.java:68) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26) at com.sun.proxy.$Proxy282.doInTransaction(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302) 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.$Proxy486.doInTransaction(Unknown Source) at com.atlassian.sal.core.transaction.HostContextTransactionTemplate.execute(HostContextTransactionTemplate.java:18) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302) 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.$Proxy658.execute(Unknown Source) at com.atlassian.activeobjects.internal.AbstractActiveObjectsFactory.create(AbstractActiveObjectsFactory.java:72) at com.atlassian.activeobjects.internal.DelegatingActiveObjectsFactory.create(DelegatingActiveObjectsFactory.java:32) at com.atlassian.activeobjects.osgi.TenantAwareActiveObjects$1$1$1.call(TenantAwareActiveObjects.java:91) ... 6 more Caused by: java.sql.SQLException: 'pk_AO_7A45FB_AOTRACKING_ENTRY_TRACKING_ID' is not a constraint. 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 com.mchange.v2.c3p0.impl.NewProxyStatement.executeUpdate(NewProxyStatement.java:410) at net.java.ao.DatabaseProvider.executeUpdate(DatabaseProvider.java:2218) at net.java.ao.DatabaseProvider.executeUpdateForAction(DatabaseProvider.java:2274) at net.java.ao.DatabaseProvider.executeUpdatesForActions(DatabaseProvider.java:2246) at net.java.ao.schema.SchemaGenerator.migrate(SchemaGenerator.java:91) at net.java.ao.EntityManager.migrate(EntityManager.java:128) at com.atlassian.activeobjects.internal.EntityManagedActiveObjects.migrate(EntityManagedActiveObjects.java:45) ... 64 more

  5. Sergey Podobry

    Hi Per-Olof Ryeng,

    There is no TFS Repository in the exception stacktrace. I see only SQL errors: java.sql.SQLException: 'pk_AO_7A45FB_AOTRACKING_ENTRY_TRACKING_ID' is not a constraint. They definetely are not related to the TFS Repository.

    I found a similar issue but for JIRA: https://confluence.atlassian.com/jirakb/java-sql-sqlexception-pk_ao_60db71_sprintmarker_id-is-not-a-constraint-when-reindexing-jira-387941382.html

    I think it's better to contact Atlassian support team.

    By the way, could you check whether the error exists for another repositoris (SVN or GIT)?

  6. Log in to comment