This week I migrated a Domino environment to 12.0.2 FP1 on Windows server – the upgrade went smooth but I was facing an issue when running the ODS upgrade with multiple threads.
Normally when you run a “compact -ODS” or a “compact -c” a file called “dbname.tmp” is created in the same folder where the database resides. But in this special case the tmp file was created outside the data directory ( D:\Domino.Data ):
Therefore running a compact job with multiple threads ( “compact -ODS -# 4” ) was not able because I received the error message “Database already in use” which was caused by the “Domino.tmp” file created by the first compact thread. When I ran a “compact -ODS” with a single thread no errors occured.
First of all I suspected the NOTES.INI setting “Notes_TempDir=…” was causing this issue. But I could see the same behaviour on the Development Server – with or without this NOTES.INI setting !
After opening a case I received the following information: the naming of the directory structure is causing this issue with the following explanation:
The compact is building the temp file name by looking for the “.” from the left side of the dbpath and using that to build the tmp (.restart) path. So, for example, the temp file for db1.nsf should be db1.restart. But compact is searching for “.” to locate the extension, and finding the “.” in Domino.data.
So by now there will be a SPR created that you are not allowed to put special characters in the Domino directory structure. I received the information the this issue is handled in the following SPR:
SPPPCRYA9X -> The tmp files are created outside of the Data folder if your Domino Data folder structure has a dot (.)