Skip to content

Commit 790d5fe

Browse files
committed
Fixes to make these changes upgrade compatible
1 parent cfdca35 commit 790d5fe

File tree

2 files changed

+18
-3
lines changed

2 files changed

+18
-3
lines changed

cmd/pg_unregister/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ func processUnregistration(ctx context.Context) error {
4545

4646
machineID := string(machineBytes)
4747

48-
if len(machineID) != 16 {
48+
if len(machineID) != 14 {
4949
return fmt.Errorf("invalid machine id: %s. (expected length 16, got %d)", machineID, len(machineBytes))
5050
}
5151

internal/flypg/repmgr.go

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -363,7 +363,14 @@ func (r *RepMgr) Members(ctx context.Context, pg *pgx.Conn) ([]Member, error) {
363363
return nil, err
364364
}
365365

366-
member.Hostname = r.machineIDToDNS(member.Name)
366+
// Assume we are working with a machineID if the name is 14 characters long.
367+
if len(member.Name) == 14 {
368+
member.Hostname = r.machineIDToDNS(member.Name)
369+
} else {
370+
// Member name is the private IP.
371+
member.Hostname = member.Name
372+
member.Name = ""
373+
}
367374

368375
members = append(members, member)
369376
}
@@ -399,7 +406,14 @@ func (r *RepMgr) PrimaryMember(ctx context.Context, pg *pgx.Conn) (*Member, erro
399406
return nil, err
400407
}
401408

402-
member.Hostname = r.machineIDToDNS(member.Name)
409+
// Assume we are working with a machineID if the name is 14 characters long.
410+
if len(member.Name) == 14 {
411+
member.Hostname = r.machineIDToDNS(member.Name)
412+
} else {
413+
// Member name is the private IP.
414+
member.Hostname = member.Name
415+
member.Name = ""
416+
}
403417

404418
return &member, nil
405419
}
@@ -455,6 +469,7 @@ func (r *RepMgr) MemberByNodeName(ctx context.Context, pg *pgx.Conn, name string
455469
return &member, nil
456470
}
457471

472+
// Deprecated: Use MemberByNodeName instead.
458473
func (*RepMgr) MemberByHostname(ctx context.Context, pg *pgx.Conn, hostname string) (*Member, error) {
459474
var member Member
460475
sql := fmt.Sprintf("select node_id, node_name, location, active, type from repmgr.nodes where node_name = '%s';", hostname)

0 commit comments

Comments
 (0)