Notes.ini Entry



Name:

    NSF_DocCache_Thread

Syntax

    NSF_DocCache_Thread=0 / 1

Applies to:

    Servers

Add-on:


    First Release:


      Obsolete since:


        Category:

          Cache, Memory, Profiles

        Default:

          None

        UI equivalent:

          None

        Description:
        Helps to prevent memory problems associated with profile documents.

        With this parameter set you can cycle through approximately an additional 5,000 documents. This is an approximate figure, the number of additional documents may vary from system to system depending on configuration.

        Update:

        After countless crashes and days spent with IBM support - we have a sense of what's going on. In short - if you have java agents which are using profile documents - this ini variable is a must in R5,R6,R7.

        This is because of a fundamental problem with the way profile documents are destroyed from memory. According to support info - each java agent thread for agents running in given database will open it's own instance of profile document.

        The related profiles don't get destroyed when threads finish - instead - Domino memory manager checks if there are still open handles against this database - and if there is - memory taken by profile objects for this database won't be deallocated.

        In practice this means that if some user left this database opened in notes client for example, or you have agent manager opening handle for this database quite frequently - database handle will never get released - profile handles will never get destroyed and memory allocated for these profiles will keep growing - and server will crash eventually with Out of memory error.

        To correct this situation - the INI variable NSF_DOC_CACHE_THREAD was introduced.

        Per IBM support - this ini variable forces profile document handles to be instantiated statically(what I suspected all along) - so now mult. threads access the same single object. This resolves the problem with memory - but introduces another one - with timing!

        Now we start seeing event driven crashes with Invalid Document Handle. It seems like we have a situation now when one thread is trying to get the profile object while other is trying to destroy it!

        We are struggling with this since early R5 versions and problem is still here now in latest and greatest R6!

        The technote for this INI variable is completely misleading - at my opinion - it was put there just to hide the magnitude of the problem rather than explaining what is actually going on. Hope this info will help others in their frustration or provide some comfort at least:-).

        Meanwhile Domino servers keep crashing in customer sites and IBM support keeps promising this problem to be addressed in later version of notes - hope this will happen in my lifetime.