FME Flow Troubleshooting: FMEFlowJobSubmitter

Liz Sanderson
Liz Sanderson
  • Updated

Full Guide: FME Flow Troubleshooting Guide

Are you encountering issues submitting jobs with the FMEFlowJobSubmitter (formerly FMEServerJobSubmitter)? Please read below for some common troubleshooting tips, questions, and resources.

Content Overview

 

Terminology

Parent WorkspaceThe Workspace that contains the FMEFlowJobSubmitter transformer.
Child WorkspaceThe Workspace that is being submitted by the FMEFlowJobSubmitter transformer.

In 2023, FME Server underwent a name change and is now known as FME Flow. Since this article discusses features present in previous versions of FME, it will refer to both names interchangeably, using the appropriate product name based on the year the feature was introduced. For more information on the rebranding, see our website
 

Initial Troubleshooting

  • Can you successfully run the child workspace on FME Flow (formerly FME Server) from the Run Workspace page? I.E. not submitted via the parent workspace. If not, focus your troubleshooting efforts here first. 
  • Can you use the FMEFlowJobSubmitter to submit the austinApartments.fmw from the Samples Repository successfully? If you can, consider what is different with your workspace, are you passing the correct values for published parameters? 
  • Check for errors in the following logs
    • The parent/child job logs from the Jobs > Completed page.
    • The fmeserver.log from Resources > Logs > Core > Current|Old 
    • The fmeprocessmonitorengine.log from Resources > Logs > Engine > Current|Old 


Common Issues

“The FMEFlowJobSubmitter fails to authenticate using an FME Flow Web Connection with Reason - credentials for user are invalid”

There is a known issue with the FME Flow transformers refreshing the token for an FME Flow Web Connection in FME 2021.0+. Please see this article for more information. 
 

“After upgrading to FME Flow 2021+ the FMEFlowJobSubmitter fails to submit jobs with the Reason - unable to connect to FME Flow”

There is a known issue ​​after upgrading FME Flow from 2020.x or older to 2021.x or newer the FMEFlowJobSubmitter fails to submit jobs. Please see this article for more information.
 

“The child workspace fails to run with the error: 'Failed to submit request to run workspace 'MyWorkspace.fmw' in repository 'MyRepository' FMEFlowJobSubmitter (ServerFactory): Reason - MyUser is not authorized to perform this action'”

This error is typically caused by improper user account permissions or network proxy settings.
Please confirm that the account has correct permissions by one of the three tests:

  1. Logging into FME Flow with that user account and running the child workspace.
  2. Using different account with more extensive permissions in the FMEFlowJobSubmitter
  3. Temporarily grant the account in the  FMEFlowJobSubmitter All Permissions, or confirm that they have access to all permissions required to run that workspace.


If your FME Flow is using a system proxy, please check the proxy exception list from the Web UI: Admin > Network & Email > Proxy. Within the "No Proxy For" parameter, please try adding your FME Flow domain in different formats, e.g. localhost,127.0.0.1,*.example.*,MyHostname.MyDomain.*


“My child workspace is stuck in the QUEUED state”

There are a few known reasons why a workspace submitted by the FMEFlowJobSubmitter may get stuck in the queue: 

  1. The parent workspace contains multiple FMEFlowJobSubmitters and the child workspaces being submitted are using different versions of Python. Please see this article for more information. 
  2. Your FME Flow is licensed with one engine and your FMEFlowJobSubmitter is configured with Wait for Jobs to Complete: Yes and Submit Jobs: In Parallel. Please see this article under the heading ‘The Engines are occupied by other Jobs’ for more information. For ideas on workflow management check out this article
  3. There are no engines assigned to the Queue configured in the FMEFlowJobSubmitter. Please see this article under the heading ‘The User-Defined Queue has not been assigned Engines’ for more information.
 
"My fmeserver.log reports 'Missing or expired workspace chaining context' for a child engine process"

In your FMEFlowJobSubmitter when  Wait for Jobs to Complete: Yes and Submit Jobs: In Parallel, this launches a temporary child engine process. If the child engine loses connection with the parent this process endlessly tries to restart. Please see this article for more information. 
 

“Proxy is enabled in the FME Server System Configuration but the FMEFlowJobSubmitter is ignoring these settings”

There was a known issue in FME Flow 2020.1 where the Proxy setting was ignored when the parent/child workspace contained python. This issue was fixed for 2020.1.3.2 and newer. 

To work around this issue open fmeServerConfig.txt and under the heading FME SERVER SETTINGS START add:
ENABLE_ENGINEPROXY=false
 

“How can I use a SAML account to authenticate an FMEFlowJobSubmitter?”

Until FME 2022.0, FME Flow transformers could not make use of SAML authentication. Please see this article for more information. 
 

“When I try and set the workspace parameters inside the FMEFlowJobSubmitter to a PublishedParameter value my configuration is not saved”

There was a known issue in FME Form (formerly FME Desktop) 2021.1. This issue was fixed for 2021.1.3 and newer.

To work around this issue use a ParameterFetcher or AttributeCreator to create an attribute from the user parameter and point the FMEFlowJobSubmitter parameter to this attribute. 
 

"After upgrading from 2016 or older to 2017 or newer my FMEFlowJobSubmitter is behaving differently"
In FME 2017 the FMEFlowJobSubmitter underwent a redesign. Please see the chart below to demonstrate the differences. Most notably there is a new parameter called ‘Submit Jobs’. 
  
Submission Mode Configuration2016 and older2017 and newer
Wait for Jobs to Complete: Yes
Submit Jobs: In Sequence
  • Submits one job at a time. Each job is submitted after the previous job finishes. 
  • The jobs will be run as a subprocess of the parent using only one engine.
  • Child workspaces are not recorded as a separated job - they will not be listed on the Completed Jobs page and logging will be included in the parent log.
  • Submits one job at a time. Each job is submitted after the previous job finishes. 
  • A sub-engine process is spun up to run the child workspaces. This engine has the name Engine<N>@Job<ID> where N is the name of the Engine the Parent Job is running on and ID is the Parent Job ID. 
  • Child workspaces are submitted under a new Job ID -  they will be listed as separate records on the Completed Jobs page and have their own log.
Wait for Jobs to Complete: Yes
Submit Jobs: In Parallel
The ‘Submit Jobs’ parameter is not available. As such, the behaviour is the same as above.
  • Waits for all jobs to enter the transformer and then submits them all at once. Features are sent from the Success port of the transformer once all jobs have finished.
  • Jobs will be run on all available engines assigned to the associated queue.
  • Child workspaces are submitted under a new Job ID -  they will be listed as separate records on the Completed Jobs page and have their own log.
Wait for Jobs to Complete: No
Submit Jobs: In Sequence
  • Submits one job at a time as soon as it enters the transformer. 
  • Jobs will be run on as many engines as available.
  • Child workspaces are submitted under a new Job ID -  they will be listed as separate records on the Completes Jobs page and have their own log.
  • Submits one job at a time. Features are released from the output port as soon as the job is submitted.
  • Jobs will be run on all available engines assigned to the associated queue.
  • Child workspaces are submitted under a new Job ID -  they will be listed as separate records on the Completed Jobs page and have their own log.
       Wait for Jobs to Complete: No
Submit Jobs: In Parallel
The ‘Submit Jobs’ parameter is not available. As such, the behaviour is the same as above.
  • Waits for all jobs to enter the transformer and then submits them all at once. Features are sent from the Submitted port as soon as they are submitted.
  • Jobs will be run on all available engines assigned to the associated queue.
  • Child workspaces are submitted under a new Job ID -  they will be listed as separate records on the Completed Jobs page and have their own log.


Are you still experiencing issues? 

Please consider posting to the FME Community Q&A if you are still experiencing issues that are not addressed in this article. There are also different support channels available. When contacting support please share the job log from the parent and child workspace. 


Have ideas on how to improve this? 

You can add ideas or product suggestions to our Ideas Exchange.

Was this article helpful?

Comments

0 comments

Please sign in to leave a comment.