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

   NiFi Registry previously supported only single-node deployments. This PR 
introduces full HA support — leader election, write replication, cache 
coherency, durable event delivery, bootstrap DB sync, maintenance mode, and 
cluster health
   observability.
   
   Two coordination backends are selectable via 
nifi.registry.cluster.coordination:
   - zookeeper — Curator LeaderSelector, ZNode push-based cache invalidation, 
per-node local H2
   - database — DB TTL lease, CACHE_VERSION polling, shared PostgreSQL / MySQL
   
   When nifi.registry.cluster.enabled=false (the default) all new code paths 
are inactive — single-node behaviour is unchanged.
   
   Full design, component map, flow diagrams, and deployment guide: 
nifi-registry/NIFI-8843-HA-Design.md
   
   ---
   Key Implementation Points
   
   - Follower writes return 307 Temporary Redirect to the leader (not a 
transparent proxy) so mTLS client identity is preserved end-to-end
   - Leader fan-out is asynchronous via X-Registry-Replication + 
X-Registry-Internal-Auth headers; constant-time token comparison 
(MessageDigest.isEqual) prevents timing attacks
   - Bootstrap sync uses H2's native SCRIPT/RUNSCRIPT — no external tooling 
required
   - CuratorFramework bean is @Lazy — never instantiated in standalone/DB mode 
even with a blank connect string
   - New Flyway migration V9 adds CACHE_VERSION, CLUSTER_LEADER, and 
REGISTRY_EVENT tables (H2, MySQL, PostgreSQL)


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to