Github user ijokarumawak commented on a diff in the pull request: https://github.com/apache/nifi/pull/2166#discussion_r140349370 --- Diff: nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/AbstractDatabaseFetchProcessor.java --- @@ -221,8 +222,12 @@ protected PropertyDescriptor getSupportedDynamicPropertyDescriptor(final String return super.customValidate(validationContext); } - public void setup(final ProcessContext context) { - final String maxValueColumnNames = context.getProperty(MAX_VALUE_COLUMN_NAMES).evaluateAttributeExpressions().getValue(); + public void setup(final ProcessContext context){ + setup(context,true,null); + } + + public void setup(final ProcessContext context, boolean shouldCleanCache,FlowFile flowFile) { + final String maxValueColumnNames = (flowFile == null) ? context.getProperty(MAX_VALUE_COLUMN_NAMES).evaluateAttributeExpressions().getValue() : context.getProperty(MAX_VALUE_COLUMN_NAMES).evaluateAttributeExpressions(flowFile).getValue(); --- End diff -- I like the idea of being defensive, but flowFile can be null with `evaluateAttributeExpressions`, so we don't need this check using ternary operator. Just passing the flowFile (possibly null) is fine, as GenerateTableFetch [existing code](https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/GenerateTableFetch.java#L185) does.
---