The error message "File does not exist" on the client does not really help, but there is also an error in the server log which shows the root cause of the problem.
13.10.2014 16:49:37 The database F:\Lotus\Domino\SERVER\mail\user.nsf attempted to access a missing file: f:\lotus\daos\SERVER\0001\3F67501E6AA30F96DACABAC0E1F27E2A8206AA0CC00025069.nlo: File does not exist.
Ok now we know that the problem is a missing NLO file in the DAOS directory. When the client wants to replicate the document which contains the reference to the NLO file the server cannot provide the document because he can not load the attachment. Normally you would restore the missing NLO file from your backup, but what is to do if you are not able to restore this file.
First possible solution is to delete all documents from a database which have references to missing NLO files with fixup.
load fixup -D -J user.nsf
I do not like this solution, because maybe the document with the missing NLO contains important informations.
So the better solution is to search for the document and decide manually if it is save to permanently remove the document.
Go to the server console and set the configuration variable "DEBUG_DAOS_DIAGNOSTICS" to 1
set configuration DEBUG_DAOS_DIAGNOSTICS=1
There is no restart of the server needed.
Tell the DAOSMGR to create a detailed overview over all NLO's and the corresponding documents.
tell daosmgr LISTNLO MAP -V mail/user.nsf
You will find the created "listnlo.txt" file in the database directory of the server. In our example in "mail". Copy the file to your local workstation and open it in your favorite spreadsheet application for example Libreoffice Calc.
Then you can search for your missing NLO in the RRV_HASHKEY column. The NoteID of the document which references the missing NLO file is in the second column (DOC_NOTEID_HEX).
Now you can search for the NoteID in the Administrator client and fortunately in my case it was only a spam mail which was save to remove from the database.
After that the replication of the database worked again without a problem.
Do not forget to disable the debug variable with
set configuration DEBUG_DAOS_DIAGNOSTICS=0
Excellent! Helped us get rid of a virus attachment, by finding, and deleting, the NLO file.
ReplyDeleteHey, Ralf, this was a very useful post. Running debug -d -j wasn't deleting the document with the invalid NLO reference for me. I think the reason for that is because there were two attachments to the message and the other attachment consisted of a valid NLO reference. So I had to figure out how to locate the document with the invalid reference -- in a 3.5 GB mail database. Thank you so much for this post!
ReplyDeleteTook me time to read all the comments, but I really enjoyed the article. It proved to be Very helpful to me and I am sure to all the commenters here! It’s always nice when you can not only be informed, but also entertained! document design solutions
ReplyDeleteYou have a genuine capacity for composing one of a kind substance. I like how you think and the way you speak to your perspectives in this article. I concur with your mindset. Much obliged to you for sharing. dokument
ReplyDeleteThanks for providing recent updates regarding the concern, I look forward to read more. pasaport çeşitleri
ReplyDelete