Method: LS4::MembershipService#stat_replset_info

Defined in:
lib/ls4/service/membership.rb

#stat_replset_infoObject



91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# File 'lib/ls4/service/membership.rb', line 91

def stat_replset_info
  rsid_nids = {}
  MembershipBus.get_all_nodes.each {|node|
    node.rsids.each {|rsid|
      (rsid_nids[rsid] ||= []) << node.nid
    }
  }

  rsids = WeightBus.get_registered_rsids + MembershipBus.get_active_rsids
  rsids.uniq!

  result = {}
  rsids.each {|rsid|
    weight = WeightBus.get_weight(rsid)
    nids = rsid_nids[rsid] || []
    result[rsid] = [nids, weight]
  }

  result
end