mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2026-05-22 01:31:34 +00:00
Bug: setupReplicaReceiver derived the advertised host from localServerID, which can be an opaque string (from -id flag, e.g., "my-custom-server-id"). This would publish unusable endpoints like "my-custom-server-id:14260". Fix: - volume_server_block.go: add advertisedIP field (always a real IP from -ip flag), use it instead of localServerID for replica canonicalization - volume.go: wire *v.ip → blockService.SetAdvertisedIP() at startup - blockvol.go: StartReplicaReceiver variadic advertisedHost unchanged Proof (sync_all_bug_test.go TestBug3, 4 sub-cases): - fallback: wildcard bind without advertisedHost → outbound-IP - advertisedHost: explicit IP appears in exported addresses - StartReplicaReceiver_API: public API forwards host correctly - opaque_identity_not_routable: proves opaque string produces non-routable address, confirming production must use advertisedIP Identity vs transport separation preserved: - localServerID: stable identity for V2 control (may be opaque) - advertisedIP: routable IP for transport endpoints (always real IP) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>