HCL
Skip to main content  
 
   


SPRTechnote


Database With Large NoteID Can Cause Server To Crash

Technote Number: 1097352


Problem:
This issue has been reported to Lotus Quality Engineering and has been
reproduced in 4.6.4 and 4.6.5. The issue seems to have been indirectly fixed
since those releases. Fixup works as expected in releases 4.6.6b, 4.6.7,
5.0.4 and 5.0.5.

As a workaround it is possible to make a new replica of the database. By
making a new replica the NoteIDs are reordered starting from 0, therefore
assigning a new lower number to each document.

In order to determine if you have any databases with NoteIDs close to this
limit, it is possible to use the following LotusScript code. It is suggested
to use this script with a 5.0.3 client or greater. Please note that this
script is not supported by Lotus Notes Support.

Dim s As New NotesSession
Dim DbDir As NotesDbDirectory
Dim db As NotesDatabase
Dim x As Integer
Dim doc As notesdocument
Dim col As notesdocumentcollection

Open "c:\NoteIDs.txt" For Append As #1 ' log file of actions, for Unix change
file location and naming convention
Set DbDir = New NotesDbDirectory("myserver") ' empy=local or servername -
you need to be manager of the dbs to update the ACL on servers
Set db = DbDir.GetFirstDatabase(DATABASE)
On Error Goto myerror
x=1
While Not db Is Nothing
Call db.Open("","")
Print("Checking dB " & db.FileName )
Set col = db.alldocuments
Set doc = col.getlastdocument()
If Len(doc.NoteID) >= 6 Then ' number of digits in NoteID to log. 6 means at
least 0x00100000
Print #1, "0x" & doc.NoteID & ", " & db.server & " " & db.filepath &" \" &
db.filename & ", " & db.title & ", Documents: " & Str$(col.count)
End If
x=x+1
skipthis:
Set db = DbDir.GetNextDatabase
Wend
Print ("Finished checking " & Cstr(x) & " databases.")
Exit Sub
myerror:
Print #1, "FAILED to open " & db.server & " " & db.filepath &" \" & db.filename
& ", " & db.title
Resume skipthis

This code will scan all of the databases that the current ID has access to on
the specified server and if a document with a NoteID greater than 0x0010000 is
found, it will be logged to a text file. This allows you to catch databases
that are close to 0x02A98116 but leaves you enough time to schedule the
maintenance activity.Supporting Information:

@DocumentUniqueID
A 32-character combination of letters and numbers that uniquely identifies a
document across all replicas of a database. Two documents are replicas of one
another if they share the same unique ID.

@NoteID
An 8-character combination of letters and numbers that uniquely identifies a
document in a given replica copy. Two documents in different replica copies may
have different NoteIDs.
Related Documents:

AllDocuments.Count Shows a Different Number of Documents than Database
Properties
Document #: 176361
More >





  Document options
Print this document
Print view

  Search
Search Advanced Search


  Fix list views

 RSS feeds   RSS
Subscribe to the fix list

  Resources
Using this database
View notices

  HCL Support
HCL Support


    About HCL Privacy Contact