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

   # Summary
   
   This is a reworking of the original `QuestDB` based status history based on 
community feedback. The main intention is to improve the maturity of the 
feature in order to be a possible default setting for 2.0. This improvement 
mainly focuses but not limited to:
   - Centralisation and separation of the `QuestDB` related code in order to 
better maintenance
   - Add capabilities to the client and database management which helps us 
dealing with issues (prioritising the continuity of the `NiFi` core 
functionality over the availability of the database)
   - Clarifications on the related repository code including exposing more 
customisation options in the properties among other things.
   
   The review if fairly big and complication. My suggested approach for easier 
understanding is the following:
   - The retry capability is something might be tackled separately, it provides 
a robust solution to retry smaller operations and used by the `quest-db` 
module. The `SynchronousRetryTemplateTest` is suggested for quicker grasping.
   - The newly added `quest-db` module is a good starting point for the actual 
`QuestDB` functionality. The included package description provides some 
overview of the main areas. The unit tests most helpful for understanding are 
the `CompositeClientTest` and the `EmbeddedDatabaseManagerTest`. Up to these 
point the code are considered standalone and however it follows `NiFi` 
conventions in the most regards, not depending on `NiFi` features.
   - Last part of the PR is the changes around the application of the code 
above. The tests were covering the previous implementation 
(`EmbeddedQuestDbStatusHistoryRepositoryForComponentsTest` and 
`EmbeddedQuestDbStatusHistoryRepositoryForNodeTest`) are still in place and 
other than some smaller technical changes they still guard the function the 
same way. Other then these, the code organisation changed heavily. Most of the 
business logic around handling the snapshots are the same but as the `QuestDB` 
specific code are moved out from the core, the structure evolved. I suggest to 
start with the `EmbeddedQuestDbStatusHistoryRepository` itself and go top-down. 
Majority of the related code is within the same package, other changes around 
are to integrate it properly.
   
   Please if any question is raising about either the approach or the 
implementation, do not hesitate to leave a comment about that, some additional 
context might be helpful to communicate my intent with the details of the 
change. Thanks!
   
   
   
   
   [NIFI-12236](https://issues.apache.org/jira/browse/NIFI-12236)
   
   # Tracking
   
   Please complete the following tracking steps prior to pull request creation.
   
   ### Issue Tracking
   
   - [ ] [Apache NiFi Jira](https://issues.apache.org/jira/browse/NIFI) issue 
created
   
   ### 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](https://apache.org/licenses/LICENSE-2.0) according to the [License 
Policy](https://www.apache.org/legal/resolved.html)
   - [ ] New dependencies are documented in applicable `LICENSE` and `NOTICE` 
files
   
   ### Documentation
   
   - [ ] 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