Skip to content

NIFI-16353 - Isolate StandardConnectorTestRunner filesystem paths - #11686

Open
skeossei wants to merge 1 commit into
apache:mainfrom
skeossei:NIFI-16353
Open

skeossei wants to merge 1 commit into
apache:mainfrom
skeossei:NIFI-16353

Conversation

@skeossei

Copy link
Copy Markdown
Contributor

Summary

NIFI-16353

Adds an optional StandardConnectorTestRunner.Builder.instanceDirectory(Path) configuration for isolating mutable NiFi filesystem paths between runner instances.

Repository, asset, NAR working, Jetty working, state, and flow configuration paths are derived from the supplied instance directory. The NAR library remains shared and read-only. Existing filesystem behavior is preserved when an instance directory is not supplied.

Integration tests use JUnit @TempDir directories and verify concurrent runner startup and shutdown, filesystem isolation, cleanup ownership, and that closing one runner does not affect another.

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 contains commits signed with a registered key indicating Verified status

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.

Targeted Build

  • JDK 21
  • Two-fork connector mock integration build completed:
./mvnw \
  -pl nifi-connector-mock-bundle/nifi-connector-mock,nifi-connector-mock-bundle/nifi-connector-mock-server,nifi-connector-mock-bundle/nifi-connector-mock-server-nar,nifi-connector-mock-bundle/nifi-connector-mock-test-bundle/nifi-connector-mock-integration-tests \
  -Pintegration-tests clean verify \
  -DforkCount=2 \
  -DreuseForks=true

Build

  • Build completed using ./mvnw clean install -P contrib-check
    • JDK 21
    • JDK 25

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

No new dependencies were introduced.

Documentation

  • Documentation formatting appears as expected in rendered files

No documentation files were changed.

@exceptionfactory exceptionfactory 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.

Thanks for drafting this pull request @skeossei, please update the commit message and pull request title with the associated Jira issue number.

@skeossei skeossei changed the title Isolate StandardConnectorTestRunner filesystem paths NIFI-16353 Isolate StandardConnectorTestRunner filesystem paths Sep 16, 2026
@skeossei skeossei changed the title NIFI-16353 Isolate StandardConnectorTestRunner filesystem paths NIFI-16353 - Isolate StandardConnectorTestRunner filesystem paths Sep 16, 2026
@skeossei

Copy link
Copy Markdown
Contributor Author

Updated the commit and PR title

@skeossei
skeossei marked this pull request as ready for review September 16, 2026 20:15
@pvillard31

Copy link
Copy Markdown
Contributor

@skeossei do not squash / force push commits after opening a PR, just add commits for the review cycles. If you do squash into a single commit, then you need to make sure this is rebased on top of main for the checks to properly execute.

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