Skip to content

Commit a173349

Browse files
authored
Merge pull request #2130 from hashicorp/b-fix-rtt-deadlock
Fix deadlock in Consul RTT.
2 parents 755c364 + c3e54b7 commit a173349

File tree

1 file changed

+2
-3
lines changed

1 file changed

+2
-3
lines changed

consul/rtt.go

+2-3
Original file line numberDiff line numberDiff line change
@@ -386,12 +386,11 @@ func getDatacenterMaps(s serfer, dcs []string) []structs.DatacenterMap {
386386
// other things being equal (or if coordinates are disabled).
387387
func (s *Server) getDatacentersByDistance() ([]string, error) {
388388
s.remoteLock.RLock()
389-
defer s.remoteLock.RUnlock()
390-
391-
var dcs []string
389+
dcs := make([]string, 0, len(s.remoteConsuls))
392390
for dc := range s.remoteConsuls {
393391
dcs = append(dcs, dc)
394392
}
393+
s.remoteLock.RUnlock()
395394

396395
// Sort by name first, since the coordinate sort is stable.
397396
sort.Strings(dcs)

0 commit comments

Comments
 (0)