public SaslHandshakeResponse(Struct struct) { error = Errors.forCode(struct.get(ERROR_CODE)); Object[] mechanisms = struct.getArray(ENABLED_MECHANISMS_KEY_NAME); ArrayList<String> enabledMechanisms = new ArrayList<>(); for (Object mechanism : mechanisms) enabledMechanisms.add((String) mechanism); this.enabledMechanisms = enabledMechanisms; }
public LeaderAndIsrResponse(Struct struct) { responses = new HashMap<>(); for (Object responseDataObj : struct.get(PARTITIONS)) { Struct responseData = (Struct) responseDataObj; String topic = responseData.get(TOPIC_NAME); int partition = responseData.get(PARTITION_ID); Errors error = Errors.forCode(responseData.get(ERROR_CODE)); responses.put(new TopicPartition(topic, partition), error); } error = Errors.forCode(struct.get(ERROR_CODE)); }
public StopReplicaResponse(Struct struct) { responses = new HashMap<>(); for (Object responseDataObj : struct.get(PARTITIONS)) { Struct responseData = (Struct) responseDataObj; String topic = responseData.get(TOPIC_NAME); int partition = responseData.get(PARTITION_ID); Errors error = Errors.forCode(responseData.get(ERROR_CODE)); responses.put(new TopicPartition(topic, partition), error); } error = Errors.forCode(struct.get(ERROR_CODE)); }
public EndTxnResponse(Struct struct) { this.throttleTimeMs = struct.get(THROTTLE_TIME_MS); this.error = Errors.forCode(struct.get(ERROR_CODE)); }
public ApiError(Struct struct) { error = Errors.forCode(struct.get(ERROR_CODE)); // In some cases, the error message field was introduced in newer version message = struct.getOrElse(ERROR_MESSAGE, null); }
public LeaveGroupResponse(Struct struct) { this.throttleTimeMs = struct.getOrElse(THROTTLE_TIME_MS, DEFAULT_THROTTLE_TIME); this.error = Errors.forCode(struct.get(ERROR_CODE)); }
public ControlledShutdownResponse(Struct struct) { error = Errors.forCode(struct.get(ERROR_CODE)); Set<TopicPartition> partitions = new HashSet<>(); for (Object topicPartitionObj : struct.getArray(PARTITIONS_REMAINING_KEY_NAME)) { Struct topicPartition = (Struct) topicPartitionObj; String topic = topicPartition.get(TOPIC_NAME); int partition = topicPartition.get(PARTITION_ID); partitions.add(new TopicPartition(topic, partition)); } partitionsRemaining = partitions; }
public DeleteTopicsResponse(Struct struct) { this.throttleTimeMs = struct.getOrElse(THROTTLE_TIME_MS, DEFAULT_THROTTLE_TIME); Object[] topicErrorCodesStructs = struct.getArray(TOPIC_ERROR_CODES_KEY_NAME); Map<String, Errors> errors = new HashMap<>(); for (Object topicErrorCodeStructObj : topicErrorCodesStructs) { Struct topicErrorCodeStruct = (Struct) topicErrorCodeStructObj; String topic = topicErrorCodeStruct.get(TOPIC_NAME); Errors error = Errors.forCode(topicErrorCodeStruct.get(ERROR_CODE)); errors.put(topic, error); } this.errors = errors; }
public DeleteGroupsResponse(Struct struct) { this.throttleTimeMs = struct.getOrElse(THROTTLE_TIME_MS, DEFAULT_THROTTLE_TIME); Object[] groupErrorCodesStructs = struct.getArray(GROUP_ERROR_CODES_KEY_NAME); Map<String, Errors> errors = new HashMap<>(); for (Object groupErrorCodeStructObj : groupErrorCodesStructs) { Struct groupErrorCodeStruct = (Struct) groupErrorCodeStructObj; String group = groupErrorCodeStruct.get(GROUP_ID); Errors error = Errors.forCode(groupErrorCodeStruct.get(ERROR_CODE)); errors.put(group, error); } this.errors = errors; }
@Override public Map<Errors, Integer> errorCounts() { HashMap<Errors, Integer> counts = new HashMap<>(); for (ReplicaElectionResult result : data.replicaElectionResults()) { for (PartitionResult partitionResult : result.partitionResult()) { Errors error = Errors.forCode(partitionResult.errorCode()); counts.put(error, counts.getOrDefault(error, 0) + 1); } } return counts; }
public RenewDelegationTokenResponse(Struct struct) { error = Errors.forCode(struct.get(ERROR_CODE)); expiryTimestamp = struct.getLong(EXPIRY_TIMESTAMP_KEY_NAME); this.throttleTimeMs = struct.getOrElse(THROTTLE_TIME_MS, DEFAULT_THROTTLE_TIME); }
public SyncGroupResponse(Struct struct) { this.throttleTimeMs = struct.getOrElse(THROTTLE_TIME_MS, DEFAULT_THROTTLE_TIME); this.error = Errors.forCode(struct.get(ERROR_CODE)); this.memberState = struct.getBytes(MEMBER_ASSIGNMENT_KEY_NAME); }
public ExpireDelegationTokenResponse(Struct struct) { error = Errors.forCode(struct.get(ERROR_CODE)); this.expiryTimestamp = struct.getLong(EXPIRY_TIMESTAMP_KEY_NAME); this.throttleTimeMs = struct.getOrElse(THROTTLE_TIME_MS, DEFAULT_THROTTLE_TIME); }
public AddPartitionsToTxnResponse(Struct struct) { this.throttleTimeMs = struct.get(THROTTLE_TIME_MS); errors = new HashMap<>(); for (Object topic : struct.getArray(ERRORS_KEY_NAME)) { Struct topicStruct = (Struct) topic; final String topicName = topicStruct.get(TOPIC_NAME); for (Object partition : topicStruct.getArray(PARTITION_ERRORS)) { Struct partitionStruct = (Struct) partition; TopicPartition topicPartition = new TopicPartition(topicName, partitionStruct.get(PARTITION_ID)); errors.put(topicPartition, Errors.forCode(partitionStruct.get(ERROR_CODE))); } } }
public static Map<TopicPartition, ApiError> fromResponseData(ElectPreferredLeadersResponseData data) { Map<TopicPartition, ApiError> map = new HashMap<>(); for (ElectPreferredLeadersResponseData.ReplicaElectionResult topicResults : data.replicaElectionResults()) { for (ElectPreferredLeadersResponseData.PartitionResult partitionResult : topicResults.partitionResult()) { map.put(new TopicPartition(topicResults.topic(), partitionResult.partitionId()), new ApiError(Errors.forCode(partitionResult.errorCode()), partitionResult.errorMessage())); } } return map; }
public ListGroupsResponse(Struct struct) { this.throttleTimeMs = struct.getOrElse(THROTTLE_TIME_MS, DEFAULT_THROTTLE_TIME); this.error = Errors.forCode(struct.get(ERROR_CODE)); this.groups = new ArrayList<>(); for (Object groupObj : struct.getArray(GROUPS_KEY_NAME)) { Struct groupStruct = (Struct) groupObj; String groupId = groupStruct.get(GROUP_ID); String protocolType = groupStruct.getString(PROTOCOL_TYPE_KEY_NAME); this.groups.add(new Group(groupId, protocolType)); } }
public SaslAuthenticateResponse(Struct struct) { error = Errors.forCode(struct.get(ERROR_CODE)); errorMessage = struct.get(ERROR_MESSAGE); saslAuthBytes = struct.getBytes(SASL_AUTH_BYTES_KEY_NAME); sessionLifetimeMs = struct.hasField(SESSION_LIFETIME_MS) ? struct.getLong(SESSION_LIFETIME_MS).longValue() : 0L; }
public InitProducerIdResponse(Struct struct) { this.throttleTimeMs = struct.get(THROTTLE_TIME_MS); this.error = Errors.forCode(struct.get(ERROR_CODE)); this.producerId = struct.get(PRODUCER_ID); this.epoch = struct.get(PRODUCER_EPOCH); }
public FindCoordinatorResponse(Struct struct) { this.throttleTimeMs = struct.getOrElse(THROTTLE_TIME_MS, DEFAULT_THROTTLE_TIME); error = Errors.forCode(struct.get(ERROR_CODE)); errorMessage = struct.getOrElse(ERROR_MESSAGE, null); Struct broker = (Struct) struct.get(COORDINATOR_KEY_NAME); int nodeId = broker.getInt(NODE_ID_KEY_NAME); String host = broker.getString(HOST_KEY_NAME); int port = broker.getInt(PORT_KEY_NAME); node = new Node(nodeId, host, port); }
public CreateDelegationTokenResponse(Struct struct) { error = Errors.forCode(struct.get(ERROR_CODE)); Struct ownerStruct = (Struct) struct.get(OWNER_KEY_NAME); String principalType = ownerStruct.get(PRINCIPAL_TYPE); String principalName = ownerStruct.get(PRINCIPAL_NAME); owner = new KafkaPrincipal(principalType, principalName); issueTimestamp = struct.getLong(ISSUE_TIMESTAMP_KEY_NAME); expiryTimestamp = struct.getLong(EXPIRY_TIMESTAMP_NAME); maxTimestamp = struct.getLong(MAX_TIMESTAMP_NAME); tokenId = struct.getString(TOKEN_ID_KEY_NAME); hmac = struct.getBytes(HMAC_KEY_NAME); this.throttleTimeMs = struct.getOrElse(THROTTLE_TIME_MS, DEFAULT_THROTTLE_TIME); }