Search in sources :

Example 11 with RegisterBrokerRecord

use of org.apache.kafka.common.metadata.RegisterBrokerRecord in project kafka by apache.

the class BrokerRegistration method toRecord.

public ApiMessageAndVersion toRecord() {
    RegisterBrokerRecord registrationRecord = new RegisterBrokerRecord().setBrokerId(id).setRack(rack.orElse(null)).setBrokerEpoch(epoch).setIncarnationId(incarnationId).setFenced(fenced);
    for (Entry<String, Endpoint> entry : listeners.entrySet()) {
        Endpoint endpoint = entry.getValue();
        registrationRecord.endPoints().add(new BrokerEndpoint().setName(entry.getKey()).setHost(endpoint.host()).setPort(endpoint.port()).setSecurityProtocol(endpoint.securityProtocol().id));
    }
    for (Entry<String, VersionRange> entry : supportedFeatures.entrySet()) {
        registrationRecord.features().add(new BrokerFeature().setName(entry.getKey()).setMinSupportedVersion(entry.getValue().min()).setMaxSupportedVersion(entry.getValue().max()));
    }
    return new ApiMessageAndVersion(registrationRecord, REGISTER_BROKER_RECORD.highestSupportedVersion());
}
Also used : BrokerFeature(org.apache.kafka.common.metadata.RegisterBrokerRecord.BrokerFeature) Endpoint(org.apache.kafka.common.Endpoint) BrokerEndpoint(org.apache.kafka.common.metadata.RegisterBrokerRecord.BrokerEndpoint) RegisterBrokerRecord(org.apache.kafka.common.metadata.RegisterBrokerRecord) BrokerEndpoint(org.apache.kafka.common.metadata.RegisterBrokerRecord.BrokerEndpoint) ApiMessageAndVersion(org.apache.kafka.server.common.ApiMessageAndVersion)

Aggregations

RegisterBrokerRecord (org.apache.kafka.common.metadata.RegisterBrokerRecord)11 Test (org.junit.jupiter.api.Test)7 BrokerEndpoint (org.apache.kafka.common.metadata.RegisterBrokerRecord.BrokerEndpoint)6 Endpoint (org.apache.kafka.common.Endpoint)5 LogContext (org.apache.kafka.common.utils.LogContext)5 MockTime (org.apache.kafka.common.utils.MockTime)5 ApiMessageAndVersion (org.apache.kafka.server.common.ApiMessageAndVersion)5 SnapshotRegistry (org.apache.kafka.timeline.SnapshotRegistry)5 Random (java.util.Random)4 UnfenceBrokerRecord (org.apache.kafka.common.metadata.UnfenceBrokerRecord)4 ParameterizedTest (org.junit.jupiter.params.ParameterizedTest)4 List (java.util.List)2 BrokerFeature (org.apache.kafka.common.metadata.RegisterBrokerRecord.BrokerFeature)2 UnregisterBrokerRecord (org.apache.kafka.common.metadata.UnregisterBrokerRecord)2 BrokerRegistration (org.apache.kafka.metadata.BrokerRegistration)2 ByteBuffer (java.nio.ByteBuffer)1 ArrayList (java.util.ArrayList)1 Arrays (java.util.Arrays)1 HashSet (java.util.HashSet)1 Optional (java.util.Optional)1