Skip to main content
Question

TempPathnameCreator - Full path (directory) is not getting created

  • September 18, 2022
  • 6 replies
  • 158 views

ranga_tolapi
Contributor
Forum|alt.badge.img+9

FME Desktop Version: 2022.1

OS: Windows 10 Pro

 

TempPathnameCreator is not creating the full path in file system, omitting the last part of the _pathname attribute value.

 

Note: Basename and Extension property input values were left empty.

 

TempPathnameCreator 

At run-time, _pathname returned a path C:/Users/<username>/AppData/Local/Temp/wbrun_1663507413323_13720/fmetmp_0/1663508664728_25800_d\\tor690.

 

However, only C:/Users/<username>/AppData/Local/Temp/wbrun_1663507413323_13720/fmetmp_0/1663508664728_25800_d\\ directory was found created, not found the sub-folder tor690 inside.

 

One more observation is, although it's Windows OS, _pathname attribute value was following the unix path pattern (forward-slash), except the last part (it was backward-slash).

6 replies

hkingsbury
Celebrity
Forum|alt.badge.img+67
  • Celebrity
  • September 18, 2022

A directory created user the TempPathnameCreator is only accessible while the FME process is running. When the process finishes, the directory is deleted


ranga_tolapi
Contributor
Forum|alt.badge.img+9
  • Author
  • Contributor
  • September 19, 2022

A directory created user the TempPathnameCreator is only accessible while the FME process is running. When the process finishes, the directory is deleted

Hi @hkingsbury​, I understand it from the documentation. My observation is also at runtime only. You may experience what I’m saying by placing a breakpoint after TempPathnameCreator and verify the existence of _pathname directory.


caracadrian
Contributor
Forum|alt.badge.img+23
  • Contributor
  • September 19, 2022

If you look closely, the tor690 part of _pathname is preceded by a backslash while the rest of the folder structure is separated by forward slashes, so it's not a subfolder definition.

Do you have trouble writing to and reading from FME_TEMP using this method?

If it's not broken don't fix it!😁


ranga_tolapi
Contributor
Forum|alt.badge.img+9
  • Author
  • Contributor
  • September 19, 2022

If you look closely, the tor690 part of _pathname is preceded by a backslash while the rest of the folder structure is separated by forward slashes, so it's not a subfolder definition.

Do you have trouble writing to and reading from FME_TEMP using this method?

If it's not broken don't fix it!😁

  1. That was my 2nd question in my initial post. When my OS is windows, why rest of the folder structure is separated by forward slashes (like unix) shouldn’t be backwards slashes?
  2. If the tor690 part of _pathname is not a subfolder definition then what is it? 🤔

 

I am yet to try FME_TEMP.


hkingsbury
Celebrity
Forum|alt.badge.img+67
  • Celebrity
  • September 19, 2022

Hi @hkingsbury​, I understand it from the documentation. My observation is also at runtime only. You may experience what I’m saying by placing a breakpoint after TempPathnameCreator and verify the existence of _pathname directory.

I'd expect that behavior, as the process has ultimately stopped, the directory will be deleted


virtualcitymatt
Celebrity
Forum|alt.badge.img+47

Yeah I've noticed the same thing - it's kind of annoying because it (the backslash) doesn't play nice with the FileNamePartExtractor and is just in general a bit confusing in general.

 

If multiple features go though the transformer in a session then each feature will get a different 'torXXX' number within the same folder

 

I had assumed that the last folder wasn't created to prevent the creation of potentially hundreds of thousands of empty folders and the last slash was to help separate the last folder from the parent folder. FME will create folders when needed while writing so it probably wasn't given much thought.

 

Perhaps someone from Safe Support could give a definitive answer on this behavior. It certainly isn't mentioned in the doc. @nampreetatsafe​ are you or another team member to explain the behaviour of the TempPathnameCteator?