Skip to content

MINIFICPP-2857 Processors w/o relationships have incomplete manifest …#2207

Open
martinzink wants to merge 2 commits into
apache:mainfrom
martinzink:MINIFICPP-2857
Open

MINIFICPP-2857 Processors w/o relationships have incomplete manifest …#2207
martinzink wants to merge 2 commits into
apache:mainfrom
martinzink:MINIFICPP-2857

Conversation

@martinzink

Copy link
Copy Markdown
Member

…entries

Luckily this only affected test processors but we should fix it nonetheless.


Thank you for submitting a contribution to Apache NiFi - MiNiFi C++.

In order to streamline the review of the contribution we ask you to ensure the following steps have been taken:

For all changes:

  • Is there a JIRA ticket associated with this PR? Is it referenced in the commit message?

  • Does your PR title start with MINIFICPP-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

  • Has your PR been rebased against the latest commit within the target branch (typically main)?

  • Is your initial contribution a single, squashed commit?

For code changes:

  • If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
  • If applicable, have you updated the LICENSE file?
  • If applicable, have you updated the NOTICE file?

For documentation related changes:

  • Have you ensured that format looks appropriate for the output in which it is rendered?

Note:

Please ensure that once the PR is submitted, you check GitHub Actions CI results for build issues and submit an update to your PR as soon as possible.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Fixes component manifest serialization so processors that define no relationships still emit the processor-only manifest attributes (e.g., inputRequirement, isSingleThreaded, and an empty supportedRelationships array). This addresses incomplete manifest entries that were primarily impacting test processors.

Changes:

  • Extend serializeClassDescription with an explicit flag to include processor-only attributes, rather than keying off whether relationships are present.
  • Ensure processor manifests always include inputRequirement, isSingleThreaded, and supportedRelationships (even when empty), while controller services do not.
  • Update the Ubuntu 22.04 clang ARM reference manifest to reflect the corrected output.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
libminifi/src/core/state/nodes/AgentInformation.cpp Makes processor-only manifest fields unconditional for processors by adding an explicit include_processor_only_attributes switch.
.github/references/ubuntu_22_04_clang_arm_manifest.json Updates the golden/reference manifest to include the now-present processor-only fields for processors that previously omitted them.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@martinzink martinzink added low-impact Test only or trivial change that's most likely not gonna introduce any new bugs bug-fix labels Jun 30, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

While this change fixes the issue, but for me, tacking a boolean to the end of a parameter list is a danger signal for bad solutions. If there a reason why checking group.type_ wouldn't work?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

yeah, didnt think much about it because its a local function not used anywhere else, but agree thats a much more elegant solution 👍 changed it in review changes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug-fix low-impact Test only or trivial change that's most likely not gonna introduce any new bugs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants