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-12370 Fixed Distributed Map Cache Client Service Shutdown #8027

Closed
wants to merge 1 commit into from

Conversation

exceptionfactory
Copy link
Contributor

Summary

NIFI-12370 Corrects the behavior of the DistributedMapCacheClientService to close the supporting Netty thread pool when disabling the Controller Service.

The resolution moves the creation of the Netty NioEventLoopGroup from the Channel Pool Factory to the calling DistributedCacheClient so that the closeChannelPool() method can close both the ChannelPool and the EventLoopGroup.

This correction can be verified using the DistributedMapCacheClientService and the DistributedMapCacheServer together with the PutDistributedMapCache Processor. It is necessary to run the Processor at least once to create new threads. The presence of created threads can be verified using jconsole or a thread dump. After stopping the Processor and disabling the DistributedMapCacheClientService, the threads are no longer present in the JVM.

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 21

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

- Moved EventLoopGroup from CacheClientChannelPoolFactory to DistributedCacheClient to enable closing the EventLoopGroup after closing the ChannelPool
@esecules
Copy link
Contributor

Pulled the branch, can confirm it's fixed.

@asfgit asfgit closed this in 5815d83 Nov 15, 2023
asfgit pushed a commit that referenced this pull request Nov 15, 2023
- Moved EventLoopGroup from CacheClientChannelPoolFactory to DistributedCacheClient to enable closing the EventLoopGroup after closing the ChannelPool

Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes #8027.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants