Skip to main content

ATG Search troubleshooting tips

In this blog, I have listed some basic ATG Search troubleshooting tips in some general scenarios.

1. If the index did not deploy, consider the following possible causes :
  • Is the DeployShare property configured @ /atg/search/routing/LaunchingService component ? 
  • Is enough space available @ deployment share box for the index ? 
  • Are the RMI ports configured correctly in the RoutingSystemService component ? 
  • If the search engine application is running in a separate box, this application is invoked through a RemoteLauncher running in these boxes. Check whether these RemoteLaunchers are running in these boxes ?
2. If you have trouble in launching one or more search engines, try the following remedies:
  • If the Search engine is standalone, set the /atg/search/routing/LaunchingService component’s engineDir property to the absolute path of the Search engine directory. 
3. Search unavailable in the estore page, even when the SearchEngine is in "Running" status.

        This may occur sometimes, when the eStore-AppServer 's SearchEngineService component is pointing to the old port, different from what the engine is actually pointing as mentioned in the searchServer's SearchEngineService component. This occurs when indexing is triggered and when searchIndexing gets completed, the searchEngine port gets a new value. Inorder to resolve this, either restart this SearchEngineService component of the estore server. If its still not pointing to the right port, then restart the eStore AppServer.

4. Following are the steps to enable the different logging for troubleshooting :
  • Set the LaunchingService component’s loggingDebug property to true and look at the Launching debugging line.
  • Go to /atg/search/routing/SearchEngineService/ and change the loggingAllRequests property value to true to log all requests made to the Search engine. 
  • Go to /atg/search/routing/LaunchingService and change the engineLogLevel property value to D to enable debug logging. This will log all requests and takes effect upon the next engine restart. 
 5. In case of failure in indexing, check the following logs
  • JBoss server logs - <JBOSS_HOME>\server\atg\logs\server.log
  • Dumping request logs Folder - <ATG_HOME>\logs\searchEngineActivity\*.xml (request and response xmls). These logs will provide what was the request send to search engine in xml form and what was the response from engine for a query.
  • Search engine logs - <ATG_HOME>\Search2007.1\SearchEngine\i686-win32-vc71\bin. This can also be used for checking the indexing failing in the engine level.  

Comments

  1. Hi Sony, I am facing one scenario where one of the index file which is in being used by answer servers got deleted due to which search indexing is failing with message "swap failed". Do you have any idea about this.

    ReplyDelete
  2. You have only one search index file or have a other old index files @ history ? .

    If you have old index files @ history, just try to deploy some historical index files and after that do fresh search indexing.

    Let me know whether this works... :-)

    ReplyDelete
  3. Hi Sony,

    I am facing an issue with ATG search where some of the orders are not searchable with property "status".

    Can you please help?

    Thanks

    ReplyDelete
  4. You are using the search for CSC ?
    You configured order status as a text-property @ product catalog output config file ?

    ReplyDelete
  5. Hi sony,

    II configuring csc search.For order I m able to setup search.and getting search results but for profile I m not able to see the indexed file I'm deploy share although m pointing correct path.

    ReplyDelete

Post a Comment

Popular posts from this blog

Google Chrome shortcut keys

If you are a Google Chromey guy, please find below the list of shortcut keys for some of the most used features  :-) Find more shortcut keys @  http://www.google.com/support/chrome/bin/static.py?page=guide.cs&guide=25799&topic=28650

ATG - more about Forms and Form Handlers

An ATG form is defined by the dsp:form tag, which typically encloses DSP tags that specify form elements, such as dsp:input that provide direct access to Nucleus component properties. Find below a sample dsp:form tag.    <dsp:form action="/testPages/showPersonProperties.jsp" method="post" target="_top">      <p>Name: <dsp:input bean="/samples/Person.name" type="text"/>      <p>Age: <dsp:input bean="/samples/Person.age" type="text" value="30"/>      <p><dsp:input type="submit" bean="/samples/Person.submit"/> value="Click to submit"/>    </dsp:form>   When the user submits the form, the /samples/Person.name property is set to the value entered in the input field.Unlike standard HTML, which requires the name attribute for most input tags; the name attribute is optional for DSP form element tags. If an input tag omits the n...

ATG - how to prevent Cross-Site attacks using _dynSessConf parameter

Cross-site scripting attacks take advantage of a vulnerability that enables a malicious site to use your browser to submit form requests to another site. In order to protect forms from cross-site attacks in ATG, you can enable form submissions to automatically supply the request parameter _dynSessConf , which identifies the current session through a randomly generated long number. On submission of a form (using dsp:form tag) or activation of a property setting (using dsp:a tag), the request-handling pipeline ( DAFDropletEventServlet ) validates _dynSessConf  against its session confirmation identifier. If it detects a mismatch or missing number, it can block form processing and return an error. To disable this functionality, we could give the following properties (@ /atg/dynamo/Configuration to disable it globally) enforceSessionConfirmation  = false -->  specifies whether the request-handling pipeline requires session confirmation in order to proc...

ATG Search architectural flow : Search and Index

I would like to explain the high level ATG Search implementation architecture ( for an online store) through the above diagram. In this diagram 1.x denotes the search functionality and 2.x denotes the indexing functionality. I have given JBoss as the application server. Physical Boxes and Application Servers in the diagram ( as recommended by ATG )  : Estore ( Commerce ) Box --> The box with the estore/site ear (with the site JSPs and Java codes). Search Engine Box --> The box with the search engine application running. Indexing Engine Box --> The box with the indexing engine application running. CA (Content Administration) Box --> The box with the ATG CA ear ( where we could take CA -BCC - Search Administration and configure the search projects) . Search Indexer Box --> The box with the ATG Search Index ear ( to fetch the index data from repository). Note that the engine performing indexing will need access ...

ATG - quick reference to commonly used DSP Tags

In this blog, I would like to give a quick reference to the most commonly used DSP Tags.Note that in this DSP tag details : bean refers to a Nucleus path, component name, and property name param refers to a Page parameter value refers to a Static-value var refers to a EL variable id refers to a scripting variable ============================================================== 1.dsp:importbean     example: <dsp:importbean bean="/atg/dynamo/droplet/Switch"/> ============================================================== 2.dsp:page     usage: It encloses a JSP. The dsp:page invokes the JSP handler, which calls the servlet pipeline and generates HTTPServletRequest.    example:    <dsp:page> ..... </dsp:page> ============================================================== 3.dsp:include     usage: Embeds a page fragment in a JSP.     example:   <dsp:include src="/myPage/Result...