Jazz Forum Welcome to the Jazz Community Forum Connect and collaborate with IBM Engineering experts and users

Error when requesting build - RTC 2.0.0.2

Hi guys,

A customer had some problems when requesting a build. I found this error message on the logs with a specific attribute:

" Value of attribute "targetRef.comment" is 257 bytes, which is greater than the allowed encoded length of 250 bytes.
at com.ibm.team.repository.service.internal.RdbRepositoryDataMediator.failIfNecessary"

I think this points me to reducing the size of this attribute but I cannot find this field within RTC. Does anyone know where is this field located?

Thanks!

0 votes



6 answers

Permanent link
I haven't seen that exact 'targetRef.comment' trace before, but this sounds like defect 96044: Build definition with long description should be an error when saving the build, not when running the build, which is fixed in 3.0. Try checking the length of the description in the build definition, and, if it's long, shorten it to under 250 chars (ASCII, possibly less if using other chars).

We plan to backport the fix to 2.0.0.2 iFix 6. This is being tracked in 137846: Backport 96044 to 2.0.0.x.

0 votes


Permanent link
If that was the problem, though, I'd expect the error message to mention "description" instead of "comment". If there's a stack trace, can you post it here?

0 votes


Permanent link
If that was the problem, though, I'd expect the error message to mention "description" instead of "comment". If there's a stack trace, can you post it here?


Value of attribute "targetRef.comment" is 257 bytes, which is greater than the allowed encoded length of 250 bytes.
at com.ibm.team.links.service.internal.LinkService.handlePropertyConstraintException(LinkService.java:226)
at com.ibm.team.links.service.internal.LinkService.doSaveAuditableLink(LinkService.java:135)
at com.ibm.team.links.service.internal.LinkService.access$1(LinkService.java:131)
at com.ibm.team.links.service.internal.LinkService$2.run(LinkService.java:172)
at com.ibm.team.repository.service.internal.TransactionService$1.run(TransactionService.java:104)
at com.ibm.team.repository.service.internal.rdb.RepositoryDatabase$Transaction.run(RepositoryDatabase.java:466)
at com.ibm.team.repository.service.internal.rdb.RepositoryDatabase$1.run(RepositoryDatabase.java:292)
at com.ibm.team.repository.service.internal.rdb.ConnectionPoolService.withCurrentConnection(ConnectionPoolService.java:331)
at sun.reflect.GeneratedMethodAccessor61.invoke(null)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:618)
at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:370)
at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:356)
at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)
at $Proxy21.withCurrentConnection(null)
at com.ibm.team.repository.service.internal.rdb.RepositoryDatabase.runTransaction(RepositoryDatabase.java:288)
at com.ibm.team.repository.service.internal.rdb.RepositoryDatabase.runInTransaction(RepositoryDatabase.java:244)
at com.ibm.team.repository.service.internal.TransactionService.runInTransaction(TransactionService.java:79)
at com.ibm.team.repository.service.internal.TransactionService.runInTransaction(TransactionService.java:68)
at sun.reflect.GeneratedMethodAccessor134.invoke(null)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:618)
at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:370)
at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:356)
at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)
at $Proxy44.runInTransaction(null)
at com.ibm.team.repository.service.AbstractService.runInTransaction(AbstractService.java:772)
at com.ibm.team.links.service.internal.LinkService.saveAuditableLinks(LinkService.java:169)
at com.ibm.team.links.service.internal.RemoteLinkService.saveAuditableLinks(RemoteLinkService.java:98)
at sun.reflect.GeneratedMethodAccessor368.invoke(null)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:618)
at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:370)
at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:356)
at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)
at $Proxy76.saveAuditableLinks(null)
at sun.reflect.GeneratedMethodAccessor368.invoke(null)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:618)
at com.ibm.team.repository.servlet.AbstractTeamServerServlet.handleMethod(AbstractTeamServerServlet.java:1170)
at com.ibm.team.repository.servlet.AbstractTeamServerServlet.executeMethod(AbstractTeamServerServlet.java:926)
at com.ibm.team.repository.servlet.AbstractTeamServerServlet.doPost(AbstractTeamServerServlet.java:728)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at com.ibm.team.repository.servlet.AbstractTeamServerServlet.handleRequest2(AbstractTeamServerServlet.java:1754)
at com.ibm.team.repository.servlet.AbstractTeamServerServlet.handleRequest(AbstractTeamServerServlet.java:1623)
at com.ibm.team.repository.servlet.AbstractTeamServerServlet.service(AbstractTeamServerServlet.java:1536)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:180)
at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.eclipse.equinox.servletbridge.BridgeServlet.service(BridgeServlet.java:121)
at com.ibm.team.repository.server.servletbridge.JazzServlet.service(JazzServlet.java:54)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
at java.lang.Thread.run(Thread.java:811)
at com.ibm.team.repository.common.internal.marshal.util.MarshallerUtil.decodeExceptions(MarshallerUtil.java:326)
at com.ibm.team.repository.common.internal.marshal.util.MarshallerUtil.decodeExceptions(MarshallerUtil.java:296)
at com.ibm.team.repository.common.internal.marshal.util.MarshallerUtil.decodeFault(MarshallerUtil.java:261)
at com.ibm.team.repository.transport.client.RemoteTeamService.constructExceptionFromFault(RemoteTeamService.java:613)
at com.ibm.team.repository.transport.client.RemoteTeamService.executeMethod(RemoteTeamService.java:483)
at com.ibm.team.repository.transport.client.RemoteTeamService.invoke(RemoteTeamService.java:201)
at com.ibm.team.repository.transport.client.ServiceInvocationHandler.invoke(ServiceInvocationHandler.java:43)
at $Proxy22.saveAuditableLinks(Unknown Source)
at sun.reflect.GeneratedMethodAccessor62.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.ibm.team.repository.client.internal.ServiceInterfaceProxy.invokeServiceCall(ServiceInterfaceProxy.java:149)
at com.ibm.team.repository.client.internal.ServiceInterfaceProxy.invoke(ServiceInterfaceProxy.java:84)
at $Proxy22.saveAuditableLinks(Unknown Source)
at com.ibm.team.links.common.internal.AuditableLinkUtils.saveLinks(AuditableLinkUtils.java:77)
at com.ibm.team.links.client.internal.AuditableLinkManager$2.run(AuditableLinkManager.java:110)
at com.ibm.team.repository.client.internal.TeamRepository$3.run(TeamRepository.java:1169)
at com.ibm.team.repository.common.transport.CancelableCaller.call(CancelableCaller.java:79)
at com.ibm.team.repository.client.internal.TeamRepository.callCancelableService(TeamRepository.java:1162)
at com.ibm.team.links.client.internal.AuditableLinkManager.callCancelableService(AuditableLinkManager.java:593)
at com.ibm.team.links.client.internal.AuditableLinkManager.saveLinks(AuditableLinkManager.java:100)
at com.ibm.team.build.internal.publishing.WorkItemPublisher.tagWorkItems(WorkItemPublisher.java:221)
at com.ibm.team.build.internal.publishing.WorkItemPublisher.publish(WorkItemPublisher.java:145)
at com.ibm.team.build.internal.publishing.WorkItemPublisher.publish(WorkItemPublisher.java:121)
at com.ibm.team.build.internal.engine.JazzScmPreBuildParticipant.performAccept(JazzScmPreBuildParticipant.java:330)
at com.ibm.team.build.internal.engine.JazzScmPreBuildParticipant.preBuild(JazzScmPreBuildParticipant.java:150)
at com.ibm.team.build.internal.engine.BuildLoop.invokePreBuildParticipants(BuildLoop.java:628)
at com.ibm.team.build.internal.engine.BuildLoop$2.run(BuildLoop.java:466)
at java.lang.Thread.run(Thread.java:619)
Caused by: com.ibm.team.repository.common.validation.PropertyConstraintException: Validation errors for item: type = AuditableLink, itemId =

0 votes


Permanent link
I assume you're using RTC 2.x.

The stack trace shows that this problem is not the one I thought it was, though similar. It's failing while trying to publish the work item links because the comment for one of the links is too long, probably the work item end of the link where the comment is the work item summary (the build definition id and label are used for the other end). Although the WorkItemPublisher task attempts to truncate the comment if needed, it's clearly failing.

There was a fix in 3.0 to this general truncation code along with the fix for the build description bug mentioned above, so it's possible you're hitting this case. I believe it would only happen if the work item comment had non-ASCII characters. Is that the case for you?

0 votes


Permanent link
Hi and Thanks!

Customer said they found a work item with a big description and they think that could be the cause then to the faliure.
She also asked if there is a way to customize the size of the fields within RTC. Is there a way to limit the number of characters that can be inserted in a field?

Thanks!

0 votes


Permanent link
No, there's no way of limiting the size of fields like the summary of a work item, other than its built-in database field size limit. At least not through simple configuration. One could implement a Process operation participant to do extra validation on save of work items, for example.

For the work item in question, does its summary contain non-ASCII characters? My understanding of the problem is that it could only happen if the string length is <= 247 but with byte length > 250 (in UTF-8 encoding). Since ASCII only takes one byte in UTF-8, this would only be possible if there were non-ASCII characters.
If that's not the case, could you send me the string in question by email?

0 votes

Your answer

Register or log in to post your answer.

Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.

Search context
Follow this question

By Email: 

Once you sign in you will be able to subscribe for any updates here.

By RSS:

Answers
Answers and Comments
Question details

Question asked: Nov 05 '10, 2:32 p.m.

Question was seen: 6,285 times

Last updated: Nov 05 '10, 2:32 p.m.

Confirmation Cancel Confirm