Problem with Show History for comparing changesets
Situation: We are using RTC shell client version 4.0.4. For one enduser we gave Authorised license and also required access to project area.
There is a need to check for history of a file and compare the changesets for differences
Problem: When the user uses the option show history he gets the following error message in a dialog box
Exception Type:
com.ibm.team.repository.TeamRepositoryException
Exception Message:
Fetched handles include handle that user does not have permission to read
Status code:
403
Remote exception type:
com.ibm.team.repository.common.PermissionDeniedException
The problem is only with this enduser. Can any one help us to sort it out.
2 answers
satish chandra,
A few things:
1. What license, specifically, do you have assigned to this user? I know that when users don't have a Developer license token, for example, they can't see the SCM portions of the system.
2. Does the user have to be added to any Team Area of the project? Who/what owns the component that contains the file he/she is trying to view, and does the user have scope to that component?
You may want to have the user login to the web-side with their credentials and try to browse around inside of the component and view the file's history that way, you may get better insight into where the permissions are getting tied up.
A few things:
1. What license, specifically, do you have assigned to this user? I know that when users don't have a Developer license token, for example, they can't see the SCM portions of the system.
2. Does the user have to be added to any Team Area of the project? Who/what owns the component that contains the file he/she is trying to view, and does the user have scope to that component?
You may want to have the user login to the web-side with their credentials and try to browse around inside of the component and view the file's history that way, you may get better insight into where the permissions are getting tied up.
Winston,
Thanks for providing the information
The licenses and access to project area are correct. The component scope is the project area itself.
For few users we get the problem and few not. See below log trace
Thanks for providing the information
The licenses and access to project area are correct. The component scope is the project area itself.
For few users we get the problem and few not. See below log trace
UiUtils: Show History: Fetched handles include handle that user does not have permission to read, com.ibm.team.repository.TeamRepositoryException: Fetched handles include handle that user does not have permission to read
at com.ibm.team.foundation.service.WebRequestInvocationProxy.Invoke(IMessage myIMessage) in c:\RTC_BUILDS\I4.0.4_20130801-0700\Foundation\ServiceInterfaceProxy\WebRequestInvocationProxy.cs:line 114
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at com.ibm.team.scm.common.rest.IScmRichClientRestService.getChangeSets(ParmsGetChangeSets parms, IProgressMonitor monitor)
at com.ibm.team.scm.client.ScmClient.GetChangeSets(ITeamRepository repository, String[] changeSetIds, IProgressMonitor monitor) in c:\RTC_BUILDS\I4.0.4_20130801-0700\SCM\ScmClient\ScmClient.cs:line 1647
at com.ibm.team.scm.ui.historyview.view.inputs.ChangeSetsFromFile.ComputeResult(Wrapper wrapper, ITeamRepository repository, ComponentWrapper& componentWrapper, String& description, Dictionary`2& userMap, IProgressMonitor monitor) in c:\RTC_BUILDS\I4.0.4_20130801-0700\SCM\ScmUIHistoryView\view\inputs\ChangeSetsFromFile.cs:line 54
at com.ibm.team.scm.ui.historyview.view.inputs.ChangeSetResultInput.ComputeHistoryEntries(IProgressMonitor monitor) in c:\RTC_BUILDS\I4.0.4_20130801-0700\SCM\ScmUIHistoryView\view\inputs\ChangeSetResultInput.cs:line 176
at com.ibm.team.scm.ui.historyview.view.HistoryViewListViewPage.WorkerRun(IHistoryInput arg, IProgressMonitor monitor) in c:\RTC_BUILDS\I4.0.4_20130801-0700\SCM\ScmUIHistoryView\view\HistoryViewListViewPage.xaml.cs:line 182
at com.ibm.team.foundation.core.operationrunner.internalimpl.BackgroundWorkerImpl`2.OnDoWork(DoWorkEventArgs args) in c:\RTC_BUILDS\I4.0.4_20130801-0700\Foundation\Core\operationrunner\internalimpl\BackgroundWorkerImpl.cs:line 180
Status code:
403
Remote exception type:
com.ibm.team.repository.common.PermissionDeniedException
Request URI:
https://rtc.colruyt.int/ccm/service/com.ibm.team.scm.common.rest.IScmRichClientRestService/ChangeSets?changeSetItemIds=_82iFYT7fEeSF2YVgiRU8TQ&excludeChanges=False&includeReasons=True&includeOslcLinks=True
Remote stack trace:
[
"com.ibm.team.repository.service.internal.RepositoryTransactionContext.fetchLatest(RepositoryTransactionContext.java:395)",
"com.ibm.team.scm.service.internal.ScmTransactionContext.doFetchLatest(ScmTransactionContext.java:3471)",
"com.ibm.team.scm.service.internal.ScmTransactionContext.fetchLatest(ScmTransactionContext.java:3440)",
"com.ibm.team.scm.service.internal.utils.FetchUtil.fetchAllLatest(FetchUtil.java:34)",
"com.ibm.team.scm.service.internal.utils.FetchUtil.fetchAllLatest(FetchUtil.java:23)",
"com.ibm.team.scm.service.internal.rest.rich.ScmRichClientRestService$8.addLinkInformation(ScmRichClientRestService.java:1035)",
"com.ibm.team.scm.service.internal.rest.rich.ScmRichClientRestService$8.run(ScmRichClientRestService.java:984)",
"com.ibm.team.scm.service.internal.AbstractScmService$3.run(AbstractScmService.java:590)",
"com.ibm.team.repository.service.internal.rdb.RepositoryDatabase$Transaction.run(RepositoryDatabase.java:498)",
"com.ibm.team.repository.service.internal.rdb.RepositoryDatabase$1.run(RepositoryDatabase.java:322)",
"com.ibm.team.repository.service.internal.rdb.ConnectionPoolService.withCurrentConnection(ConnectionPoolService.java:439)",
"sun.reflect.GeneratedMethodAccessor74.invoke(Unknown Source)",
"sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)",
"java.lang.reflect.Method.invoke(Method.java:611)",
"org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361)",
"org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347)",
"org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)",
"$Proxy81.withCurrentConnection(Unknown Source)",
"com.ibm.team.repository.service.internal.rdb.RepositoryDatabase.runTransaction(RepositoryDatabase.java:318)",
"com.ibm.team.repository.service.internal.rdb.RepositoryDatabase.runInTransaction(RepositoryDatabase.java:273)",
"com.ibm.team.repository.service.internal.PrimitiveTransactionService.runInTransaction(PrimitiveTransactionService.java:96)",
"sun.reflect.GeneratedMethodAccessor84.invoke(Unknown Source)",
"sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)",
"java.lang.reflect.Method.invoke(Method.java:611)",
"org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361)",
"org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347)",
"org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)",
"$Proxy119.runInTransaction(Unknown Source)",
"com.ibm.team.repository.service.internal.TransactionService.runInTransaction(TransactionService.java)",
"sun.reflect.GeneratedMethodAccessor251.invoke(Unknown Source)",
"sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)",
"java.lang.reflect.Method.invoke(Method.java:611)",
"org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361)",
"org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347)",
"org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)",
"$Proxy200.runInTransaction(Unknown Source)",
"com.ibm.team.scm.service.internal.AbstractScmService.runInTransaction(AbstractScmService.java:345)",
"com.ibm.team.scm.service.internal.AbstractScmService.runInTransaction(AbstractScmService.java:581)",
"com.ibm.team.scm.service.internal.AbstractScmService.runInTransaction(AbstractScmService.java:558)",
"com.ibm.team.scm.service.internal.rest.rich.ScmRichClientRestService.getChangeSets(ScmRichClientRestService.java:963)",
"sun.reflect.GeneratedMethodAccessor1550.invoke(Unknown Source)",
"sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)",
"java.lang.reflect.Method.invoke(Method.java:611)",
"org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361)",
"org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347)",
"org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)",
"$Proxy1283.getChangeSets(Unknown Source)",
"sun.reflect.GeneratedMethodAccessor1549.invoke(Unknown Source)",
"sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)",
"java.lang.reflect.Method.invoke(Method.java:611)",
"com.ibm.team.repository.servlet.AbstractTeamServerServlet.doModelledRestService(AbstractTeamServerServlet.java:555)",
"com.ibm.team.repository.servlet.AbstractTeamServerServlet.handleRequest2(AbstractTeamServerServlet.java:2360)",
"com.ibm.team.repository.servlet.AbstractTeamServerServlet.handleRequest(AbstractTeamServerServlet.java:2160)",
"com.ibm.team.repository.servlet.AbstractTeamServerServlet.service(AbstractTeamServerServlet.java:1988)",
"javax.servlet.http.HttpServlet.service(HttpServlet.java:831)",
"org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:180)",
"org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)",
"org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:126)",
"org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:76)",
"javax.servlet.http.HttpServlet.service(HttpServlet.java:831)",
"org.eclipse.equinox.servletbridge.BridgeServlet.service(BridgeServlet.java:120)",
"com.ibm.team.repository.server.servletbridge.JazzServlet.service(JazzServlet.java:74)",
"javax.servlet.http.HttpServlet.service(HttpServlet.java:831)",
"com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1657)",
"com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1597)",
"com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:131)",
"com.ibm.team.repository.server.servletbridge.BridgeFilter.processDelegate(BridgeFilter.java:139)",
"com.ibm.team.repository.server.servletbridge.BridgeFilter.doFilter(BridgeFilter.java:172)",
"com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:188)",
"com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:116)",
"com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:77)",
"com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:908)",
"com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:934)",
"com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:502)",
"com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:179)",
"com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3935)",
"com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:276)",
"com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:931)",
"com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1592)",
"com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:186)",
"com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDi