The current implementation of close() waits for a response to LeaveGroup. However, if we have an outstanding rebalance in the works, this can cause the close() operation to have to wait for the entire rebalance process to complete, which is annoying since the goal is to get rid of the consumer object anyway. This is at best surprising and at worst can cause unexpected bugs due to close() taking excessively long – this was found due to exceeding timeouts unexpectedly causing other operations in Kafka Connect to timeout.
Waiting for a response isn't necessary since as soon as the data is in the TCP buffer, it'll be delivered to the broker. The client doesn't benefit at all from seeing the close group. So we can instead just always send the request