code: def decommission_brokers(self, broker_ids):
          
          groups = set()
          for b_id in broker_ids:
              try:
                  broker = self.cluster_topology.brokers[b_id]
              except KeyError:
                  self.log.error("Invalid broker id %s.", b_id)
                  # Raise an error for now. As alternative we may ignore the
                  # invalid id and continue with the others.
                  raise InvalidBrokerIdError(
                      "Broker id {} does not exist in cluster".format(b_id),
                  )
              broker.mark_decommissioned()
              groups.add(broker.replication_group)
  
          for group in groups:
              self._decommission_brokers_in_group(group)
docs: Decommission a list of brokers trying to keep the replication group
          the brokers belong to balanced.
  
          :param broker_ids: list of string representing valid broker ids in the cluster
          :raises: InvalidBrokerIdError when the id is invalid.