Quantcast
Channel: Blog dbi services
Viewing all articles
Browse latest Browse all 1431

Documentum Administrator does not display the correct "Index Agent" status

$
0
0

At one of my customers, I experienced a problem with the Documentum Administrator (DA), which did not display the correct Index Agent status. In this blog post, I will explain how I found the source of this problem and of course also how I solved this issue.

But first, some background facts: The Documentum Administrator (DA) is displaying "not responding" for the Index Agent, however the Index Agent is running well. No solutions are mentioned in the Documentum support notes.

 

Analysis

1) I have to use the API code to find the status.

Command to use:

 

API> apply,c,NULL,FTINDEX_AGENT_ADMIN,NAME,S,,AGENT_INSTANCE_NAME,S,,ACTION,S,start

 

In my case:

 

API> apply,s0,NULL,FTINDEX_AGENT_ADMIN,NAME,S,TEST_ftindex_01,AGENT_INSTANCE_NAME,S,ftserver.i_9200_IndexAgent,ACTION,S,status
...
q0
API> next,c,q0
...
OK
API> get,c,q0,status
...
200
API>

 

"200" means that there is a problem with the Index Agent.

 

2) I can find errors in two locations:

  • by setting the trace for DA, I can find the following error in the trace file:

 

[!com.documentum.fc.common.DfException: [DM_METHOD_E_JMS_APP_SERVER_NAME_NOTFOUND]error: "The
app_server_name/servlet_name 'ftserver.i_9200_IndexAgent' is not specified in dm_server_config/dm_jms_config."!]

 

  • In the user session logfile I see the following:

 

2013-07-18T09:23:06.132697 22991[22991] 0101e2ee80ee8913 [DM_FT_INDEX_T_INIT_INDEX_AGENT_MSG]info: "Attempting to status Index Agent Instance ftserver.i_9200_IndexAgent"
2013-07-18T09:23:06.132766 22991[22991] 0101e2ee80ee8913 [DM_METHOD_E_JMS_APP_SERVER_NAME_NOTFOUND]error: "The app_server_name/servlet_name 'ftserver.i_9200_IndexAgent' is not specified in dm_server_config/dm_jms_config."
2013-07-18T09:23:06.132791 22991[22991] 0101e2ee80ee8913 [DM_FT_INDEX_T_INIT_INDEX_AGENT_MSG]info: "HTTP_POST with args -command status -docbase TESTREPO -user dm_fulltext_index_user -ticket DM_TICKET=T0JKIE5......UkxZeXc2cHd3SVc0dz09Cg== -instance ftserver.i_9200_IndexAgent -details false to Index Agent ftserver.i_9200_IndexAgent failed."
2013-07-18T09:24:05.032297 22991[22991] 0101e2ee80ee8913 [DM_FT_INDEX_E_NO_FTINDEX_AGENT_CONFIG_OBJECTS_FOUND]error: "There were no dm_ftindex_agent_config object(s) found for the specified arguments"

 

3) Let's use the previous output to perform a deeper analysis

  • In the dm_jms_config the Index Agent app_server_name is not defined - which is normal
  • In DA I can see the name of the Application Server - which is is fine
  • The dm_server_config object is correct:

 

retrieve,c,dm_server_config
dump,c,l

the relevant data of the output:

app_server_name [0]: do_method
[1]: do_mail
[2]: ftserver.i_9200_IndexAgent

app_server_uri [0]: http://localhost:19080/DmMethods/servlet/DoMethod
[1]: http://localhost:19080/DmMail/servlet/DoMail
[2]: http://ftserver.dummy.com:19200/IndexAgent/servlet/IndexAgent

But then, what is wrong?

 

4) Reproducing the error

As all seems to be fine, I have to reproduce the error.

  • By purposely choosing a wrong AGENT_INSTANCE_NAME - ftserver.9200_IndexAgent instead of ftserver.i_9200_IndexAgent (--> I have removed the "i" ) - I am able to reproduce the error:

 

API> apply,s0,NULL,FTINDEX_AGENT_ADMIN,NAME,S,TEST_ftindex_01,AGENT_INSTANCE_NAME,S,ftserver.9200_IndexAgent,ACTION,S,status
...
q0
API> next,c,q0
...
OK
API> get,c,q0,status
...
[DM_FT_INDEX_E_NO_FTINDEX_AGENT_CONFIG_OBJECTS_FOUND]error: "There were no dm_ftindex_agent_config object(s) found for the specified arguments"
[DM_METHOD_E_JMS_APP_SERVER_NAME_NOTFOUND]error: "The app_server_name/servlet_name 'ftserver.9200_IndexAgent' is not specified in dm_server_config/dm_jms_config."

 

  • The FTINDEX_AGENT_ADMIN method issues an HTTP_POST method that then invokes the servlet used by the IndexAgent Admin Web utility. So using the HTTP_POST method I can also reproduce the error:

 

1> execute http_post WITH app_server_name='ftserver.i_9200_IndexAgent'
2> go
[DM_METHOD_E_JMS_APP_SERVER_NAME_NOTFOUND]error: "The app_server_name/servlet_name
'ftserver.i_9200_IndexAgent' is not specified in dm_server_config/dm_jms_config."

 

  • As I see the same name in the DA, I have to add a blank behind the app_server_name value, hoping this is the char I cannot see. Again, I am using the http_post

 

1> execute http_post WITH app_server_name='ftserver.i_9200_IndexAgent '
2> go
result http_response_status request_failed response_doc_id time_taken
timed_out time_out_length app_server_host_name app_server_port
app_server_uri
----------------------------------------------------------------------------------
0 HTTP/1.1 200 OK F 0000000000000000 0
F 60 ftserver.dummy.com 9200 /IndexAgent/servlet
/IndexAgent

(1 row affected)
1>

 

With this positive result, I have found the source of my problem: a wrong app_server_name!

 

Solution

The issue was solved by creating a new app_server_name entry (without the blank) in the docbase config object.

The final test with API proved successful:

 

API> apply,s0,NULL,FTINDEX_AGENT_ADMIN,NAME,S,TEST_ftindex_01,AGENT_INSTANCE_NAME,S,ftserver.i_9200_IndexAgent,ACTION,S,status
...
q0
API> next,c,q0
...
OK
API> dump,c,q0
...
USER ATTRIBUTES name [0]: ftserver.i_9200_IndexAgent
status [0]: 0

SYSTEM ATTRIBUTES
APPLICATION ATTRIBUTES
INTERNAL ATTRIBUTESAPI>

 

Once logged off and signed in again, DA displays the correct status (running) for the Index Agent.

I hope this solution will help other people in a situation where the EMC powerlink solution does not work.


Viewing all articles
Browse latest Browse all 1431

Trending Articles