Why do I get DM_DOCBROKER_E_NO_SERVERS_FOR_DOCBASE

January 22, 2009 at 2:51 pm | Posted in Performance | 11 Comments
Tags: , ,

This question comes up so many times on the forums it’s time to add it to the blog. It probably helps to understand the role of the Documentum Docbroker (or Connection Broker isn’t it amusing how the marketing people insist on changing the names for these things but the old names live on in the code!).

Definitions

Most of this information is in the Content Server manuals but a few definitions:

Docbase/Repository. A collection of content files and metadata that is managed as a single entity. Usually consists of one or more files systems and a RDBMS. Can also include an XML Store (from D6.5) and other more esoteric options like Centera. Some people include the Full-text index as part of the docbase.

Content Server. A server-based process (or set of processes is you are on *nix) that provides an API for clients to access and control the underlying docbase. Each server will access exactly one docbase, but each docbase could have multiple servers possibly distributed to different machines and maybe other parts of the world.

Docbroker/Connection Broker. Each content server will be configured to project connection information (what IP address and port the server is on, which docbase it serves). When client applications want to connect to a server to access a docbase they first ask a docbroker for the connection details. If they receive connections details they then connect to the correct server. The details of this are all contained within the DMCL connect or DFC IDfSession. Note that clients are configured with which docbroker(s) to connect to not which servers to connect to.

Troubleshooting

In a simple out-of-the-box implementation you usually have 1 docbase, served by 1 content server projecting to 1 docbroker all on the same server, so I’ll continue this discussion on that basis although it is easily extensible to more complicated deployments.

If you get the above error message then you can conclude that the client application sucessfully connected to a docbroker and asked for the connection details for a docbase. The docbroker however did not know about any servers that served the docbase.

A couple of questions to ask yourself are as follows. First, is the content server for the docbase running? Use Task Manager or ps to check that there is a process running. Usually the process is called documentum.exe (or just documentum) but earlier versions of the windows software used dm_serverv4.exe. If you have a machine with multiple content servers possibly serving different docbases then you have a slight problem as you want to check if the content server for one particular docbase is running. In Unix this is easy as the full command line is available in ps, but in Windows it’s more difficult. Process Explorer, formerly from SysInternals but now owned by Microsoft, gives this information.

If you know the server is running then you need to find out why the docbroker doesn’t know about it. First of all check the server log especially the startup section – there is a DM_DOCBROKER_I_PROJECTING message that tells you which docbroker(s) the server is projecting to. Is it the docbroker your client is configured for?

It maybe that the server has tried to connect but has been unsuccessful e.g. due to firewall problems. There will be an error message in the log stating the problem. You then need to work out what configuration must be changed to allow the projection.

The content server is unnecessarily picky about which IP addresses it binds to and I have seen issues with docbroker and content server on a machine with multiple network adapters where the content server is binding to one adapter and the docbroker is binding to another. Even though they are on the same machine they are trying to communicate on different IP addresses.

By working your way through this troubleshooting process you should be able to resolve 9 out of 10 (or maybe 99 out of 100) examples of this problem

Advertisements

11 Comments »

RSS feed for comments on this post. TrackBack URI

  1. Robin,

    Thanks for this post – I am sure people dealing with multiple repositories/content servers will find it useful.

    I have a couple of comments.

    This is the first time I have seen the term “repository broker”. I have only seen “docbroker” or “connection broker”. Is it something coming up in a new version?

    In addition to the logs, it is helpful to look at server.ini and the server config objects for troubleshooting and fixing docbroker projection issues.

    Thanks,
    Pawan

  2. Pawan,

    I’ve obviously made up “repository broker” haven’t I :). I dash that post off without reference to the manuals – I’ve corrected the post. Still, I shall be calling it a docbroker for the rest of my life – beats me why marketing people have to change the name.

    You’re right looking in the server.ini and server config is very useful particularly as EMC has seen fit to put docbroker projection information in 2 different locations – that’s a recipe for confusion.

    Robin

  3. I changed ip addres (etc/hosts) but i still this smae error
    SessionManager failed to create new session:[DM_DOCBROKER_E_NO_SERVERS_FOR_DOCBASE]error: “The DocBroker running on host (demo-server:1489) does not know of a server for the specified docbase (MyRepo)”
    14:56:34,914 INFO [stdout] (MSC service thread 1-5) 2015-01-01 14:56:34,914 ERROR [MSC service thread 1-5] [com.documentum.mthdservlet.DigitalSignatureValidator] – SessionManager failed to create new session:[DM_DOCBROKER_E_NO_SERVERS_FOR_DOCBASE]error: “The DocBroker running on host (demo-server:1489) does not know of a server for the specified docbase (MyRepo)”
    14:56:34,922 INFO [stdout] (MSC service thread 1-6) 14:56:34,922 ERROR [MSC service thread 1-6] com.documentum.mthdservlet.DigitalSignatureValidator – Failed to create local session:[DM_DOCBROKER_E_NO_SERVERS_FOR_DOCBASE]error: “The DocBroker running on host (demo-server:1489) does not know of a server for the specified docbase (MyRepo)”
    14:56:34,933 INFO [stdout] (MSC service thread 1-6) 14:56:34,933 ERROR [MSC service thread 1-6] com.documentum.mthdservlet.DigitalSignatureValidator – Failed to get public key from docbase MyRepo
    14:56:34,940 INFO [stdout] (MSC service thread 1-5) 2015-01-01 14:56:34,935 ERROR [MSC service thread 1-5] [com.documentum.mthdservlet.DigitalSignatureValidator] – Failed to create local session:[DM_DOCBROKER_E_NO_SERVERS_FOR_DOCBASE]error: “The DocBroker running on host (demo-server:1489) does not know of a server for the specified docbase (MyRepo)”
    14:56:34,943 INFO [stdout] (MSC service thread 1-5) 2015-01-01 14:56:34,943 ERROR [MSC service thread 1-5] [com.documentum.mthdservlet.DigitalSignatureValidator] – Failed to get public key from docbase MyRepo
    14:56:34,954 INFO [org.jboss.web] (MSC service thread 1-5) JBAS018210: Registering web context: /bpm
    14:56:34,960 INFO [org.jboss.web] (MSC service thread 1-6) JBAS018210: Registering web context: /DmMethods
    14:56:36,351 INFO [stdout] (MSC service thread 1-3) DEPLOYMENT_ID = 7f902585-23af-4f91-a058-9f9c2df255d8
    14:56:36,770 INFO [javax.enterprise.resource.webservices.jaxws.servlet.http] (MSC service thread 1-3) WSSERVLET14: JAX-WS servlet initializing
    14:56:36,799 INFO [org.jboss.web] (MSC service thread 1-3) JBAS018210: Registering web context: /bocs-ws
    14:56:36,918 INFO [stdout] (FelixStartLevel) 2015-01-01 14:56:36,918 ERROR [FelixStartLevel] com.documentum.acs.configuration.ConfigurationService – Can not read ACS projections as docbase ‘MyRepo’ is down
    14:57:20,322 INFO [org.jboss.web] (MSC service thread 1-2) JBAS018210: Registering web context: /ACS
    14:57:20,330 INFO [org.jboss.as] (MSC service thread 1-8) JBAS015951: Admin console listening on http://0.0.0.0:9085
    14:57:20,332 INFO [org.jboss.as] (MSC service thread 1-8) JBAS015874: JBoss AS 7.1.1.Final “Brontes” started in 105333ms – Started 416 of 515 services (98 services are passive or on-demand)
    14:57:45,433 INFO [org.jboss.as.server] (DeploymentScanner-threads – 2) JBAS018559: Deployed “bpm.ear”
    14:57:45,435 INFO [org.jboss.as.server] (DeploymentScanner-threads – 2) JBAS018559: Deployed “ServerApps.ear”
    14:57:45,436 INFO [org.jboss.as.server] (DeploymentScanner-threads – 2) JBAS018559: Deployed “acs.ear”

    • Did you check the server log for MyRepo? Was it able to register with the docbroker?

      • EMC Documentum Content Server (version 7.1.0000.0146 Linux64.Postgres)
        (c) Copyright EMC Corp., 1991 – 2013
        All rights reserved.

        2015-01-02T02:05:42.730283 4264[4264] 0000000000000000 [DM_SERVER_I_START_SERVER]info: “Docbase MyRepo attempting to open”

        2015-01-02T02:05:42.730554 4264[4264] 0000000000000000 [DM_SERVER_I_START_KEY_STORAGE_MODE]info: “Docbase MyRepo is using database for cryptographic key storage”

        2015-01-02T02:05:42.730631 4264[4264] 0000000000000000 [DM_SERVER_I_START_SERVER]info: “Docbase MyRepo process identity: user(dmadmin)”

        2015-01-02T02:05:43.199359 4264[4264] 0000000000000000 [DM_SESSION_I_INIT_BEGIN]info: “Initialize Post Upgrade Processing.”

        2015-01-02T02:05:43.203349 4264[4264] 0000000000000000 [DM_SESSION_I_INIT_BEGIN]info: “Initialize Base Types.”

        2015-01-02T02:05:43.205249 4264[4264] 0000000000000000 [DM_SESSION_I_INIT_BEGIN]info: “Initialize dmRecovery.”

        Last SQL statement executed by DB was:

        #0 0x00000031cb40f26e in waitpid () from /lib64/libpthread.so.0
        #1 0x00000000009c999b in dmExceptionManager::WalkStack(dmException*, int, siginfo*, void*) ()
        #2 0x00000000009c9dd8 in dmExceptionHandlerProc ()
        #3
        #4 0x0000000000a1295e in dmAttrRecords::GetbyNameInternal(char const*, dmBool, std::_Rb_tree_const_iterator&) ()
        #5 0x0000000000a12aa4 in dmAttrRecords::GetbyName(char const*, dmBool) ()
        #6 0x0000000000a12c32 in dmType::GetAttrByName(char const*, dmBool, dmBool) ()
        #7 0x000000000061d469 in dmInitRecovery(dmSession*) ()
        #8 0x0000000000533e4a in dmCallInitProcs(dmSession*) ()
        #9 0x0000000000541598 in dmStartUpDatabase(dmServerGlobalContext*, int) ()
        #10 0x0000000000484425 in dmRPCInit(char const*, char const*, int, char const*, dmServiceFailoverList&, dmObject&) ()
        #11 0x00000000004878c0 in dmRPCMain(int, char const**, dmBool, dmBool) ()
        #12 0x000000000048901d in main ()
        Server exception handler: caught exception: Fri Jan 2 02:05:43 2015 Internal exception: Exception: 0 at (RPC Protected Failure)

      • You clearly have a problem with the content server startup. It never got as far as registering with the docbroker. It’s not clear from the server log what the issue is but it fails very early in the process. I would raise a case with EMC or post in the support forums

        Sent from my iPhone

        >

  4. http://wklej.to/Wm7Ab

    • The MyRepo content server has not started up so really nothing else is going to work properly (the content server is the centre of the Documentum world). A normal startup would have a couple of pages of log output involving many DM_SESSION_I_INIT_BEGIN messages. A the end of that you would see some log output about projecting to a docbroker. The server never gets that far.

      • So what is the reason of this strange problem.
        There is no mofe information about this exception.
        How to configure demo-server ?
        Can you tell me how look files (dfc.properteis etc/hosts server.ini docbroker.ini)
        I use default setting Vmware Machine witch installe Cent OS 6.5 and Documentum xCP, bu the problem is i think with Content server.

      • EMC Documentum Connection Broker (version 7.1.0000.0117 Linux64)
        (c) Copyright EMC Corp., 1994 – 2013
        2015-01-02T04:41:57.330240 [DM_DOCBROKER_I_START]info: “Docbroker has started. Process id: 2350”
        2015-01-02T04:41:57.356361 [DM_DOCBROKER_I_REGISTERED]info: “The Docbroker registered using service: (dmdocbroker) with port: (1489).”
        2015-01-02T04:41:57.357353 [DM_DOCBROKER_I_LISTENING]info: “The Docbroker is listening on network address: (Service Name: dmdocbroker, Host Name: demo-server)”
        2015-01-02T04:41:57.357396 [DM_DOCBROKER_I_REGISTERED]info: “The Docbroker registered using service: (dmdocbroker) with port: (1490).”
        2015-01-02T04:41:57.358464 [DM_DOCBROKER_I_LISTENING]info: “The Docbroker is listening on network address: (Service Name: dmdocbroker, Host Name: demo-server)”

        The port 1490 /?

  5. ———————————————————
    [dmadmin@demo-server ~]$ dmqdocbroker -t demo-server -i
    dmqdocbroker: A DocBroker Query Tool
    dmqdocbroker: Documentum Client Library Version: 7.1.0000.0098
    Targeting port 1489
    —- dmqdocbroker: (TARGET HOST: demo-server) —-
    p) Ping (test connectivity to) the docbroker
    d) Get a docbase map
    s) Get a server map
    n) Get next largest docbase id
    l) lookup a docbase id
    o) find all open servers for a docbase
    h) Set the host name for the docbroker
    e) exit
    Enter an option (i.e. letter)> p
    Successful reply from docbroker at host () on port(0) running software version ().
    —- dmqdocbroker: (TARGET HOST: demo-server) —-
    p) Ping (test connectivity to) the docbroker
    d) Get a docbase map
    s) Get a server map
    n) Get next largest docbase id
    l) lookup a docbase id
    o) find all open servers for a docbase
    h) Set the host name for the docbroker
    e) exit
    Enter an option (i.e. letter)> d
    **************************************************
    ** D O C B R O K E R I N F O **
    **************************************************
    Docbroker host :
    Docbroker port :
    Docbroker network address :
    Docbroker version :
    **************************************************
    ** D O C B A S E I N F O **
    **************************************************


Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Blog at WordPress.com.
Entries and comments feeds.

%d bloggers like this: