IBM Support

Running reindex for data source fails with "Bounds exception"

Troubleshooting


Problem

Attempt to run reindex for a data source in IBM Lifecycle Query Engine (LQE) fails with "BlockAccessBase: Bounds exception: C:\indices\lqe\shapeTdb\GSPO.dat: (1234567,1089101)."

Symptom

Running a query in LQE or LDX may fail with: Internal Error 500

and

You see the following error message in lqe.log file:

[lqe.IndexingAgent[Change and Configuration Management]-thread-0] ERROR eam.integration.lqe.lib.indexer.tasks.DeletionTask - CRLQE0537E A fatal error occurred during deletion. Aborting deletion of resources for TRS: https://your-server/ccm/oslc/workitems/trs2
java.util.concurrent.ExecutionException: com.ibm.team.integration.lqe.lib.dataset.DatasetProviderException: com.hp.hpl.jena.tdb.base.block.BlockException: BlockAccessBase: Bounds exception: C:\indices\lqe\shapeTdb\GSPO.dat: (1234567,1089101)
at java.util.concurrent.FutureTask.report(FutureTask.java:134)
at java.util.concurrent.FutureTask.get(FutureTask.java:200)
at com.ibm.team.integration.lqe.lib.indexer.tasks.AbstractTask.checkAlive(AbstractTask.java:78)
...
Caused by: com.ibm.team.integration.lqe.lib.dataset.DatasetProviderException: com.hp.hpl.jena.tdb.base.block.BlockException: BlockAccessBase: Bounds exception: C:\indices\lqe\shapeTdb\GSPO.dat: (1234567,1089101)
at com.ibm.team.integration.lqe.lib.dataset.tdb.TdbDatasetProvider.updateNamedModels(TdbDatasetProvider.java:1607)
at com.ibm.team.integration.lqe.lib.indexer.writer.BatchWriter.call(BatchWriter.java:100)
at com.ibm.team.integration.lqe.lib.indexer.writer.BatchWriter.call(BatchWriter.java:1)
at java.util.concurrent.FutureTask.run(FutureTask.java:274)
... 3 more
Caused by: com.hp.hpl.jena.tdb.base.block.BlockException: BlockAccessBase: Bounds exception: C:\indices\lqe\shapeTdb\GSPO.dat: (1234567,1089101)
at com.hp.hpl.jena.tdb.base.file.BlockAccessBase.check(BlockAccessBase.java:118)
at com.hp.hpl.jena.tdb.base.file.BlockAccessDirect.read(BlockAccessDirect.java:58)
at com.hp.hpl.jena.tdb.base.block.BlockMgrFileAccess.getBlock(BlockMgrFileAccess.java:81) 

Cause

Your index file is corrupted.

An index file corruption happens for a number of reasons, but the most common is killing the LQE or LDX server while it is updating.

Environment

This issue can be seen in LQE and Link Index Provider (LDX).

Resolving The Problem

  1. Restore the data from a recent backup as described in Backing up and restoring Lifecycle Query Engine and Link Index Provider
  2. When you don't have a backup to restore from, you can do a compaction of the data. See Improving the Lifecycle Query Engine performance by compacting indexed data for detailed steps.
  3. When a compaction did not work, reset the data. The detailed process is in Cleaning up the database and indexes of Lifecycle Query Engine in JRS

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSTU9C","label":"Jazz Reporting Service"},"Component":"Lifecycle Query Engine","Platform":[{"code":"PF016","label":"Linux"},{"code":"PF033","label":"Windows"}],"Version":"All Versions","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

Document Information

Modified date:
13 March 2023

UID

ibm10731025