Milind, NiFi doesn't participate in XA transactions. It would make no sense for it due to the nature of the design - it's a dataflow product vs an atomic orchestrator of transactional events.
Having said that, NiFi fully supports internal local transactions, so every transition of your data piece from componentA to componentB is persisted and kept atomic through internal NiFi connections.
View solution in original post
NiFi processors have their own transaction concept called a session. Each processor starts a session, performs one or more operations, and then commits or rolls back the session.
You can see the general idea in the AbstractProcessor that many processors extends from: