storj/satellite/overlay
Márton Elek 0b02a48a10
satellite/nodeselection: SelectBySubnet should use placement filters for all nodes
Current node selection logic (in case of using SelectBySubnet):

 1. selects one subnet randomly
 2. selects one node randomly from the subnet
 3. applies the placement NodeFilters to the node and ignore it, if doesn't match

This logic is wrong:

 1. Imagine that we have a subnet with two DE and one GB nodes.
 2. We would like to select DE nodes
 2. In case of GB node is selected (randomly) in step2, step3 will ignore the subnet, even if there are good (DE) nodes in there.

Change-Id: I7673f52c89b46e0cc7b20a9b74137dc689d6c17e
2023-08-04 10:48:15 +02:00
..
offlinenodes satellite/overlay/offlinenodes: insert offline nodes into node events 2022-11-18 12:10:06 -05:00
straynodes satellite/overlay: insert DQ node events for stray nodes 2022-11-04 15:48:17 +00:00
benchmark_test.go satellite: switch to use nodefilters instead of old placement.AllowedCountry 2023-07-07 16:55:45 +00:00
checkin_test.go mod: bump common to fetch latest placement type changes 2021-11-16 12:42:25 +00:00
config.go satellite/overlay: configurable meaning of last_net 2023-03-09 02:20:12 +00:00
db_test.go storj: upgrade to use latest storj/common NodeAddress 2023-01-25 01:37:26 +00:00
downloadselection_test.go satellite: switch to use nodefilters instead of old placement.AllowedCountry 2023-07-07 16:55:45 +00:00
downloadselection.go satellite: switch to use nodefilters instead of old placement.AllowedCountry 2023-07-07 16:55:45 +00:00
peeridentities_test.go satellite/satellitedb/satellitedbtest: pass ctx as an argument 2020-01-20 16:35:42 +02:00
peeridentities.go all: golangci-lint v1.33.0 fixes (#3985) 2020-12-05 17:01:42 +01:00
piececount_test.go storj: upgrade to use latest storj/common NodeAddress 2023-01-25 01:37:26 +00:00
placement_test.go satellite/overlay: NR placement should exclude nodes without geofencing information 2023-07-31 09:55:54 +02:00
placement.go satellite/overlay: NR placement should exclude nodes without geofencing information 2023-07-31 09:55:54 +02:00
selection_test.go satellite: move satellite/nodeselection/uploadselection => satellite/nodeselection 2023-07-07 10:32:03 +02:00
service_test.go satellite/nodeselection: remove stats/size from nodeselection state 2023-08-01 18:29:41 +00:00
service.go satellite/{nodeselection,overlay}: use location.Set 2023-07-11 17:16:30 +00:00
statdb_test.go satellite: move satellite/nodeselection/uploadselection => satellite/nodeselection 2023-07-07 10:32:03 +02:00
uploadselection_test.go satellite/nodeselection: SelectBySubnet should use placement filters for all nodes 2023-08-04 10:48:15 +02:00
uploadselection.go satellite/nodeselection: remove stats/size from nodeselection state 2023-08-01 18:29:41 +00:00