Within the NiFi Expression Language Guide under the "Structure of a NiFi Expression" section, the hierarchy of how NiFi searches for a Attribute key is wrong (still based off NiFi 0.x hierarchy) and incomplete:
In this example, the value to be returned is the value of the "my attribute" value, if it exists. If that attribute does not exist, the Expression Language will then look for a System Environment Variable named "my attribute." If unable to find this, it will look for a JVM System Property named "my attribute." Finally, if none of these exists, the Expression Language will return a null value.
The current hierarchy in NiFi is as follows:
1. Search FlowFile for Attribute/key
2. Search Process Group for attribute/key
3. Search File Registry File for attribute/key
4. Search NiFi JVM Properties for attribute/key
5. Search System Environment Variables for attribute/key
We should not only fix the above, but in doing so make the above hierarchy more prominent in the documentation.