Error when running TeamCity Integration for certain projects

  • 1
  • 10

Hi there,

for some of our YouTrack/TeamCity projects, we receive error messages when running the TeamCity Integration job for those projects (either manually or by TeamCity/YouTrack itself):

Constrains validation exception. Causes: 1: Name shouldn't contain characters "<", "/", ">"
Synchronized at 14:00



This message can be seen in the "Status" column in YouTrack's "TeamCity Integration" page.
None of the projects nor the TeamCity build configurations use these characters in their names. But characters like "(",")" and "_" are used. But other build configurations/projects that do not produce these errors use the parentheses and underscores.

In the YouTrack error.log, the following exeption is thrown:

22 Jan 2013 13:00:04,279 ERROR [BuildConfMappingImpl] [QuartzJobProcessor0 ] [] TC integration. Exception while processing builds.
jetbrains.exodus.database.exceptions.ConstraintsValidationException: Constrains validation exception. Causes:
1: Name shouldn't contain characters "<", "/", ">"

 at com.jetbrains.teamsys.dnq.database.TransientSessionImpl.executeBeforeFlushTriggers(TransientSessionImpl.java:1124)
 at com.jetbrains.teamsys.dnq.database.TransientSessionImpl.executeBeforeFlushTriggers(TransientSessionImpl.java:1124)
 at com.jetbrains.teamsys.dnq.database.TransientSessionImpl.beforeFlush(TransientSessionImpl.java:1256)
 at com.jetbrains.teamsys.dnq.database.TransientSessionImpl.flush(TransientSessionImpl.java:1153)
 at com.jetbrains.teamsys.dnq.database.TransientSessionImpl.commit(TransientSessionImpl.java:787)
 at com.jetbrains.teamsys.dnq.database.TransientStoreUtil.commit(TransientStoreUtil.java:120)
 at jetbrains.teamsys.dnq.runtime.txn._Txn.evalNew(_Txn.java:757)
 at jetbrains.charisma.teamcity.persistence.TeamcityBuildConfMappingImpl.findOrCreateBuild(TeamcityBuildConfMappingImpl.java:400)
 at jetbrains.charisma.teamcity.persistence.TeamcityBuildConfMappingImpl.processResolvedIssues(TeamcityBuildConfMappingImpl.java:436)
 at jetbrains.charisma.teamcity.persistence.TeamcityBuildConfMappingImpl.access$200(TeamcityBuildConfMappingImpl.java:68)
 at jetbrains.charisma.teamcity.persistence.TeamcityBuildConfMappingImpl$2.visit(TeamcityBuildConfMappingImpl.java:246)
 at jetbrains.charisma.teamcity.persistence.TeamcityBuildConfMappingImpl$2.visit(TeamcityBuildConfMappingImpl.java:237)
 at jetbrains.mps.internal.collections.runtime.IVisitor.invoke(IVisitor.java:14)
 at jetbrains.mps.internal.collections.runtime.IterableUtils.visitAll(IterableUtils.java:17)
 at jetbrains.mps.internal.collections.runtime.Sequence.visitAll(Sequence.java:85)
 at jetbrains.charisma.teamcity.persistence.TeamcityBuildConfMappingImpl.processBuilds(TeamcityBuildConfMappingImpl.java:237)
 at jetbrains.charisma.teamcity.persistence.TeamcityBuildConfMappingImpl.process(TeamcityBuildConfMappingImpl.java:154)
 at jetbrains.charisma.teamcity.persistence.TeamcityServerImpl$3.visit(TeamcityServerImpl.java:96)
 at jetbrains.charisma.teamcity.persistence.TeamcityServerImpl$3.visit(TeamcityServerImpl.java:93)
 at jetbrains.mps.internal.collections.runtime.IVisitor.invoke(IVisitor.java:14)
 at jetbrains.mps.internal.collections.runtime.IterableUtils.visitAll(IterableUtils.java:17)
 at jetbrains.mps.internal.collections.runtime.Sequence.visitAll(Sequence.java:85)
 at jetbrains.charisma.teamcity.persistence.TeamcityServerImpl.doProcess(TeamcityServerImpl.java:93)
 at jetbrains.charisma.teamcity.persistence.TeamcityServerImpl.process(TeamcityServerImpl.java:70)
 at jetbrains.charisma.teamcity.persistence.TeamcityIntegration_watchNewSuccessfulBuild_Then.run(TeamcityIntegration_watchNewSuccessfulBuild_Then.java:21)
 at jetbrains.mps.businessRules.runtime.impl.RuleJobImpl._execute(RuleJobImpl.java:69)
 at jetbrains.mps.businessRules.runtime.impl.RuleJobImpl.access$000(RuleJobImpl.java:14)
 at jetbrains.mps.businessRules.runtime.impl.RuleJobImpl$1.run(RuleJobImpl.java:47)
 at jetbrains.mps.businessRules.runtime.TransactionalExecutor$1.invoke(TransactionalExecutor.java:16)
 at jetbrains.teamsys.dnq.runtime.txn._Txn.runNew(_Txn.java:253)
 at jetbrains.mps.businessRules.runtime.TransactionalExecutor.execute(TransactionalExecutor.java:14)
 at webr.framework.controller.BeanContainerAwareExecutorWrapper.execute(BeanContainerAwareExecutorWrapper.java:24)
 at jetbrains.mps.businessRules.runtime.impl.RuleJobImpl.execute(RuleJobImpl.java:45)
 at sun.reflect.GeneratedMethodAccessor125.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
 at java.lang.reflect.Method.invoke(Unknown Source)
 at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:276)
 at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:260)
 at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:86)
 at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
 at jetbrains.exodus.core.execution.RunnableJob.execute(RunnableJob.java:26)
 at jetbrains.exodus.core.execution.Job.run(Job.java:75)
 at jetbrains.exodus.core.execution.ThreadJobProcessor.executeJob(ThreadJobProcessor.java:116)
 at jetbrains.exodus.core.execution.JobProcessorQueueAdapter.executeOrdinaryJob(JobProcessorQueueAdapter.java:168)
 at jetbrains.exodus.core.execution.JobProcessorQueueAdapter.doJobs(JobProcessorQueueAdapter.java:96)
 at jetbrains.exodus.core.execution.ThreadJobProcessor.run(ThreadJobProcessor.java:94)
 at jetbrains.exodus.core.execution.ThreadJobProcessor$1.run(ThreadJobProcessor.java:28)
 at java.lang.Thread.run(Unknown Source)


Does anybody have an idea, how I can fix this problem? For other projects, the integration works fine.

Thanks a lot in advance,
(Bernie).
Hello Bernhard,
I've created the following bug based on your request: JT-19072.
As a workaround, I suggest that you eliminate symbols <, / and > in your build names (not in project or build configuration names). Since the bug is not yet investigated, it can also be the case that some other symbols will need to be eliminated.
In other words, as a workaround, I'd ask you to configure TeamCity so that only digits and letters are used for build names.

Regards,
Alexander