The 5408 Warning message refers to the local buffer size (-l
) startup parameter, that administers how much memory Progress will use for the client's local buffer pool. It is merely indicating that this limit has been exceeded and Progress is automatically increasing the current -l value as more memory is needed in the current client session.
These 5408 Warning messages indicate that more memory than initially allocated is needed. This may be expected given the particular application code that is running at the time, however when these messages appear first ensure that there is no application logic issue that is causing larger amounts of memory to be consumed than needed . In checking the application, consider that:
Local buffer size (-l) is used for variables, work files, records that are currently in a buffer in use at a particular moment in time by the user session and any information on currently active objects (handles, attribute values and internal pointers) such as temp-tables, query objects, widget pools and GUI widgets. While WORKFILES (not temp-tables) are entirely stored in -l memory, all other program variable records and database/temp-table records take space in -l only when the record is in an active 4GL/ABL buffer. Any record cache (used with a query) will therefore also affect the -l memory usage.
- Define variables as NO-UNDO
- Define temp tables as NO-UNDO
- If using workfiles or a lot of persistent variables raise the -l (local buffer size) parameter to say 400 and gauge the impact.
- Reduce the size of transactions and sub-transactions.
If the logic is correct and to avoid receiving further 5408 warnings, start the client sessions with a larger -l setting by using the highest value from the prior 5408 messages received.
- Local buffer size ( -l) is a client session parameter.
- The default is 200 KB, hence messages will start from 200KB+ when undefined.
- The maximum settable value is 2,097,151 KB in Progress 8.x; 4 GB in Progress 9.x and OpenEdge 10.x.
Starting with Progress 9.x, to prevent this value from being dynamically increased the -hardlimit
parameter can be added.
To suppress these 5408 Warnings entirely, a new client startup parameter introduced in Progress 9.1D08 (-noincrwarn
) will suppress these messages when used. This should only be done after development and QA, when the application has been confirmed to work to acceptable standards. For further information refer to Article 000021861, How to suppress warning messages (5407),(5408),(5409),(5410) from displaying on client screens.