SYMPTOMS
Problem building TBIE index. The build process crashes during first build while directories and files are being scanned
CAUSE
This problem occurs when the ZyLAB Service Monitor terminates ZyTimerservice during transfer of records from the queue db to the main db. Some records may have been added to the main db but have not been removed from the queue db.
RESOLUTION
Add the following settings in the TBIE index settings.txt:
DocumentProvider=ZyDocumentProvider.dll;fileaccess=off;failsafe=on (settings.txt) (matter data)
DocumentProvider=ZyDocumentProvider.dll;importmode=LinkingFileScan;failsafe=on (settings.txt) (index data directories)
In the platform service win service config file you have to add the JOURNAL_DELETE|SYNCHRONOUS_FULL.
<add key="SQLiteSettings" value="JOURNAL_DELETE|SYNCHRONOUS_FULL" />
Restart the ZyLAB Information Management Service x64.
- Erase the TBIE index with the catalog option enabled removes the field value in the IDATE column. All the files will be reindexed.(main.db3)
- Erase the TBIE index without the catalog item enabled deletes the entire content of the main db3 file. (main db3)
It appears no heartbeat signal is sent when directories and files are being scanned, causing the index process to be stopped prematurely.
A workaround is available by increasing the UNKNOWN timeout setting in the zytimerservice.config file to -1 (unlimited).
Preferable disable the ZyLAB Service Monitor (ZSM) for the first index build. (Not an issue in 6.5.)
When running the ZyTIMER build process with Quickbuild the ZSM may be enabled.
A workaround is available by increasing the UNKNOWN timeout setting in the zytimerservice.config file to -1 (unlimited).
Preferable disable the ZyLAB Service Monitor (ZSM) for the first index build. (Not an issue in 6.5.)
When running the ZyTIMER build process with Quickbuild the ZSM may be enabled.
There are tools to restore the Main Db3 and in addition fix the problem with a correct cmd/bat and .sql lite modification.
Example content of the batch file and download action (this requires a sqllite browser/editor):
- Example -
@echo off
echo dumping database
echo PRAGMA encoding='UTF-16le'; > main.sql
sqlite3 main.db3 .dump >> main.sql
if errorlevel 1 goto end
echo database dumped
echo renaming original database
ren main.db3 main.db3.bak
if errorlevel 1 goto end
echo renaming succeeded
echo recreating database...
sqlite3 main.db3 ".read main.sql"
if errorlevel 1 goto end
echo database recreated
del main.sql
del main.db3.bak
:end
APPLIES TO
6.4; 6.4 SP1
Comments
0 comments
Article is closed for comments.