The crawler encounters FFQO0277E when custom metadata is added and the crawler plug-in is enabled

Technote (troubleshooting)


Problem(Abstract)

In OmniFind Enterprise Edition, my crawler uses a cutom plug-in. The crawler encounters error FFQO0277E with a Java stack trace after adding a custom metadata field.

Symptom

You might see the following messages in the COLLECTION_ID_[DATE].log file in the ES_NODE_ROOT/logs directory.

11/22/11 19:28:54.987 JST [Error] [ES_ERR_EXCEPTION_DEFAULT_MESSAGE] [COLLECTION_ID] [COLLECTION_ID.SEEDLIST_463]
omnifind.sample.ibm.com:6911:44545857:crawler:OSSLogger.java:com.ibm.es.crawler.dominodoc.DominoDocFetcher.isConnected:235
FFQO0277E An exception was caught with the detail 'java.lang.IllegalArgumentException: Argument must be a string declared in com.ibm.es.crawler.plugin.FieldMetadata. Argument : null' and a stack trace of 'java.lang.IllegalArgumentException: Argument must be a string declared in com.ibm.es.crawler.plugin.FieldMetadata. Argument : null
at com.ibm.es.crawler.plugin.FieldMetadata.setResolveConflict(FieldMetadata.java:449)
at com.ibm.es.crawler.plugin.FieldMetadata.<init>(FieldMetadata.java:231)
at com.ibm.es.crawler.publish.util.XMLCreator.convertToCrawledData(XMLCreator.java:443)
at com.ibm.es.crawler.publish.AbstractFormatter.format(AbstractFormatter.java:622)
at com.ibm.es.crawler.publish.Publisher.publish(Publisher.java:473)
at com.ibm.es.crawler.DSThread.doJob(DSThread.java:1060)
at com.ibm.es.crawler.DSActiveThread.doMainTask(DSActiveThread.java:347)
at com.ibm.es.crawler.DSActiveThread.analyzeTask(DSActiveThread.java:662)
at com.ibm.es.crawler.DSActiveThread.handleRequest(DSActiveThread.java:120)
at com.ibm.es.crawler.DSThread.run(DSThread.java:258)
at java.lang.Thread.run(Thread.java:571)
'.

11/22/11 19:58:20.921 JST [Error] [ES_ERR_EXCEPTION_DEFAULT_MESSAGE] [COLLECTION_ID] [COLLECTION_ID.SEEDLIST_463]
omnifind.sample.ibm.com:7940:1874116846:crawler:MonitorXMLElements.java:com.ibm.es.repository.framework.DefaultContent.setProperty(1):685
FFQO0277E An exception was caught with the detail 'java.lang.IllegalArgumentException: Argument must be a string declared in com.ibm.es.crawler.plugin.FieldMetadata. Argument : null' and a stack trace of 'java.lang.IllegalArgumentException: Argument must be a string declared in com.ibm.es.crawler.plugin.FieldMetadata. Argument : null
at com.ibm.es.crawler.plugin.FieldMetadata.setResolveConflict(FieldMetadata.java:449)
at com.ibm.es.crawler.plugin.FieldMetadata.<init>(FieldMetadata.java:231)
at com.ibm.es.crawler.publish.util.XMLCreator.convertToCrawledData(XMLCreator.java:443)
at com.ibm.es.crawler.publish.AbstractFormatter.format(AbstractFormatter.java(Compiled Code))
at com.ibm.es.crawler.publish.Publisher.publish(Publisher.java:473)
at com.ibm.es.crawler.DSThread.doJob(DSThread.java:1060)
at com.ibm.es.crawler.DSActiveThread.doMainTask(DSActiveThread.java:347)
at com.ibm.es.crawler.DSActiveThread.analyzeTask(DSActiveThread.java:662)
at com.ibm.es.crawler.DSActiveThread.handleRequest(DSActiveThread.java:120)
at com.ibm.es.crawler.DSThread.run(DSThread.java:258)
at java.lang.Thread.run(Thread.java:571)
'.

Cause

This issue occurs because the ResolveConflict attribute of the custom metadata field is set to be "null", as shown in the following example:


Sample seedlistcrawler.xml file
---------------------------------------------
<Field Name="__$EntryName$__" Content="False" Enabling="True">
  <SearchField Searchable="True" FieldSearchable="True" ParametricSearchable="False" Metadata="True" ResolveConflict="null" ExactMatch="False" Sortable="False" IsContent="False">EntryName</SearchField></Field>


Resolving the problem

To resolve this issue:

  1. Open the CRAWLER_TYPEcrawler_ext.xml file (such as seedlistcrawler_ext.xml) in the ES_NODE_ROOT/master_config/COLLECTION_ID.CRAWLER_ID directory with a text editor, where CRAWLER_TYPE depends on the type of crawler (seedlist, notes, and so on). If the CRAWLER_TYPEcrawler_ext.xml file does not exist, create it.
  2. Add <SetAttribute XPath="xxx">MetadataPreferred</SetAttribute> as shown in the following example:

    <?xml version="1.0" encoding="UTF-8" ?>
      <ExtendedProperties>
        <SetAttribute XPath="/Crawler/DocumentInformation/Field[@Name='__$EntryName$__']/SearchField" Name="ResolveConflict">MetadataPreferred</SetAttribute>
      </ExtendedProperties>

  3. Save and close the CRAWLER_TYPEcrawler_ext.xml file.
  4. Restart the crawler session.
  5. Perform a full crawl, and parse and index documents.

Rate this page:

(0 users)Average rating

Add comments

Document information


More support for:

OmniFind Enterprise Edition

Software version:

8.5

Operating system(s):

AIX, Linux, Solaris, Windows

Reference #:

1573430

Modified date:

2012-01-20

Translate my page

Machine Translation

Content navigation