Question

Why are FeatureJoiner and FeatureMerger joining on UUIDs differently?

  • 14 April 2018
  • 4 replies
  • 2 views

Badge

I have two uniqueidentifiers:

4F23402A-BBCD-498E-9136-C0C06F20AB57

4DE5DCD8-5D50-4272-B9DC-6D3997CC2F47

When both are set to UTF-8 encoding and run through a FeatureJoiner on Automatic comparison mode, they do not join - as they shouldn't.

However, when both UUIDs are set to UTF-16LE (which is how they appear in FME if they were read in from SQL Server) and run through a FeatureJoiner on Automatic comparison mode, they DO join. The same behavior occurs when set to Numeric mode. When set to String mode, obviously they do not join.

This behavior appears to be inconsistent with the FeatureMerger. With the FeatureMerger, these two UUIDs never join, regardless of comparison mode and UTF-8/UTF-16LE encoding.

So my questions: Is this the intended behavior of the FeatureJoiner? Why does FeatureJoiner's attempt to convert (UTF-16LE) UUIDs into a number appear to have a different result than when the FeatureMerger attempts to convert the same (UTF-16LE) UUIDs into a number? Perhaps I just don't understand the finer points of character encoding...

The attached workspace tests various combinations.


4 replies

Userlevel 2
Badge +17
It seems to be a bug. I would recommend you to report it to Safe support.
Userlevel 4
Badge +13

Yep, its a bug alright. Already confirmed by development. We'll get it into a 2018.0 update as soon as we can. Sorry about this.

Badge

Yep, its a bug alright. Already confirmed by development. We'll get it into a 2018.0 update as soon as we can. Sorry about this.

Sounds good, thank you!

 

 

Badge +9

Hi everyone! I am happy to report this has been fixed in the latest release of FME (https://www.safe.com/support/support-resources/fme-downloads/). The behavior of the FeatureJoiner is now consistent with the FeatureMerger.

Reply