exceptionfactory opened a new pull request, #7870:
URL: https://github.com/apache/nifi/pull/7870

   # Summary
   
   [NIFI-12206](https://issues.apache.org/jira/browse/NIFI-12206) Refactors the 
Flow Configuration History auditing to use the JetBrains 
[Xodus](https://github.com/JetBrains/xodus) library for persistent storage in 
place of the [H2 Database Engine](https://h2database.com/html/main.html).
   
   These changes are targeted for the main branch, and follow-on work will 
handle automated migration for the support branch.
   
   The implementation removes the existing `StandardAuditService` and adds an 
`EntityStoreAuditService` with transactional operations using an Xodus [Entity 
Store](https://github.com/JetBrains/xodus/wiki/Entity-Stores). Changes include 
removing the `nifi.h2.url.append` property from `nifi.properties`.
   
   The new `EntityStoreAuditService` includes exception handling when loading 
to avoid application startup failures for corrupted files. The exception 
handling approach renames files in the database directory with a backup 
timestamp extension, and then proceeds to create a new instance. This strategy 
allows the potential for manual recovery, while enabling the application to 
start with a new persistent entity store.
   
   The new implementation supports existing Flow Configuration History queries 
with results filtering and paging. Queries against a test environment 
containing over one million entries remained responsive for both filtered and 
unfiltered results.
   
   JetBrains Xodus is licensed under Apache Software License Version 2.0 and 
does not contain additional notices.
   
   # Tracking
   
   Please complete the following tracking steps prior to pull request creation.
   
   ### Issue Tracking
   
   - [X] [Apache NiFi Jira](https://issues.apache.org/jira/browse/NIFI) issue 
created
   
   ### Pull Request Tracking
   
   - [X] Pull Request title starts with Apache NiFi Jira issue number, such as 
`NIFI-00000`
   - [X] Pull Request commit message starts with Apache NiFi Jira issue number, 
as such `NIFI-00000`
   
   ### Pull Request Formatting
   
   - [X] Pull Request based on current revision of the `main` branch
   - [X] 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
   
   - [X] Build completed using `mvn clean install -P contrib-check`
     - [X] JDK 21
   
   ### Licensing
   
   - [X] New dependencies are compatible with the [Apache License 
2.0](https://apache.org/licenses/LICENSE-2.0) according to the [License 
Policy](https://www.apache.org/legal/resolved.html)
   - [X] New dependencies are documented in applicable `LICENSE` and `NOTICE` 
files
   
   ### Documentation
   
   - [X] Documentation formatting appears as expected in rendered files
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@nifi.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to