diff --git a/kafka/admin/_groups.py b/kafka/admin/_groups.py index 902ca646b..1356c33fb 100644 --- a/kafka/admin/_groups.py +++ b/kafka/admin/_groups.py @@ -428,11 +428,7 @@ def _remove_group_members_process_batch_response(response): raise top_level( "LeaveGroupRequest failed with response '{}'.".format(response)) return { - MemberToRemove( - member_id=m.member_id or None, - group_instance_id=m.group_instance_id, - reason=None, - ): Errors.for_code(m.error_code) + (m.member_id or m.group_instance_id): Errors.for_code(m.error_code) for m in response.members } @@ -468,7 +464,7 @@ async def _async_remove_group_members(self, group_id, members, max_version=2, ) response = await self._manager.send(request, node_id=group_coordinator_id) - results[m] = Errors.for_code(response.error_code) + results[m.member_id or m.group_instance_id] = Errors.for_code(response.error_code) return results def remove_group_members(self, group_id, members, group_coordinator_id=None): diff --git a/kafka/cli/admin/groups/remove_members.py b/kafka/cli/admin/groups/remove_members.py index c55810a11..196824e81 100644 --- a/kafka/cli/admin/groups/remove_members.py +++ b/kafka/cli/admin/groups/remove_members.py @@ -39,4 +39,4 @@ def command(cls, client, args): result = client.remove_group_members( args.group_id, members, group_coordinator_id=args.group_coordinator_id) - return {(m.member_id or m.group_instance_id): err.__name__ for m, err in result.items()} + return {m: err.__name__ for m, err in result.items()} diff --git a/test/admin/test_admin_groups.py b/test/admin/test_admin_groups.py index 6f924ede8..d00c7fdb1 100644 --- a/test/admin/test_admin_groups.py +++ b/test/admin/test_admin_groups.py @@ -341,8 +341,8 @@ def test_batch_success_returns_member_to_noerror(self): admin.close() assert result == { - MemberToRemove(member_id='m1'): NoError, - MemberToRemove(group_instance_id='static-1'): NoError, + 'm1': NoError, + 'static-1': NoError, } def test_batch_request_fields(self): @@ -432,7 +432,7 @@ def test_batch_per_member_error_returned(self): finally: admin.close() - assert result == {MemberToRemove(member_id='m1'): UnknownMemberIdError} + assert result == {'m1': UnknownMemberIdError} def test_empty_members_is_noop(self): broker = MockBroker() @@ -475,8 +475,8 @@ def handler(api_key, api_version, correlation_id, request_bytes): assert captured[0].member_id == 'm1' assert captured[1].member_id == 'm2' assert result == { - MemberToRemove(member_id='m1'): NoError, - MemberToRemove(member_id='m2'): NoError, + 'm1': NoError, + 'm2': NoError, } def test_fallback_rejects_group_instance_id(self):