Friday, June 12, 2015

IBM Connections 5 CR2, indexing problems and solution

Last week I had to create a PMR regarding an indexing issue on CNX5, CR2.

I noticed that the index was not updated, so I performed a recreation (delete + recreate) of the initial index.

And when the one-off indexing task failed with the following SystemOut.log message: (Thanks Michele!!)

[6/5/15 1:01:32:489 CEST] 0000013e CrawlingVersi E com.ibm.connections.search.service.crawling.version.CrawlingVersionLookupService readJsonObjectFromFile String not terminated on line 144, column 10                               java.io.IOException: String not terminated on line 144, column 10      at com.ibm.json.java.internal.Tokenizer.readString(Tokenizer.java:231)      at com.ibm.json.java.internal.Tokenizer.next(Tokenizer.java:99)      at com.ibm.json.java.internal.Parser.parseObject(Parser.java:91)      at com.ibm.json.java.internal.Parser.parseValue(Parser.java:231)      at com.ibm.json.java.internal.Parser.parseArray(Parser.java:162)      at com.ibm.json.java.internal.Parser.parseValue(Parser.java:230)      at com.ibm.json.java.internal

Creating a Background index actually worked, but when the scheduled index-tasks ran to update the index, they provided the same error as when I ran an one-off indexing task.

 So, finally I created a PMR which was solved very quickly.

IBM Support told me to check the file
/opt/IBM/Connections/data/shared/search/admin/taskName2CrawlingVersionMap.map
They told me that this file might be corrupted, and indeed it was.
Apparently, this file is a indexing log of some sort, and at the end of the file there were some missing "end-brackets".
It looked like this:
      {
         "crawlingVersion": 1434094260813,
         "created": 1434094260813,
         "taskName": "15min-search-indexing-task"
 
With no end "curly brackets"

It should look like this:

      {
         "crawlingVersion": 1434094260813,
         "created": 1434094260813,
         "taskName": "15min-search-indexing-task"
      }
   ]
}

So the solution was just to stop the servers, delete the file and start the servers again. The file will then be recreated and the syntax of it looks a lot better.

Cheers.