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]
