Skip to content

MINIFICPP-2852 Implement LMDB based flow file repository - #2203

Open
lordgamez wants to merge 3 commits into
apache:MINIFICPP-2849from
lordgamez:MINIFICPP-2852
Open

MINIFICPP-2852 Implement LMDB based flow file repository#2203
lordgamez wants to merge 3 commits into
apache:MINIFICPP-2849from
lordgamez:MINIFICPP-2852

Conversation

@lordgamez

Copy link
Copy Markdown
Contributor

https://issues.apache.org/jira/browse/MINIFICPP-2852


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

Implements an LMDB-backed FlowFile repository and extracts shared LMDB database operations for reuse.

Changes:

  • Adds configurable LMDB FlowFile persistence and recovery.
  • Introduces a shared LMDB wrapper.
  • Updates LMDB content repository and tests.

Reviewed changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
Configuration.h Adds FlowFile LMDB size property.
Configuration.cpp Registers property validation.
LmdbStreamTests.cpp Adapts stream tests to the wrapper.
LmdbFlowFileRepositoryTests.cpp Tests the new repository.
LmdbContentSessionTests.cpp Updates repository namespace.
LmdbContentRepositoryTests.cpp Updates namespace and logging tests.
LmdbWrapper.h Declares shared LMDB operations.
LmdbWrapper.cpp Implements shared LMDB operations.
LmdbStream.h Integrates streams with the wrapper.
LmdbStream.cpp Delegates stream persistence to the wrapper.
LmdbFlowFileRepository.h Declares the FlowFile repository.
LmdbFlowFileRepository.cpp Implements persistence, recovery, and deletion.
LmdbContentRepository.h Refactors content storage around the wrapper.
LmdbContentRepository.cpp Delegates content operations to the wrapper.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread extensions/lmdb/LmdbFlowFileRepository.cpp Outdated
Comment thread extensions/lmdb/LmdbFlowFileRepository.cpp
Comment thread extensions/lmdb/LmdbWrapper.cpp
Comment thread minifi-api/include/minifi-cpp/properties/Configuration.h
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants