I agree the documentation is not clear, but it is fairly easy to test. Surprisingly, it appears the cache IS permanent between FME sessions, and so this option is smarter than I thought.
In my testing, the first run of the FeatureReader will build the cache in the FME Temp folder.
Every subsequent run WorkBench reads from the cache, even if:
- You run the Workflow again from scratch a second time
- You close the project and re-open it and run from scratch
- You close FME Workbench, re-open the application, re-open the Project, and run form scratch
The documentation hints at this by suggesting that the expiry time on the cache is actually stored as a physical data attribute within the cache files themselves rather than being only stored during run-time.
That's actually quite handy from a development perspective for design/testing purposes, as that means your test Workspace working with a static offline data extract doesn't need to re-read the data on every session, saving test time. I almost wish the plain Readers would have something like this, because there are things the Readers can do (like limiting which attributes to extract from the Source with SQL), that FeatureReader can't.
I agree the documentation is not clear, but it is fairly easy to test. Surprisingly, it appears the cache IS permanent between FME sessions, and so this option is smarter than I thought.
In my testing, the first run of the FeatureReader will build the cache in the FME Temp folder.
Every subsequent run WorkBench reads from the cache, even if:
- You run the Workflow again from scratch a second time
- You close the project and re-open it and run from scratch
- You close FME Workbench, re-open the application, re-open the Project, and run form scratch
The documentation hints at this by suggesting that the expiry time on the cache is actually stored as a physical data attribute within the cache files themselves rather than being only stored during run-time.
That's actually quite handy from a development perspective for design/testing purposes, as that means your test Workspace working with a static offline data extract doesn't need to re-read the data on every session, saving test time. I almost wish the plain Readers would have something like this, because there are things the Readers can do (like limiting which attributes to extract from the Source with SQL), that FeatureReader can't.
Thanks for checking this out. I probably could (should?) have tested it myself as well. At the same time, it's probably worth putting it out here in the open, as I think it's indeed a very underrated feature, which more people should know about!