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!
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
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.
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.
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 =
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?
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?
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!
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!
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?
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?