IBM Support

Db2 TextSearch using the Rich Text Feature results in an index update failure after applying security fix for APARs IT39387, IT39389, IT39390

Troubleshooting


Problem

Index updates on rich text documents that are normally stored in BLOB columns might be observed in the TextSearch server log (sqllib/db2tss/log/trace0.log). If present, these server log entries appear after the installation of the security special builds (or later special builds) for Db2 11.5 (APAR IT39389), 11.1 (IT39387), or 10.5 (IT39390).
The security special builds are a result of CVE-2021-44228 (log4j version 2 vulnerability) and CVE-2021-4104 (log4j version 1 vulnerability).

Symptom

Text index updates can result in these errors when the TextSearch server attempts to index rich text documents that are commonly stored in BLOB type columns in the sqllib/db2tss/log/traceX.log (X in the range 0 - 9).

<record>
    <date>2021-12-14T22:17:12</date>
    <millis>1639549032518</millis>
    <sequence>2054</sequence>
    <logger>com.ibm.es.nuvo.GlobalSystem</logger>
    <level>SEVERE</level>
    <class>com.ibm.es.nuvo.GlobalSystem</class>
    <method>setTaskError</method>
    <thread>65</thread>
    <message>IQQP9021E The version of the document parser (8.5.4) is earlier than the expected parser version (8.5.5).
Causes of the problem:
   IQQP9021E The version of the document parser (8.5.4) is earlier than the expected parser version (8.5.5).
      com.ibm.es.nuvo.parser.transform.oi.OutsideInParser.doParse(OutsideInParser.java:132)
      com.ibm.es.nuvo.parser.AbstractParser.parse(AbstractParser.java:111)
      com.ibm.es.nuvo.preparation.DocumentPreparer.parseRecursiveWithTimout(DocumentPreparer.java:1063)
      com.ibm.es.nuvo.preparation.DocumentPreparer.parseRecursive(DocumentPreparer.java:963)
      com.ibm.es.nuvo.preparation.DocumentPreparer.processUpsert(DocumentPreparer.java:300)
      com.ibm.es.nuvo.preparation.DocumentPreparer.processUpsert(DocumentPreparer.java:237)
      com.ibm.es.nuvo.preparation.DocumentPreparer.processDocuments(DocumentPreparer.java:601)
      com.ibm.es.nuvo.manager.PreparationThread.run(PreparationThread.java:174)</message>
</record>
<record>
    <date>2021-12-14T22:17:17</date>
    <millis>1639549037369</millis>
    <sequence>2057</sequence>
    <logger>com.ibm.es.nuvo.inyo.ingest.DocIngestHandlerSingle</logger>
    <level>SEVERE</level>
    <class>com.ibm.es.nuvo.inyo.ingest.DocIngestHandlerSingle</class>
    <method>getDocParseResult</method>
    <thread>277</thread>
    <message>Sending TASK_ERROR on batch 182: IQQI0070E An error occurred during execution of task 182. The collection is currently unavailable for indexing. This error may require the involvement of an administrator.
IQQP9021E The version of the document parser (8.5.4) is earlier than the expected parser version (8.5.5).</message>
</record>

Cause

The root cause of the error is that some functions in the new TextSearch 5.5.7 require Rich Text Filter 8.5.5. This requirement applies to the security special builds as well.
Security special build versions (and later versions) are applied through a fix pack update for TextSearch. This method of updating is a result of the TextSearch server being updated from 5.2.1 or 5.5.5 to 5.5.7 as part of the provided security fix. This version of TextSearch requires the Rich Text Filter version 8.5.5. The prior version was 8.5.4.

Diagnosing The Problem

The version of the TextSearch server and Rich Text Filter, if installed, can be found in the version.log file in the db2tss directory.
On Linux and Unix:
The version.log file is located in the INSTANCE_HOME/db2tss/log directory.
For example, in
/home/<instowner>/sqllib/db2tss/log/version.log
On Windows:
The version.log file is located in the instance DIAGPATH\db2tss\log directory.
For example, in
C:\ProgramData\IBM\DB2COPY1\DB2\db2tss\log\version.log
Version.log content:
The file contains multiple entries. A new entry is added every time the Text Search server is started. To verify the current version of TextSearch and Rich Text Filter (if installed and enabled), look at the last entry.
For example,
Fri Dec 17 06:35:03 PST 2021
    Build version = 5.5.7.0
    Build number = 58
    Build timestamp = 2021/05/07 11:10:00
    Jar manifest version = 5.5.7.0, 58, 2021/05/07 11:10:05.381
    Source trunk name = 2.1
    Java version = 8.0.6.35 - pxa6480sr6fp35-20210714_01(SR6 FP35)
    JVMInfo: JRE 1.8.0 Linux amd64-64-Bit Compressed References 20210622_7763 (JIT enabled, AOT enabled)
    OITTextExtractorVersion = 5.5.7-Feb 26 2021-14:40:34-8.5.5-V2
    OITVersionPatch =
#######################
The Build version indicates the TextSearch server version. In this case, it is 5.5.7.
The OITTextExtractorVersion indicates the Rich Text Filter Version after the timestamp. In this example, it is 8.5.5.
If the Rich Text Filter is not used, then the OITTextExtractorVersion shows
OITVersion = unknown.

Resolving The Problem

The new Rich Text Filter version 8.5.5 is packaged in the Db2 Accessories Suite for Db2 11.1 and 11.5 and available for download.
If you are updating an older version of Db2, starting with version 10.5, then the Db2 Accessories Suite 11.1 and the included Rich Text Filter installer can be used.
Use the Rich Text Filter installer that is included in the Db2 Accessories Suite to update the Rich Text Filter version of the integrated TextSearch server from 8.5.4 to 8.5.5.
For information on updating Db2 and TextSearch, see the Db2 11.5 Docs topic Upgrading Db2 Text Search when applying Db2 fixpacks. Take note of the rich-text relevant information in step 3 of the procedure.

Document Location

Worldwide

[{"Type":"MASTER","Line of Business":{"code":"LOB10","label":"Data and AI"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"ARM Category":[{"code":"a8m500000008PlsAAE","label":"Extenders->Text Search"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"10.5.0;11.1.0;11.5.0;11.5.5;11.5.6"}]

Document Information

Modified date:
17 December 2021

UID

ibm16527760