FME Flow Appears to Hold Connections Open or Licenses Checked Out For Longer Than Expected

Liz Sanderson
Liz Sanderson
  • Updated

FME Version

Symptom

Run a workspace on FME Flow that requires an ArcGIS license. When you try to use the license elsewhere, it isn't available.

Or run a workspace on FME Flow that opens a connection to an Oracle database, and find that the connection to the database (session) remains open even after the workspace completes.  

Cause

FME Flow Engines run as processes called FMEEngine.exe. The FMEEngine.exe process executes the jobs. The default configuration instructs the FMEEngine.exe process to restart after it has processed 100 successful jobs or 10 unsuccessful jobs.

Thus, when the FME Engine pulls an ArcGIS license, the process keeps the license until the FMEEngine.exe process is stopped or restarted. FME is calling the ArcGIS API shutdown, but the license is still not being checked in.

Similarly, the database connection is not closed because chances are that you may run a second workspace with the same connection parameters. The second workspace will run faster if FME doesn't have to reopen the connection to the database, reusing the existing connection (session to the database). 

Resolution

By default, the FME Engine processes restart after 100 successful translations or after 10 failed translations. This message is displayed in the log file.

"Max translation result successes reached. Restarting FME Engine."

You can tell the FME Engine to restart after every translation by doing the following:

  • Open the following file in a text editor:
 <FMEFlowDir>\Server\fmeFlowConfig.txt
  • Locate the following parameters and change their values to 1:
MAX_TRANSACTION_RESULT_SUCCESSES=100

MAX_TRANSACTION_RESULT_FAILURES=10
  • Restart FME Flow

Persistent Connection

Workspaces that use the “Persistent Connection” for Oracle will have this behaviour. This reduces the number of new connections made to the database, reducing resource usage at the database (reducing open sessions). This is an optional setting when selecting an Oracle Database Connection in the workspace. So, this can be unchecked (see screen grab below), and that will also close the connection once the job is complete.

OraclePersistentConnection.png

Was this article helpful?

Comments

0 comments

Please sign in to leave a comment.