Full Text Indexing took over 30 minutes error

Enabling “Update_FullText_Thread=1” parameter on HP Proliant DL585G2 server installed with AMD Opteron Dual Core processors running Windows 2003 server lead to the following Information Error on the log:

Full Text Indexing took over 30 minutes for

Also, the statistics for FT reports incorrect total execution time like below:

FT.Index.Total.TimeMS = 193,275,377,174

FT.Search.Average.TimeMS = 20779993

FT.Search.Total.TimeMS = 261,994,149,270

After performing tons of research, analyze & troubleshooting, I found the problem is due to TSC Drift issue which occurs mainly on AMD Dual core(AMD Opteron) platform.

The drift issue mainly caused when an application process is handled by different core processors and these cores have their own Time Stamp Counters which reports incorrectly. When an application is designed to probe the TSC performance counter, it gets incorrect time stamp values as those applications were not designed to handle multi core processors. This lead to incorrect FT statistic values related to time, which inturn lead to the error mentioned above.

In our environment, the problem occurred on HP Proliant DL585G2 server with AMD Opteron Dual core processors running on Windows 2003 server in which Domino 8.5 is installed. As per DCT recommendation, we enabled the paramter UPDATE_FULLTEXT_THREAD=1 on this server to keep a seperate thread for processing full text index on a seperate thread.

The error vanished after disabling this parameter and the FT update statistics become normal. This parameter creates a new thread on a different core which lead to TSC drift issue on AMD platform. I think IBM need to come up with updated nupdate.exe which should avoid using the TSC directly for time keeping and instead rely on the appropriate operating system calls. I already informed IBM on this, probably they will come with a Technote on this issue.