private Map<TopicPartition, OffsetAndMetadata> partialOffsets(ConsumerRecords<byte[], byte[]> allRecords, double fraction) {
        return allRecords.partitions()
                .stream()
                .collect(Collectors.toMap(Function.identity(), partition -> {
                    List<ConsumerRecord<byte[], byte[]>> records = allRecords.records(partition);
                    int index = (int) (records.size() * fraction);
                    return new OffsetAndMetadata(records.get(index).offset());
                }));
    }
Tests MM2 replication and failover/failback logic.

MM2 is configured with active/active replication between two Kafka clusters. Tests validate that
records sent to either cluster arrive at the other cluster. Then, a consumer group is migrated from
one cluster to the other and back. Tests validate that consumer offsets are translated and replicated
between clusters during this failover and failback.
connect/mirror/src/test/java/org/apache/kafka/connect/mirror/integration/MirrorConnectorsIntegrationBaseTest.java