JavaBlog.fr / Java.lu DEVELOPMENT,Documentum,DQL DCTM,TOOLS DCTM Documentum : Unexplained DM_API_E_EXIST Error, client_pcaching_change

Documentum : Unexplained DM_API_E_EXIST Error, client_pcaching_change

Hello,

I would like to explain information concerning an error with the message DM_API_E_EXIST with stacktraces below. The system could not retrieve the objects while they were present in the docbase, suggesting a problem of corruption or consistency.

First, in Documentum, there are several levels of cache : Object type caching (cache of object type definitions), Repository session caches (existing only for the life of the repository session), Persistent caching…etc.
See Caching chapter in “Documentum Content Server Fundamentals” documentation :
http://www.jouvinio.net/wiki/images/c/c2/Documentum_Content_Server_6.7_Fundamentals.pdf or this other resource : http://pingfang.iteye.com/blog/869589

Secondly, after some research on the net, it seems that the concern comes from the persistent cache at the DFC level. The first test was to change the value of the I_VSTAMP field on the DM_SYSOBJECT_S table for one of the documents concerned by the problem. After incrementing the value of 1, the problem in client application no longer appeared for the document. Obviously this change forces DFC to flush the persistent cache for this object.
Obviously, a change on this property forces DFC to flush out all persistent caches of any kind, and this for any new open sessions from the change.

More, there is client_pcaching_change property which controls whether the persistent caches, including the object caches and all query caches, are flushed when a client session is started. When a client session is started, the DFC checks the cached value of the client_pcaching_change property against the repository value. If the values are different, the DFC flushes all the persistent caches, including the object caches and all query caches.The client_pcaching_change value must be changed in the docbase config object manually, by a Superuser.

[9/10/17 16:48:45:004 CEST] 00000488 SystemOut     O 1600024485 [WebContainer : 22] ERROR com.emc.documentum.fs.services.core.ObjectServiceWebService  - Operation output generation failed: could not retrieve data for identity: 090xxxxxxxxxxxx04. [DM_SYSOBJECT_E_NO_BROWSE_ACCESS]error:  "No browse access for sysobject with ID '090xxxxxxxxxxxx04'."
com.emc.documentum.fs.services.core.CoreServiceException: Operation output generation failed: could not retrieve data for identity: 090xxxxxxxxxxxx04. [DM_SYSOBJECT_E_NO_BROWSE_ACCESS]error:  "No browse access for sysobject with ID '090xxxxxxxxxxxx04'."
	at com.emc.documentum.fs.services.core.impl.execution.proto.transformation.CoreServiceExceptionContext.execute(CoreServiceExceptionContext.java:31)
	at com.emc.documentum.fs.services.core.impl.execution.proto.payload.FailOnExceptionPayloadPolicy.execute(FailOnExceptionPayloadPolicy.java:28)
	at com.emc.documentum.fs.services.core.impl.execution.proto.payload.PayloadPolicy.execute(PayloadPolicy.java:33)
	at com.emc.documentum.fs.services.core.impl.execution.proto.payload.PayloadPolicy.execute(PayloadPolicy.java:1)
	at com.emc.documentum.fs.services.core.impl.execution.proto.transformation.ObjectIdentitySetToDataPackagePayloadAdapter.execute(ObjectIdentitySetToDataPackagePayloadAdapter.java:29)
	at com.emc.documentum.fs.services.core.impl.ObjectService.get(ObjectService.java:397)
	at sun.reflect.GeneratedMethodAccessor95.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
	at java.lang.reflect.Method.invoke(Method.java:611)
	at com.emc.documentum.fs.rt.context.impl.ReflectionServiceInvoker.invoke(ReflectionServiceInvoker.java:40)
	at com.emc.documentum.fs.rt.impl.tx.TxInvocationHandler.invoke(TxInvocationHandler.java:29)
	at com.emc.documentum.fs.rt.context.impl.SoapServiceInvocationHandler.invoke(SoapServiceInvocationHandler.java:50)
	at com.emc.documentum.fs.rt.context.impl.ContextCacheCleanupHandler.invoke(ContextCacheCleanupHandler.java:28)
	at com.emc.documentum.fs.rt.context.impl.ServiceContextCleanupHandler.invoke(ServiceContextCleanupHandler.java:31)
	at com.emc.documentum.fs.rt.context.impl.HandlerChainExceptionInvocationHandler.invoke(HandlerChainExceptionInvocationHandler.java:35)
	at com.emc.documentum.fs.rt.context.impl.UcfServiceInvocationHandler.invoke(UcfServiceInvocationHandler.java:53)
	at com.emc.documentum.fs.rt.context.impl.OperationOptionsHandler.invoke(OperationOptionsHandler.java:72)
	at com.emc.documentum.fs.rt.context.impl.FileRegistryCleanupHandler.invoke(FileRegistryCleanupHandler.java:25)
	at com.sun.proxy.$Proxy112.get(Unknown Source)
	at com.emc.documentum.fs.services.core.ObjectServiceWebService.get(ObjectServiceWebService.java:262)
	at sun.reflect.GeneratedMethodAccessor91.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
	at java.lang.reflect.Method.invoke(Method.java:611)
	at com.sun.xml.ws.api.server.InstanceResolver$1.invoke(InstanceResolver.java:246)
	at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:146)
	at com.sun.xml.ws.server.sei.EndpointMethodHandler.invoke(EndpointMethodHandler.java:257)
	at com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:93)
	at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:598)
	at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:557)
	at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:542)
	at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:439)
	at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:243)
	at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:471)
	at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:244)
	at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:135)
	at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doGet(WSServletDelegate.java:129)
	at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doPost(WSServletDelegate.java:160)
	at com.sun.xml.ws.transport.http.servlet.WSServlet.doPost(WSServlet.java:75)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
	at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1233)
	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:782)
	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:481)
	at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
	at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1114)
	at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:87)
	at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:949)
	at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1817)
	at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:200)
	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:463)
	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:530)
	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:316)
	at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:88)
	at com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1833)
	at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175)
	at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
	at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
	at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
	at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
	at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
	at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1892)
Caused by: 
com.emc.documentum.fs.services.core.impl.execution.proto.dfc.DfcOperationException: Failed to retrieve relations from docbrocker. [DM_SYSOBJECT_E_NO_BROWSE_ACCESS]error:  "No browse access for sysobject with ID '090xxxxxxxxxxxx04'."
	at com.emc.documentum.fs.services.core.impl.execution.proto.dfc.DeepGetAction.execute(DeepGetAction.java:135)
	at com.emc.documentum.fs.services.core.impl.execution.proto.dfc.DeepGetAction.execute(DeepGetAction.java:1)
	at com.emc.documentum.fs.services.core.impl.execution.proto.transformation.DataObjectToObjectIdentityAdapter.execute(DataObjectToObjectIdentityAdapter.java:22)
	at com.emc.documentum.fs.services.core.impl.execution.proto.transformation.DataObjectToObjectIdentityAdapter.execute(DataObjectToObjectIdentityAdapter.java:1)
	at com.emc.documentum.fs.services.core.impl.execution.proto.transformation.CoreServiceExceptionContext.execute(CoreServiceExceptionContext.java:27)
	... 61 more
Caused by: 
com.emc.documentum.fs.services.core.impl.execution.proto.dfc.DfcOperationException: E_CANNOT_LOAD_PROPERTIES. [DM_SYSOBJECT_E_NO_BROWSE_ACCESS]error:  "No browse access for sysobject with ID '090xxxxxxxxxxxx04'."
	at com.emc.documentum.fs.services.core.impl.execution.proto.dfc.PropertiesLoader.process(PropertiesLoader.java:64)
	at com.emc.documentum.fs.services.core.impl.execution.proto.dfc.PropertiesLoader.execute(PropertiesLoader.java:40)
	at com.emc.documentum.fs.services.core.impl.execution.proto.dfc.PropertiesLoader.execute(PropertiesLoader.java:1)
	at com.emc.documentum.fs.services.core.impl.execution.proto.dfc.PermissionsLoader.execute(PermissionsLoader.java:38)
	at com.emc.documentum.fs.services.core.impl.execution.proto.dfc.PermissionsLoader.execute(PermissionsLoader.java:1)
	at com.emc.documentum.fs.services.core.impl.execution.proto.dfc.DeepGetAction.walk(DeepGetAction.java:223)
	at com.emc.documentum.fs.services.core.impl.execution.proto.dfc.DeepGetAction.execute(DeepGetAction.java:119)
	... 65 more
Caused by: 
com.emc.documentum.fs.services.core.impl.execution.proto.dfc.DfcOperationException: Getting persistent object failed. Repository: "MY_DOCBASE_PROD". [DM_SYSOBJECT_E_NO_BROWSE_ACCESS]error:  "No browse access for sysobject with ID '090xxxxxxxxxxxx04'."
	at com.emc.documentum.fs.services.core.impl.execution.proto.util.GetIdUtil.getPersistentObject(GetIdUtil.java:154)
	at com.emc.documentum.fs.services.core.impl.execution.proto.dfc.PropertiesLoader.process(PropertiesLoader.java:55)
	... 71 more
Caused by: 
DfIdNotFoundException:: THREAD: WebContainer : 22; MSG: [DM_API_E_EXIST]error:  "Document/object specified by 090xxxxxxxxxxxx04 does not exist."; ERRORCODE: 100; NEXT: null
	at com.documentum.fc.client.impl.objectmanager.PersistentDataManager.fetchFromServer(PersistentDataManager.java:214)
	at com.documentum.fc.client.impl.objectmanager.PersistentDataManager.getData(PersistentDataManager.java:92)
	at com.documentum.fc.client.impl.objectmanager.PersistentObjectManager.getObjectFromServer(PersistentObjectManager.java:355)
	at com.documentum.fc.client.impl.objectmanager.PersistentObjectManager.getObject(PersistentObjectManager.java:311)
	at com.documentum.fc.client.impl.session.Session.getObject(Session.java:906)
	at com.documentum.fc.client.impl.session.SessionHandle.getObject(SessionHandle.java:637)
	at com.emc.documentum.fs.services.core.impl.execution.proto.util.GetIdUtil.getPersistentObject(GetIdUtil.java:150)
	... 72 more
Caused by: 
DfException:: THREAD: WebContainer : 22; MSG: [DM_SYSOBJECT_E_NO_BROWSE_ACCESS]error:  "No browse access for sysobject with ID '090xxxxxxxxxxxx04'."; ERRORCODE: 100; NEXT: null
	at com.documentum.fc.client.impl.docbase.DocbaseExceptionMapper.newException(DocbaseExceptionMapper.java:57)
	at com.documentum.fc.client.impl.connection.docbase.MessageEntry.getException(MessageEntry.java:39)
	at com.documentum.fc.client.impl.connection.docbase.DocbaseMessageManager.getException(DocbaseMessageManager.java:137)
	at com.documentum.fc.client.impl.connection.docbase.netwise.NetwiseDocbaseRpcClient.checkForMessages(NetwiseDocbaseRpcClient.java:310)
	at com.documentum.fc.client.impl.connection.docbase.netwise.NetwiseDocbaseRpcClient.applyForObject(NetwiseDocbaseRpcClient.java:653)
	at com.documentum.fc.client.impl.connection.docbase.DocbaseConnection$8.evaluate(DocbaseConnection.java:1326)
	at com.documentum.fc.client.impl.connection.docbase.DocbaseConnection.evaluateRpc(DocbaseConnection.java:1085)
	at com.documentum.fc.client.impl.connection.docbase.DocbaseConnection.applyForObject(DocbaseConnection.java:1318)
	at com.documentum.fc.client.impl.docbase.DocbaseApi.parameterizedFetch(DocbaseApi.java:108)
	at com.documentum.fc.client.impl.objectmanager.PersistentDataManager.fetchFromServer(PersistentDataManager.java:201)
	... 78 more
#################
select  client_pcaching_change FROM dm_docbase_config;
12

Best regards,

Leave a Reply

Your email address will not be published.

Time limit is exhausted. Please reload CAPTCHA.

Related Post