Skip to main content
Solved

Issue with the JSONFragmenter in FME Server 2017.1?


Forum|alt.badge.img

Hi guys,

 

 

I've got an issue with the JSONFragmenter in FME Server 2017.1 (Build 17539 - win64). Well, I think I have... maybe I'm missing something! 

 

 

Any non-JSON input seems to cause the workspace to finish with an error rather than carry on : 

"A fatal error has occurred. Check the logfile above for details". But there's no further clues in the log :

Loaded module 'JSONQueryFactory' from file 'C:\Program Files\FMEServer\Server\fme\plugins/JSONQueryFactory.dll'
FME API version of module 'JSONQueryFactory' matches current internal version (3.8 20170315).
Emptying factory pipeline.
A fatal error has occurred. Check the logfile above for details

 

The same workspace runs fine in FME Desktop where any non-JSON inputs come out of the "Rejected" port and the workspace happily carries on (I've got "Rejected Feature Handling" set to "Continue Translation" in FME Desktop).

 

I've added in a Tester before the JSONFragmenter in my workspace for now, but I'm curious as to why this is behaving differently in FME Server.

Any ideas?

 

 

Here's a screenshot of my simple test workspace which I uploaded into FME Server (job submitter service) :

0684Q00000ArBPkQAN.jpg

 

 

Cheers

 

 

Batesy

Best answer by richardatsafe

Hi @batesy,

Thanks for noting this. We are working making sure were consistent with our rejected feature handling in Server. I can reproduce the issue and we have a PR to make the changes. As a workaround if you want the workspace to continue running on FME Server you can add any transformer eg. logger to the rejected port and it will keep processing.

View original
Did this help you find an answer to your question?

4 replies

richardatsafe
Safer
Forum|alt.badge.img+10
  • Safer
  • Best Answer
  • October 2, 2017

Hi @batesy,

Thanks for noting this. We are working making sure were consistent with our rejected feature handling in Server. I can reproduce the issue and we have a PR to make the changes. As a workaround if you want the workspace to continue running on FME Server you can add any transformer eg. logger to the rejected port and it will keep processing.


Forum|alt.badge.img
  • Author
  • October 3, 2017
richardatsafe wrote:

Hi @batesy,

Thanks for noting this. We are working making sure were consistent with our rejected feature handling in Server. I can reproduce the issue and we have a PR to make the changes. As a workaround if you want the workspace to continue running on FME Server you can add any transformer eg. logger to the rejected port and it will keep processing.

Ok cool, thanks for the reply @RichardAtSafe. The Logger does the trick for now, thanks for the tip.

 


mmccart
Supporter
Forum|alt.badge.img+17
  • Supporter
  • November 1, 2017
richardatsafe wrote:

Hi @batesy,

Thanks for noting this. We are working making sure were consistent with our rejected feature handling in Server. I can reproduce the issue and we have a PR to make the changes. As a workaround if you want the workspace to continue running on FME Server you can add any transformer eg. logger to the rejected port and it will keep processing.

I ran into the same issue in 2017.1.1 Server and the 'Logger' trick worked for me. Thanks!

 

 


deanatsafe
Safer
Forum|alt.badge.img+6
  • Safer
  • January 6, 2018

Thanks again for the feedback. There appears to be a problem with rejected feature handling for JSONFragmenter in both FME 2017 and FME 2018. I've reproduced the problem here and have filed a bug report. This only seems to come up when the workspace is run 'headless' - that is with WorkspaceRunner or on FME Server. My guess is that the rejected port caching for inspection is acting like a logger when run interactively on Workbench. This does seem to be related to JSON transformers as a similar configuration using Bufferer rejected features did not fail, whereas JSONExtractor does fail.

In the meantime for a workaround you can add any transformer such as a Logger to the rejected port and the workspace will complete. Or use a JSONValidator to validate your json document before doing any of your parsing. You could then eliminate any features with invalid json before they get to the JSONFragmenters. Note that a similar problem was fixed recently in FME 2018 for JSONValidator.

 

We will definitely prioritize testing and fixing this for these other JSON transformers, and post a note here once a fix is available.


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings