Skip to main content

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

Copyright and trademark information

IBM, the IBM logo and ibm.com are trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at www.ibm.com/legal/copytrade.shtml.

Rate this page:


(0 users)Average rating

Add comments

Document information

OmniFind Enterprise Edition


Software version:
8.5


Operating system(s):
AIX, Linux, Solaris, Windows


Reference #:
1573430


Modified date:
2012-01-20

Translate my page

Content navigation