Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NIFI-11224 - FF attribute support in Where condition of QuerySalesforceObject #6991

Closed
wants to merge 2 commits into from

Conversation

pvillard31
Copy link
Contributor

Summary

NIFI-11224

Tracking

Please complete the following tracking steps prior to pull request creation.

Issue Tracking

Pull Request Tracking

  • Pull Request title starts with Apache NiFi Jira issue number, such as NIFI-00000
  • Pull Request commit message starts with Apache NiFi Jira issue number, as such NIFI-00000

Pull Request Formatting

  • Pull Request based on current revision of the main branch
  • Pull Request refers to a feature branch with one commit containing changes

Verification

Please indicate the verification steps performed prior to pull request creation.

Build

  • Build completed using mvn clean install -P contrib-check
    • JDK 11
    • JDK 17

Licensing

  • New dependencies are compatible with the Apache License 2.0 according to the License Policy
  • New dependencies are documented in applicable LICENSE and NOTICE files

Documentation

  • Documentation formatting appears as expected in rendered files

@@ -326,24 +326,24 @@ protected Collection<ValidationResult> customValidate(ValidationContext validati
public void onTrigger(ProcessContext context, ProcessSession session) throws ProcessException {
boolean isCustomQuery = CUSTOM_QUERY.getValue().equals(context.getProperty(QUERY_TYPE).getValue());

FlowFile flowFile = session.get();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the null check for the FlowFile would be still needed here, so it would be better to move that check condition outside from the isCustomQuery check.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the review, since we do want to evaluate EL wether the FlowFile is null or not, I added a null check in the processQuery part.

Copy link
Contributor

@Lehel44 Lehel44 Mar 1, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I recommend removing flowfile == null check before the condition. Based on @markap14 answer in case of processors annotated with @TriggerSerially this check is not necessary. However if a processor can have multiple executing thread, the following can happen:

"

  • 1 FlowFile in queue and 2 threads start running.
  • Thread 1 calls session.get() and gets the only FlowFile.
  • Then Thread 2 calls session.get() and gets back a null."

The flowfile is optional and the null check will be handled in the processQuery and processCustomQuery methods.

Copy link
Contributor

@mark-bathori mark-bathori left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for the improvements @pvillard31
+1 LGTM

@pvillard31 pvillard31 closed this Mar 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants