Details
-
Bug
-
Resolution: Fixed
-
Critical
-
6.6.5
-
Untriaged
-
1
-
Unknown
Description
The following code does not handle the case where cluster_encryption_level is "all" where only the non-ssl port is considered. It should also consider the ssl port
do_get_indexes(Service, BucketId0, Nodes) ->
|
WantedHosts0 =
|
[begin
|
{_, Host} = misc:node_name_host(N),
|
Port = service_ports:get_port(rest_port, ns_config:latest(), N),
|
list_to_binary(misc:join_host_port(Host, Port))
|
end || N <- Nodes],
|
WantedHosts = lists:usort(WantedHosts0),
|
|
BucketId = list_to_binary(BucketId0),
|
{ok, Indexes, _Stale, _Version} = service_status_keeper:get_items(Service),
|
[begin
|
{index, Name} = lists:keyfind(index, 1, I),
|
Name
|
end || I <- Indexes,
|
proplists:get_value(bucket, I) =:= BucketId,
|
not(ordsets:is_disjoint(WantedHosts,
|
lists:usort(proplists:get_value(hosts, I))))].
|