Hi all,
I'm running into a recurring, intermittent failure during gpinitsystem segment initialization on Cloudberry DB 2.1.0.
Environment:
- Cloudberry DB 2.1.0
- 32 primary segments total (8 per host on all hosts)
Issue:
During gpinitsystem's parallel segment creation, a small number of segments fail at the "Configuring segment pg_hba.conf" step with an error like:
gpcreateseg.sh<host>gpadmin-[FATAL][<seg_id>]:-Failed Update pg_hba.conf for coordinator IP address fe80::<link-local-address>/128
This has happened across multiple attempts, each time on different segments (initially gpseg17 and gpseg23, most recently gpseg19), so it isn't tied to one specific segment or host — it looks like an intermittent race during the parallel pg_hba.conf update step.
What we found and already fixed:
gpinitsystem enumerates every IPv6 address on the coordinator, including link-local (fe80::) addresses, and writes a trust entry for each into every segment's pg_hba.conf. We found one of these link-local addresses belonged to the coordinator's "idrac" interface (Dell iDRAC virtual NIC, unrelated to the cluster network). We disabled IPv6 on that interface (net.ipv6.conf.idrac.disable_ipv6=1) to remove it from the enumerated address list.
After that fix, gpinitsystem got further, but a new segment (gpseg19) still failed with the same style of error, again on a link-local IPv6 address during the pg_hba.conf update step.
Questions:
1. Is this a known issue with how gpinitsystem/gpcreateseg.sh enumerates and writes trust entries for coordinator link-local IPv6 addresses during parallel segment creation?
2. Is there a way to exclude link-local (fe80::/10) addresses entirely from the pg_hba.conf population, rather than tracking down and disabling IPv6 per interface?
3. Could this be a race condition in the parallel pg_hba.conf update logic itself (multiple gpcreateseg.sh processes hitting the same coordinator address list concurrently), rather than purely a network/interface issue?
Happy to share the full gpinitsystem log if useful. Any guidance on the right fix (network-side vs. a gpinitsystem/gpcreateseg.sh behavior) would be appreciated.
Thanks!