Skip to main content

I’m seeing some weird behaviour on FME Flow (2024.2.2)

I’m trying to debug a process on FME Flow which isn’t working properly. I wanted to see what was going on so I threw down a logger, republished, reran.

To my surprise the feature never made it to the logger...now I know what you’re thinking. “oh you must be doing something wrong”. Well maybe.

But the workspace is so simple. 

Creator>AttributeManager>Logger>File Copy Writer
 


Here’s a snippet of the log:

2025-08-22 12:19:45|   0.0|  0.0|INFORM|Creating writer for format: 
2025-08-22 12:19:45| 0.0| 0.0|INFORM|Creating reader for format:
2025-08-22 12:19:45| 0.0| 0.0|INFORM|MULTI_READER(MULTI_READER): Will fail with first member reader failure
2025-08-22 12:19:45| 0.0| 0.0|INFORM|Using Multi Reader with keyword `MULTI_READER' to read multiple datasets
2025-08-22 12:19:45| 0.0| 0.0|INFORM|Using MultiWriter with keyword `PRIMARY_DEST' to output data (ID_ATTRIBUTE is `multi_writer_id')
2025-08-22 12:19:45| 0.0| 0.0|INFORM|Writer output will be ordered by value of multi_writer_id
2025-08-22 12:19:45| 0.0| 0.0|INFORM|Emptying factory pipeline
2025-08-22 12:19:45| 0.0| 0.0|STATS |Creator_XML_Creator (CreationFactory): Created 1 features
2025-08-22 12:19:45| 0.0| 0.0|STATS |Creator_Cloner (TeeFactory): Cloned 1 input feature(s) into 1 output feature(s)
2025-08-22 12:19:45| 0.0| 0.0|STATS |Creator_CREATED Brancher -1 21 (BranchingFactory): Branched 1 input feature -- 1 feature routed to the target factory, and 0 features routed to the fallback factory.
2025-08-22 12:19:45| 0.0| 0.0|STATS |_CREATOR_BRANCH_TARGET (TeeFactory): Cloned 1 input feature(s) into 1 output feature(s)
2025-08-22 12:19:45| 0.0| 0.0|STATS |Logger_Logger (TeeFactory): Cloned 0 input feature(s) into 0 output feature(s)
2025-08-22 12:19:45| 0.0| 0.0|STATS |Destination Feature Type Routing Correlator (RoutingFactory): Tested 0 input feature(s), wrote 0 output feature(s): 0 matched merge filters, 0 were routed to output, 0 could not be routed.
2025-08-22 12:19:45| 0.0| 0.0|STATS |Final Output Nuker (TeeFactory): Cloned 0 input feature(s) into 0 output feature(s)


In the log I can see the creator looks to be creating its feature but the logger never gets a feature to log. There is also no mention of the AttributeManager. Perhaps that’s the clue.

Inside I’m just fetching some user parameters. 

I’ve seen this before sometimes but I’ve never been able to understand why it happens. Each time I’ve come across it I’ve done some hacky stuff to get it to work

I’ve encountered a lot of strange behavior when publishing or republishing to FME Flow, where it sometimes looked like the connections between transformers were missing. It’s quite difficult to reproduce though.

Could you try republishing your workspace under a different name and/or to a different repository and test again?


I’m pretty sure that there is/was something going on with FME Form while publishing the workspace. We could try to look for diffs between your local workspace file and the one that has been published.


I’ve just run a similar workspace and it runs successfully but no mention of the AttributeManager so I don’t think that’s significant

025-08-22 11:39:25|   0.1|  0.1|INFORM|Creating writer for format: 
2025-08-22 11:39:25| 0.1| 0.0|INFORM|Creating reader for format:
2025-08-22 11:39:25| 0.1| 0.0|INFORM|MULTI_READER(MULTI_READER): Will fail with first member reader failure
2025-08-22 11:39:25| 0.1| 0.0|INFORM|Using Multi Reader with keyword `MULTI_READER' to read multiple datasets
2025-08-22 11:39:25| 0.1| 0.0|INFORM|Using MultiWriter with keyword `PRIMARY_DEST' to output data (ID_ATTRIBUTE is `multi_writer_id')
2025-08-22 11:39:25| 0.1| 0.0|INFORM|Writer output will be ordered by value of multi_writer_id
2025-08-22 11:39:25| 0.1| 0.0|INFORM|Loaded module 'Geometry_func' from file 'D:\FMEServer\Server\fme\plugins/Geometry_func.dll'
2025-08-22 11:39:25| 0.1| 0.0|INFORM|FME API version of module 'Geometry_func' matches current internal version (4.0 20240212)
2025-08-22 11:39:25| 0.1| 0.0|INFORM|Emptying factory pipeline
2025-08-22 11:39:25| 0.1| 0.0|INFORM|Logger: Feature is:
2025-08-22 11:39:25| 0.1| 0.0|INFORM|+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Even if I set the Creator to Number to Create 0 so nothing ever hits the logger I still get a reference to the logger in the log file

Logger_Logger (TeeFactory): Cloned 0 input feature(s) into 0 output feature(s)

 


I’ve encountered a lot of strange behavior when publishing or republishing to FME Flow, where it sometimes looked like the connections between transformers were missing. It’s quite difficult to reproduce though.

Could you try republishing your workspace under a different name and/or to a different repository and test again?

In the end I swapped out the AttributeManager for a ParameterFetcher that seemed to do the trick. Still no idea why. 


I’d be interested what happens if there were another transformer - even just a Junction - between Logger and Writer. 

Also, if the Logger worked if you connected it separately. So AttributeManager > Logger is one connection and AttributeManager > Writer is another. 

It’s ok if you don’t. You probably have better things to do. I’m just curious. When I have weirdness like this, it’s often somehow due to what’s connected after the transformer in question.


I’d be interested what happens if there were another transformer - even just a Junction - between Logger and Writer. 

Also, if the Logger worked if you connected it separately. So AttributeManager > Logger is one connection and AttributeManager > Writer is another. 

It’s ok if you don’t. You probably have better things to do. I’m just curious. When I have weirdness like this, it’s often somehow due to what’s connected after the transformer in question.

Yeah, I played around already with a few different things. That was also my assumption too. I know that FME somehow does some look ahead and can process things out of order. My assumption is that something funny like that was going on. 


In the end I swapped out the AttributeManager for a ParameterFetcher that seemed to do the trick. Still no idea why. 

Another reason why I prefer the individual transformers (especially the ParameterFetcher) over the AttributeManager!


I’ve had a similar issue in the past (process overall worked so didn’t really investigate further). Were any changes made to the logger parameters or just the default?


I’ve had a similar issue in the past (process overall worked so didn’t really investigate further). Were any changes made to the logger parameters or just the default?

I think I set the number of feature to log to be lower that the standard but I can’t remember.