Browse Source

pooler:take_group_member/1: do not distinguish empty from non-existing group

When we replace pg2 with pg we cannot tell these cases apart.
Mikael Pettersson 4 years ago
parent
commit
4d309057d6
2 changed files with 5 additions and 5 deletions
  1. 2 2
      src/pooler.erl
  2. 3 3
      test/pooler_tests.erl

+ 2 - 2
src/pooler.erl

@@ -208,11 +208,11 @@ take_member(PoolName, Timeout) when is_atom(PoolName) orelse is_pid(PoolName) ->
 %% `GroupName'. Returns `MemberPid' or `error_no_members'.  If no
 %% members are available in the randomly chosen pool, all other pools
 %% in the group are tried in order.
--spec take_group_member(atom()) -> pid() | error_no_members | {error_no_group, atom()}.
+-spec take_group_member(atom()) -> pid() | error_no_members.
 take_group_member(GroupName) ->
     case pg2:get_local_members(GroupName) of
         {error, {no_such_group, GroupName}} ->
-            {error_no_group, GroupName};
+            error_no_members;
         [] ->
             error_no_members;
         Pools ->

+ 3 - 3
test/pooler_tests.erl

@@ -476,7 +476,7 @@ pooler_groups_test_() ->
 
       {"take member from unknown group",
        fun() ->
-               ?assertEqual({error_no_group, not_a_group},
+               ?assertEqual(error_no_members,
                             pooler:take_group_member(not_a_group))
        end},
 
@@ -545,7 +545,7 @@ pooler_groups_test_() ->
 
                ?assertExit({noproc, _}, pooler:take_member(test_pool_1)),
                ?assertExit({noproc, _}, pooler:take_member(test_pool_2)),
-               ?assertEqual({error_no_group, group_1},
+               ?assertEqual(error_no_members,
                             pooler:take_group_member(group_1))
        end},
 
@@ -569,7 +569,7 @@ pooler_groups_test_() ->
 
                ?assertExit({noproc, _}, pooler:take_member(test_pool_1)),
                ?assertExit({noproc, _}, pooler:take_member(test_pool_2)),
-               ?assertEqual({error_no_group, group_1},
+               ?assertEqual(error_no_members,
                             pooler:take_group_member(group_1))
        end}
      ]}}.