Skip to content

Conversation

@vishal-firgan-ksolves
Copy link

Summary

This PR introduces Cassandra processor support for Apache NiFi 2.x, enabling Cassandra integration aligned with the latest DataStax Java driver.

NIFI-15254

Enhancements over NiFi 1.28:

  • NiFi 1.28 Cassandra processor did not support the following column types: UUID, TIMEUUID, DATE, TIME, TIMESTAMP, DECIMAL, VARINT, etc.
  • This processor adds proper type conversions for these and other relevant types according to Cassandra column definitions.

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.

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

Documentation

  • Documentation formatting appears as expected in rendered files

Copy link
Contributor

@exceptionfactory exceptionfactory left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for putting together this updated version of Cassandra components @vishal-firgan-ksolves.

It is great to have the upgrade to the latest client driver version included.

A recent attempt to reintroduce Cassandra support stalled, but includes some important feedback about additional changes needed. In particular, a number of important implementation conventions need to be addressed before this can be considered for inclusion. I have not reviewed this code in detail, but it looks like most of the following issues mentioned in this comment also need to be addressed in this pull request:

#10006 (review)

If you are willing to put in the time to work through these issues, then this has the opportunity go forward.

Copy link
Contributor

@exceptionfactory exceptionfactory left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also for the purpose of efficient review, I recommend breaking this pull request into multiple parts. Specifically, starting with only the QueryCassandra Processor would allow us to get the core interface and conventional details addressed. Once that is reviewed and merged, the PutCassandra Processors could be considered. This is not a hard requirement, but it more components will require more review time.

@vishal-firgan-ksolves
Copy link
Author

Thank you for the feedback @exceptionfactory and for pointing me to the relevant review. I will work through these suggestions and update the code to align with NiFi’s current conventions. I'll let you know once the changes are ready for another look.

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.

2 participants