Salesforce

DBI from PAS MSAgent keeps growing

« Go Back

Information

 
TitleDBI from PAS MSAgent keeps growing
URL Namedbi-from-pas-agent-keeps-growing
Article Number000195073
EnvironmentProduct: OpenEdge
Version: 11.7x, 12.x
OS: All supported platforms
Other: PASOE MSA AS-ADMIN
Question/Problem Description
PASOE agent DBI file is continuously growing causing disk space problems.
DBI from PAS MSAgent keeps growing beyond GB in size causing additional delays when terminating the MSA
The process using these files is the PAS Agent not to the PAS Agent Sessions. 
DBI files continue to grow when the load on the PAS appserver is low (only 1 or 2 calls per second) 
When there are no open transactions on the database the DBI file continues to grow around 5 minute intervals
What is causing the large DBI files from the MSA ?
Steps to ReproduceSend a PING request in a loop: http://hostname\:port/web/ping

Send simple call in a loop:

/* client.p */
DEFINE VARIABLE sh AS HANDLE NO-UNDO.
CREATE SERVER sh.
sh:CONNECT("-URL https://localhost:8811/apsv -sessionModel Session-free -nohostverify").
RUN VALUE("server.p") ON SERVER sh.

/* Server.p */
BLOCK-LEVEL ON ERROR UNDO, THROW.
MESSAGE "Called the Server".
Clarifying Information

Every transaction is finished within a few hundred milliseconds. 
There is nothing scheduled what every 5 minutes calls the appserver, it seems to be an internal pasoe process causing DBI growth
Agent startup parameters: -T /temp -t -Bt 20000 -tmpbsize 8 

When the MSAgent is stopped logs with logentrytype temp-tables:3 or -tttablerangesize / -ttindexrangesize with ttStats enabled shows the AS-ADMIN process deleting Temp-Tables and the DBI file is eventually removed:

AS-Admin TEMP-TABLE Deleted TEMP-TABLE _AgentStatHist (ID:1 DYNAMIC) stopAgent OpenEdge.ApplicationServer.AgentManager 
AS-Admin TEMP-TABLE Deleted TEMP-TABLE _AgentThread (ID:2 DYNAMIC) stopAgent OpenEdge.ApplicationServer.AgentManager 
AS-Admin TEMP-TABLE Deleted TEMP-TABLE _AgentSession (ID:3 DYNAMIC) stopAgent OpenEdge.ApplicationServer.AgentManager 
AS-Admin TEMP-TABLE Deleted TEMP-TABLE _AgentConnection (ID:4 DYNAMIC) stopAgent OpenEdge.ApplicationServer.AgentManager 
AS-Admin TEMP-TABLE Deleted TEMP-TABLE _AgentRequest (ID:5 DYNAMIC) stopAgent OpenEdge.ApplicationServer.AgentManager

 

With -t enabled on a Unix like platform, the DBI files are visible. Without enabling 4GLTrace, the DBI files owner process can be determined by the file name. (Note: this format is a convention OpenEdge uses for now, as of version 12.8, which may be changed in the future.) The file name should be like:

 

DBIthreadid_sessionNumXXXXXX

 

example:  DBI28880_3a36476 

 

Where:

 

threadid is some number

sessionNumber is the ABL Session number (e.g., 4 for AS-4, 7 for AS-7). The AS-Admin temp-table db file name can be identified because it's sessionNumber will always be 3.  And, XXXXXX gets replaced by the OS with something random when the file name is created (trying to guarantee a unique name).           

 

 

Error Message
Defect NumberOCTA-91955
Enhancement Number
Cause

The DBI file is the Admin Session's temp-table (it owns the _AgentRequest table) and they exist for the life of the agent.  Request metrics are stored in a temp-table and as the number of requests increases, so will the DBI file for the AS-Admin session.  There is currently no way to delete the _AgentRequest temp-table.

Resolution

Until the fix is available, try using the workarounds below.

Workaround

1. Server Reboot

2.  Trim the PASOE MSAgent

3.  Periodically flush records from the Admin Session's temp-table by clearing the collected metrics (since 11.7.5)

  • The JMX query will not reduce the current size of the DBI file, but it will prevent it from growing further until the space becomes filled again with request records. 
a. Put the query into a file: agentStatData.qry and fill in the with the pid of the agent process:
{"O":"PASOE:type=OEManager,name=AgentManager","M":["clearAgentStatData","AGENT_PID"]} 
 
b. bin/oejmx.sh -Q agentStatData.qry -O .\agentStatData.out

c. TEST -- run millions of requests and watch the DBI file grow, then apply the jmx and watch it stop growing as millions more requests are run.


Alternatively use the REST API via OEMANAGER using a DELETE HTTP request against the OEMANAGER URL endpoint :

DELETE /oemanager/applications/{appName}/agents/{agentID}/agentStatData
Notes
Keyword Phrase
Last Modified Date8/4/2026 5:50 PM

Powered by