Short Description: Skips documents with large number of fields during document collection.
The following error occurs when you attempt to open a view in a database in Notes 4.x:
"Memory Allocation Request Exceeded 65,000 Bytes"
The same error can also occur during replication or while running Updall or Fixup on the database.
This error can be caused by a document(s) that contains a large number of fields. Typically, the document contains in excess of 1,000 fields.
The compute package in Notes, which is called by a number of different tasks to evaluate or build collections of documents, will run into errors when trying to compute a document that has a large number of fields. In many scenarios, this error occurs in the middle of a computation called SearchFill, where Notes is computing documents to evaluate whether they should be included in a collection. Since this error occurs in the middle of building a collection of documents, it can prevent the Notes Task from completing. For example, replication will stop, or a database view cannot be opened.
Beginning with Notes 4.5.2, you can enable a new NOTES.INI parameter that configures the Notes Task to skip a problem document and continue on with the SearchFill routine. The new NOTES.INI parameter is "SRFill_Ignore_64K_Errors=1". The default setting is 0 (disabled). If you do not enable the parameter (by setting it to 1), you will still receive the Memory Allocation errors in Notes 4.5.2. You can set the parameter on-the-fly (and avoid having to restart the server) by issuing the following command at the Server Console: Set Config SRFill_Ignore_64K_Errors=1
When the parameter is enabled, any document that is skipped will be logged to the Notes Log, in the following message:
"Note ID xxx has items that are causing the Compute subsystem to generate a 64K error. This note will not be included in search results."
The Note ID returned in the above error message is in Decimal. You need to convert it to Hexadecimal to use the NoteId Database Tool described below.
You can then use the NoteId Database Tool in the Admin Panel to open the Note, to identify who created it and take measures to prevent such large documents from being created in the future. The NoteId tool does not call the same SearchFill function in the compute package because it does not build a collection. Because of this, you can open the problem document(s) in the NoteId Database Tool to help track down how these large documents are getting created.
Note that the "SRFill_Ignore_64K_Errors=1 parameter should not be left in place permanently. The parameter is provided to help you workaround this particular Notes limitation. Once you find and remove the problematic document, you should also remove the parameter.
Excerpt from the Notes 4.5.2 Fix List :
SPR# SMUN3J67GU - Support a new notes.ini variable, SRFILL_IGNORE_64K_ERRORS, to allow databases containing documents with many items to be opened in order to delete the document which is too large to be processed by other server programs such as the Router.
Prior to Notes 4.5.2, one way of determining if you are running into this error would be to run Fixup on the database. Fixup should return an error such as:
"Error fixing view 282 in tracking.nsf : Memory allocation request exceeded 65,000 bytes".
Running Updall on the database would also return an error such as the following:
"Error updating view 'Main' in tracking.nsf: Memory allocation request exceeded 65,000 bytes"
SRFill_Ignore_64K_Errors=0 / 1