Browse Source

list ec collections also

pull/991/head
Chris Lu 6 years ago
parent
commit
e941d0c2f4
  1. 2
      weed/server/master_grpc_server_collection.go
  2. 16
      weed/topology/topology.go

2
weed/server/master_grpc_server_collection.go

@ -19,7 +19,7 @@ func (ms *MasterServer) CollectionList(ctx context.Context, req *master_pb.Colle
collections := ms.Topo.ListCollections()
for _, c := range collections {
resp.Collections = append(resp.Collections, &master_pb.Collection{
Name: c.Name,
Name: c,
})
}

16
weed/topology/topology.go

@ -126,9 +126,21 @@ func (t *Topology) GetVolumeLayout(collectionName string, rp *storage.ReplicaPla
}).(*Collection).GetOrCreateVolumeLayout(rp, ttl)
}
func (t *Topology) ListCollections() (ret []*Collection) {
func (t *Topology) ListCollections() (ret []string) {
mapOfCollections := make(map[string]bool)
for _, c := range t.collectionMap.Items() {
ret = append(ret, c.(*Collection))
mapOfCollections[c.(*Collection).Name] = true
}
t.ecShardMapLock.RLock()
for _, ecVolumeLocation := range t.ecShardMap {
mapOfCollections[ecVolumeLocation.Collection] = true
}
t.ecShardMapLock.RUnlock()
for k, _ := range mapOfCollections {
ret = append(ret, k)
}
return ret
}

Loading…
Cancel
Save