It's all about the answers!

Ask a question

Error when requesting build - RTC 2.0.0.2


Ricardo Dias (86105) | asked Nov 05 '10, 2:32 p.m.
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!

6 answers



permanent link
Nick Edgar (6.5k711) | answered Nov 05 '10, 10:08 p.m.
JAZZ DEVELOPER
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.

permanent link
Nick Edgar (6.5k711) | answered Nov 05 '10, 10:11 p.m.
JAZZ DEVELOPER
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?

permanent link
Ricardo Dias (86105) | answered Nov 08 '10, 7:28 a.m.
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 =

permanent link
Nick Edgar (6.5k711) | answered Nov 08 '10, 9:07 a.m.
JAZZ DEVELOPER
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?

permanent link
Ricardo Dias (86105) | answered Nov 10 '10, 10:02 a.m.
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!

permanent link
Nick Edgar (6.5k711) | answered Nov 10 '10, 11:41 a.m.
JAZZ DEVELOPER
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?

Your answer


Register or 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.