kafka-python 3.0.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- kafka/__init__.py +34 -0
- kafka/__main__.py +5 -0
- kafka/admin/__init__.py +29 -0
- kafka/admin/__main__.py +5 -0
- kafka/admin/_acls.py +355 -0
- kafka/admin/_cluster.py +359 -0
- kafka/admin/_configs.py +479 -0
- kafka/admin/_groups.py +754 -0
- kafka/admin/_partitions.py +595 -0
- kafka/admin/_topics.py +281 -0
- kafka/admin/_transactions.py +450 -0
- kafka/admin/_users.py +194 -0
- kafka/admin/client.py +373 -0
- kafka/benchmarks/__init__.py +0 -0
- kafka/benchmarks/consumer_performance.py +138 -0
- kafka/benchmarks/load_example.py +109 -0
- kafka/benchmarks/producer_encode_path.py +201 -0
- kafka/benchmarks/producer_performance.py +161 -0
- kafka/benchmarks/profile_protocol.py +138 -0
- kafka/benchmarks/protocol_old_vs_new.py +447 -0
- kafka/benchmarks/record_batch_compose.py +77 -0
- kafka/benchmarks/record_batch_read.py +82 -0
- kafka/benchmarks/varint_speed.py +426 -0
- kafka/cli/__init__.py +36 -0
- kafka/cli/admin/__init__.py +117 -0
- kafka/cli/admin/acls/__init__.py +9 -0
- kafka/cli/admin/acls/common.py +76 -0
- kafka/cli/admin/acls/create.py +19 -0
- kafka/cli/admin/acls/delete.py +23 -0
- kafka/cli/admin/acls/describe.py +16 -0
- kafka/cli/admin/cluster/__init__.py +14 -0
- kafka/cli/admin/cluster/describe.py +11 -0
- kafka/cli/admin/cluster/describe_quorum.py +11 -0
- kafka/cli/admin/cluster/features.py +52 -0
- kafka/cli/admin/cluster/log_dirs.py +43 -0
- kafka/cli/admin/cluster/versions.py +33 -0
- kafka/cli/admin/configs/__init__.py +10 -0
- kafka/cli/admin/configs/alter.py +43 -0
- kafka/cli/admin/configs/common.py +17 -0
- kafka/cli/admin/configs/describe.py +30 -0
- kafka/cli/admin/configs/list.py +16 -0
- kafka/cli/admin/configs/reset.py +20 -0
- kafka/cli/admin/groups/__init__.py +16 -0
- kafka/cli/admin/groups/alter_offsets.py +30 -0
- kafka/cli/admin/groups/delete.py +11 -0
- kafka/cli/admin/groups/delete_offsets.py +29 -0
- kafka/cli/admin/groups/describe.py +11 -0
- kafka/cli/admin/groups/list.py +28 -0
- kafka/cli/admin/groups/list_offsets.py +29 -0
- kafka/cli/admin/groups/remove_members.py +40 -0
- kafka/cli/admin/groups/reset_offsets.py +139 -0
- kafka/cli/admin/partitions/__init__.py +21 -0
- kafka/cli/admin/partitions/alter_reassignments.py +37 -0
- kafka/cli/admin/partitions/create.py +27 -0
- kafka/cli/admin/partitions/delete_records.py +31 -0
- kafka/cli/admin/partitions/describe.py +36 -0
- kafka/cli/admin/partitions/elect_leaders.py +53 -0
- kafka/cli/admin/partitions/list_offsets.py +88 -0
- kafka/cli/admin/partitions/list_reassignments.py +35 -0
- kafka/cli/admin/topics/__init__.py +10 -0
- kafka/cli/admin/topics/create.py +13 -0
- kafka/cli/admin/topics/delete.py +19 -0
- kafka/cli/admin/topics/describe.py +18 -0
- kafka/cli/admin/topics/list.py +11 -0
- kafka/cli/admin/transactions/__init__.py +17 -0
- kafka/cli/admin/transactions/abort.py +38 -0
- kafka/cli/admin/transactions/describe.py +24 -0
- kafka/cli/admin/transactions/describe_producers.py +29 -0
- kafka/cli/admin/transactions/find_hanging.py +26 -0
- kafka/cli/admin/transactions/list.py +37 -0
- kafka/cli/admin/users/__init__.py +8 -0
- kafka/cli/admin/users/alter_user_scram_credentials.py +34 -0
- kafka/cli/admin/users/describe_user_scram_credentials.py +15 -0
- kafka/cli/common.py +95 -0
- kafka/cli/consumer/__init__.py +63 -0
- kafka/cli/producer/__init__.py +57 -0
- kafka/cluster.py +824 -0
- kafka/codec.py +325 -0
- kafka/consumer/__init__.py +5 -0
- kafka/consumer/__main__.py +5 -0
- kafka/consumer/fetcher.py +2012 -0
- kafka/consumer/group.py +1347 -0
- kafka/consumer/subscription_state.py +897 -0
- kafka/coordinator/__init__.py +0 -0
- kafka/coordinator/assignors/__init__.py +0 -0
- kafka/coordinator/assignors/abstract.py +90 -0
- kafka/coordinator/assignors/cooperative_sticky.py +167 -0
- kafka/coordinator/assignors/range.py +81 -0
- kafka/coordinator/assignors/roundrobin.py +101 -0
- kafka/coordinator/assignors/sticky/StickyAssignorUserData.json +37 -0
- kafka/coordinator/assignors/sticky/__init__.py +0 -0
- kafka/coordinator/assignors/sticky/partition_movements.py +149 -0
- kafka/coordinator/assignors/sticky/sorted_set.py +63 -0
- kafka/coordinator/assignors/sticky/sticky_assignor.py +665 -0
- kafka/coordinator/assignors/sticky/user_data.py +8 -0
- kafka/coordinator/base.py +1215 -0
- kafka/coordinator/consumer.py +1224 -0
- kafka/coordinator/heartbeat.py +82 -0
- kafka/coordinator/subscription.py +34 -0
- kafka/errors.py +1004 -0
- kafka/future.py +166 -0
- kafka/metrics/__init__.py +13 -0
- kafka/metrics/compound_stat.py +33 -0
- kafka/metrics/dict_reporter.py +81 -0
- kafka/metrics/kafka_metric.py +36 -0
- kafka/metrics/measurable.py +27 -0
- kafka/metrics/measurable_stat.py +13 -0
- kafka/metrics/metric_config.py +33 -0
- kafka/metrics/metric_name.py +105 -0
- kafka/metrics/metrics.py +261 -0
- kafka/metrics/metrics_reporter.py +53 -0
- kafka/metrics/quota.py +41 -0
- kafka/metrics/stat.py +19 -0
- kafka/metrics/stats/__init__.py +15 -0
- kafka/metrics/stats/avg.py +24 -0
- kafka/metrics/stats/count.py +17 -0
- kafka/metrics/stats/histogram.py +99 -0
- kafka/metrics/stats/max_stat.py +17 -0
- kafka/metrics/stats/min_stat.py +19 -0
- kafka/metrics/stats/percentile.py +14 -0
- kafka/metrics/stats/percentiles.py +75 -0
- kafka/metrics/stats/rate.py +118 -0
- kafka/metrics/stats/sampled_stat.py +99 -0
- kafka/metrics/stats/sensor.py +136 -0
- kafka/metrics/stats/total.py +15 -0
- kafka/net/__init__.py +19 -0
- kafka/net/compat.py +165 -0
- kafka/net/connection.py +593 -0
- kafka/net/http_connect.py +144 -0
- kafka/net/inet.py +122 -0
- kafka/net/manager.py +451 -0
- kafka/net/metrics.py +149 -0
- kafka/net/sasl/__init__.py +32 -0
- kafka/net/sasl/abc.py +28 -0
- kafka/net/sasl/gssapi.py +95 -0
- kafka/net/sasl/msk.py +245 -0
- kafka/net/sasl/oauth.py +98 -0
- kafka/net/sasl/plain.py +42 -0
- kafka/net/sasl/scram.py +135 -0
- kafka/net/sasl/sspi.py +111 -0
- kafka/net/selector.py +644 -0
- kafka/net/socks5.py +262 -0
- kafka/net/transport.py +415 -0
- kafka/net/wakeup_notifier.py +72 -0
- kafka/partitioner/__init__.py +8 -0
- kafka/partitioner/abc.py +8 -0
- kafka/partitioner/default.py +89 -0
- kafka/partitioner/sticky.py +109 -0
- kafka/producer/__init__.py +5 -0
- kafka/producer/__main__.py +5 -0
- kafka/producer/future.py +101 -0
- kafka/producer/kafka.py +1123 -0
- kafka/producer/producer_batch.py +192 -0
- kafka/producer/record_accumulator.py +647 -0
- kafka/producer/sender.py +884 -0
- kafka/producer/transaction_manager.py +1326 -0
- kafka/protocol/__init__.py +0 -0
- kafka/protocol/admin/__init__.py +29 -0
- kafka/protocol/admin/acl.py +83 -0
- kafka/protocol/admin/acl.pyi +375 -0
- kafka/protocol/admin/client_quotas.py +14 -0
- kafka/protocol/admin/client_quotas.pyi +265 -0
- kafka/protocol/admin/cluster.py +31 -0
- kafka/protocol/admin/cluster.pyi +620 -0
- kafka/protocol/admin/configs.py +22 -0
- kafka/protocol/admin/configs.pyi +437 -0
- kafka/protocol/admin/groups.py +24 -0
- kafka/protocol/admin/groups.pyi +261 -0
- kafka/protocol/admin/topics.py +53 -0
- kafka/protocol/admin/topics.pyi +982 -0
- kafka/protocol/admin/transactions.py +18 -0
- kafka/protocol/admin/transactions.pyi +311 -0
- kafka/protocol/admin/users.py +14 -0
- kafka/protocol/admin/users.pyi +223 -0
- kafka/protocol/api_data.py +125 -0
- kafka/protocol/api_header.py +55 -0
- kafka/protocol/api_key.py +97 -0
- kafka/protocol/api_message.py +277 -0
- kafka/protocol/broker_version_data.py +246 -0
- kafka/protocol/consumer/__init__.py +13 -0
- kafka/protocol/consumer/fetch.py +16 -0
- kafka/protocol/consumer/fetch.pyi +298 -0
- kafka/protocol/consumer/group.py +38 -0
- kafka/protocol/consumer/group.pyi +824 -0
- kafka/protocol/consumer/metadata.py +30 -0
- kafka/protocol/consumer/metadata.pyi +89 -0
- kafka/protocol/consumer/offsets.py +75 -0
- kafka/protocol/consumer/offsets.pyi +288 -0
- kafka/protocol/data_container.py +166 -0
- kafka/protocol/frame.py +30 -0
- kafka/protocol/generate_stubs.py +468 -0
- kafka/protocol/metadata/__init__.py +10 -0
- kafka/protocol/metadata/api_versions.py +41 -0
- kafka/protocol/metadata/api_versions.pyi +128 -0
- kafka/protocol/metadata/find_coordinator.py +19 -0
- kafka/protocol/metadata/find_coordinator.pyi +105 -0
- kafka/protocol/metadata/metadata.py +34 -0
- kafka/protocol/metadata/metadata.pyi +160 -0
- kafka/protocol/old/__init__.py +0 -0
- kafka/protocol/old/abstract.py +17 -0
- kafka/protocol/old/add_offsets_to_txn.py +54 -0
- kafka/protocol/old/add_partitions_to_txn.py +71 -0
- kafka/protocol/old/admin.py +1086 -0
- kafka/protocol/old/api.py +205 -0
- kafka/protocol/old/api_versions.py +133 -0
- kafka/protocol/old/commit.py +355 -0
- kafka/protocol/old/consumer_protocol.py +36 -0
- kafka/protocol/old/end_txn.py +53 -0
- kafka/protocol/old/fetch.py +408 -0
- kafka/protocol/old/find_coordinator.py +72 -0
- kafka/protocol/old/group.py +451 -0
- kafka/protocol/old/init_producer_id.py +42 -0
- kafka/protocol/old/list_offsets.py +186 -0
- kafka/protocol/old/metadata.py +290 -0
- kafka/protocol/old/offset_for_leader_epoch.py +133 -0
- kafka/protocol/old/produce.py +247 -0
- kafka/protocol/old/sasl_authenticate.py +38 -0
- kafka/protocol/old/sasl_handshake.py +39 -0
- kafka/protocol/old/struct.py +87 -0
- kafka/protocol/old/txn_offset_commit.py +73 -0
- kafka/protocol/old/types.py +440 -0
- kafka/protocol/parser.py +191 -0
- kafka/protocol/producer/__init__.py +7 -0
- kafka/protocol/producer/produce.py +17 -0
- kafka/protocol/producer/produce.pyi +197 -0
- kafka/protocol/producer/transaction.py +30 -0
- kafka/protocol/producer/transaction.pyi +663 -0
- kafka/protocol/sasl.py +52 -0
- kafka/protocol/sasl.pyi +126 -0
- kafka/protocol/schemas/__init__.py +7 -0
- kafka/protocol/schemas/fields/__init__.py +7 -0
- kafka/protocol/schemas/fields/array.py +127 -0
- kafka/protocol/schemas/fields/base.py +156 -0
- kafka/protocol/schemas/fields/codecs/__init__.py +12 -0
- kafka/protocol/schemas/fields/codecs/encode_buffer.py +82 -0
- kafka/protocol/schemas/fields/codecs/tagged_fields.py +109 -0
- kafka/protocol/schemas/fields/codecs/types.py +505 -0
- kafka/protocol/schemas/fields/codegen.py +40 -0
- kafka/protocol/schemas/fields/simple.py +127 -0
- kafka/protocol/schemas/fields/struct.py +357 -0
- kafka/protocol/schemas/fields/struct_array.py +142 -0
- kafka/protocol/schemas/load_json.py +42 -0
- kafka/protocol/schemas/resources/AddOffsetsToTxnRequest.json +40 -0
- kafka/protocol/schemas/resources/AddOffsetsToTxnResponse.json +35 -0
- kafka/protocol/schemas/resources/AddPartitionsToTxnRequest.json +65 -0
- kafka/protocol/schemas/resources/AddPartitionsToTxnResponse.json +60 -0
- kafka/protocol/schemas/resources/AlterClientQuotasRequest.json +47 -0
- kafka/protocol/schemas/resources/AlterClientQuotasResponse.json +41 -0
- kafka/protocol/schemas/resources/AlterConfigsRequest.json +43 -0
- kafka/protocol/schemas/resources/AlterConfigsResponse.json +39 -0
- kafka/protocol/schemas/resources/AlterPartitionReassignmentsRequest.json +42 -0
- kafka/protocol/schemas/resources/AlterPartitionReassignmentsResponse.json +47 -0
- kafka/protocol/schemas/resources/AlterReplicaLogDirsRequest.json +41 -0
- kafka/protocol/schemas/resources/AlterReplicaLogDirsResponse.json +41 -0
- kafka/protocol/schemas/resources/AlterUserScramCredentialsRequest.json +45 -0
- kafka/protocol/schemas/resources/AlterUserScramCredentialsResponse.json +35 -0
- kafka/protocol/schemas/resources/ApiVersionsRequest.json +34 -0
- kafka/protocol/schemas/resources/ApiVersionsResponse.json +79 -0
- kafka/protocol/schemas/resources/ConsumerProtocolAssignment.json +42 -0
- kafka/protocol/schemas/resources/ConsumerProtocolSubscription.json +49 -0
- kafka/protocol/schemas/resources/CreateAclsRequest.json +46 -0
- kafka/protocol/schemas/resources/CreateAclsResponse.json +37 -0
- kafka/protocol/schemas/resources/CreatePartitionsRequest.json +47 -0
- kafka/protocol/schemas/resources/CreatePartitionsResponse.json +41 -0
- kafka/protocol/schemas/resources/CreateTopicsRequest.json +65 -0
- kafka/protocol/schemas/resources/CreateTopicsResponse.json +72 -0
- kafka/protocol/schemas/resources/DeleteAclsRequest.json +46 -0
- kafka/protocol/schemas/resources/DeleteAclsResponse.json +59 -0
- kafka/protocol/schemas/resources/DeleteGroupsRequest.json +30 -0
- kafka/protocol/schemas/resources/DeleteGroupsResponse.json +36 -0
- kafka/protocol/schemas/resources/DeleteRecordsRequest.json +42 -0
- kafka/protocol/schemas/resources/DeleteRecordsResponse.json +43 -0
- kafka/protocol/schemas/resources/DeleteTopicsRequest.json +43 -0
- kafka/protocol/schemas/resources/DeleteTopicsResponse.json +52 -0
- kafka/protocol/schemas/resources/DescribeAclsRequest.json +43 -0
- kafka/protocol/schemas/resources/DescribeAclsResponse.json +55 -0
- kafka/protocol/schemas/resources/DescribeClientQuotasRequest.json +37 -0
- kafka/protocol/schemas/resources/DescribeClientQuotasResponse.json +47 -0
- kafka/protocol/schemas/resources/DescribeClusterRequest.json +35 -0
- kafka/protocol/schemas/resources/DescribeClusterResponse.json +56 -0
- kafka/protocol/schemas/resources/DescribeConfigsRequest.json +42 -0
- kafka/protocol/schemas/resources/DescribeConfigsResponse.json +69 -0
- kafka/protocol/schemas/resources/DescribeGroupsRequest.json +38 -0
- kafka/protocol/schemas/resources/DescribeGroupsResponse.json +74 -0
- kafka/protocol/schemas/resources/DescribeLogDirsRequest.json +38 -0
- kafka/protocol/schemas/resources/DescribeLogDirsResponse.json +65 -0
- kafka/protocol/schemas/resources/DescribeProducersRequest.json +32 -0
- kafka/protocol/schemas/resources/DescribeProducersResponse.json +55 -0
- kafka/protocol/schemas/resources/DescribeQuorumRequest.json +39 -0
- kafka/protocol/schemas/resources/DescribeQuorumResponse.json +82 -0
- kafka/protocol/schemas/resources/DescribeTopicPartitionsRequest.json +40 -0
- kafka/protocol/schemas/resources/DescribeTopicPartitionsResponse.json +66 -0
- kafka/protocol/schemas/resources/DescribeTransactionsRequest.json +27 -0
- kafka/protocol/schemas/resources/DescribeTransactionsResponse.json +52 -0
- kafka/protocol/schemas/resources/DescribeUserScramCredentialsRequest.json +30 -0
- kafka/protocol/schemas/resources/DescribeUserScramCredentialsResponse.json +45 -0
- kafka/protocol/schemas/resources/ElectLeadersRequest.json +41 -0
- kafka/protocol/schemas/resources/ElectLeadersResponse.json +45 -0
- kafka/protocol/schemas/resources/EndTxnRequest.json +43 -0
- kafka/protocol/schemas/resources/EndTxnResponse.json +41 -0
- kafka/protocol/schemas/resources/FetchRequest.json +125 -0
- kafka/protocol/schemas/resources/FetchResponse.json +124 -0
- kafka/protocol/schemas/resources/FindCoordinatorRequest.json +43 -0
- kafka/protocol/schemas/resources/FindCoordinatorResponse.json +58 -0
- kafka/protocol/schemas/resources/HeartbeatRequest.json +39 -0
- kafka/protocol/schemas/resources/HeartbeatResponse.json +35 -0
- kafka/protocol/schemas/resources/IncrementalAlterConfigsRequest.json +44 -0
- kafka/protocol/schemas/resources/IncrementalAlterConfigsResponse.json +38 -0
- kafka/protocol/schemas/resources/InitProducerIdRequest.json +50 -0
- kafka/protocol/schemas/resources/InitProducerIdResponse.json +47 -0
- kafka/protocol/schemas/resources/JoinGroupRequest.json +63 -0
- kafka/protocol/schemas/resources/JoinGroupResponse.json +69 -0
- kafka/protocol/schemas/resources/LeaveGroupRequest.json +47 -0
- kafka/protocol/schemas/resources/LeaveGroupResponse.json +47 -0
- kafka/protocol/schemas/resources/ListConfigResourcesRequest.json +31 -0
- kafka/protocol/schemas/resources/ListConfigResourcesResponse.json +37 -0
- kafka/protocol/schemas/resources/ListGroupsRequest.json +36 -0
- kafka/protocol/schemas/resources/ListGroupsResponse.json +49 -0
- kafka/protocol/schemas/resources/ListOffsetsRequest.json +72 -0
- kafka/protocol/schemas/resources/ListOffsetsResponse.json +71 -0
- kafka/protocol/schemas/resources/ListPartitionReassignmentsRequest.json +34 -0
- kafka/protocol/schemas/resources/ListPartitionReassignmentsResponse.json +46 -0
- kafka/protocol/schemas/resources/ListTransactionsRequest.json +40 -0
- kafka/protocol/schemas/resources/ListTransactionsResponse.json +42 -0
- kafka/protocol/schemas/resources/MetadataRequest.json +56 -0
- kafka/protocol/schemas/resources/MetadataResponse.json +101 -0
- kafka/protocol/schemas/resources/OffsetCommitRequest.json +76 -0
- kafka/protocol/schemas/resources/OffsetCommitResponse.json +71 -0
- kafka/protocol/schemas/resources/OffsetDeleteRequest.json +39 -0
- kafka/protocol/schemas/resources/OffsetDeleteResponse.json +42 -0
- kafka/protocol/schemas/resources/OffsetFetchRequest.json +76 -0
- kafka/protocol/schemas/resources/OffsetFetchResponse.json +107 -0
- kafka/protocol/schemas/resources/OffsetForLeaderEpochRequest.json +52 -0
- kafka/protocol/schemas/resources/OffsetForLeaderEpochResponse.json +51 -0
- kafka/protocol/schemas/resources/ProduceRequest.json +73 -0
- kafka/protocol/schemas/resources/ProduceResponse.json +96 -0
- kafka/protocol/schemas/resources/RequestHeader.json +44 -0
- kafka/protocol/schemas/resources/ResponseHeader.json +26 -0
- kafka/protocol/schemas/resources/SaslAuthenticateRequest.json +29 -0
- kafka/protocol/schemas/resources/SaslAuthenticateResponse.json +34 -0
- kafka/protocol/schemas/resources/SaslHandshakeRequest.json +31 -0
- kafka/protocol/schemas/resources/SaslHandshakeResponse.json +32 -0
- kafka/protocol/schemas/resources/SyncGroupRequest.json +56 -0
- kafka/protocol/schemas/resources/SyncGroupResponse.json +46 -0
- kafka/protocol/schemas/resources/TxnOffsetCommitRequest.json +68 -0
- kafka/protocol/schemas/resources/TxnOffsetCommitResponse.json +47 -0
- kafka/protocol/schemas/resources/UpdateFeaturesRequest.json +43 -0
- kafka/protocol/schemas/resources/UpdateFeaturesResponse.json +39 -0
- kafka/protocol/schemas/resources/WriteTxnMarkersRequest.json +49 -0
- kafka/protocol/schemas/resources/WriteTxnMarkersResponse.json +45 -0
- kafka/protocol/schemas/resources/__init__.py +0 -0
- kafka/record/__init__.py +3 -0
- kafka/record/_crc32c.py +161 -0
- kafka/record/abc.py +144 -0
- kafka/record/default_records.py +782 -0
- kafka/record/legacy_records.py +587 -0
- kafka/record/memory_records.py +255 -0
- kafka/record/util.py +135 -0
- kafka/serializer/__init__.py +4 -0
- kafka/serializer/abstract.py +20 -0
- kafka/serializer/default.py +16 -0
- kafka/serializer/json.py +17 -0
- kafka/serializer/wrapper.py +21 -0
- kafka/structs.py +69 -0
- kafka/util.py +159 -0
- kafka/vendor/__init__.py +0 -0
- kafka/version.py +1 -0
- kafka_python-3.0.0.dist-info/METADATA +319 -0
- kafka_python-3.0.0.dist-info/RECORD +373 -0
- kafka_python-3.0.0.dist-info/WHEEL +5 -0
- kafka_python-3.0.0.dist-info/entry_points.txt +2 -0
- kafka_python-3.0.0.dist-info/licenses/LICENSE +202 -0
- kafka_python-3.0.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
// Licensed to the Apache Software Foundation (ASF) under one or more
|
|
2
|
+
// contributor license agreements. See the NOTICE file distributed with
|
|
3
|
+
// this work for additional information regarding copyright ownership.
|
|
4
|
+
// The ASF licenses this file to You under the Apache License, Version 2.0
|
|
5
|
+
// (the "License"); you may not use this file except in compliance with
|
|
6
|
+
// the License. You may obtain a copy of the License at
|
|
7
|
+
//
|
|
8
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
//
|
|
10
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
// See the License for the specific language governing permissions and
|
|
14
|
+
// limitations under the License.
|
|
15
|
+
|
|
16
|
+
{
|
|
17
|
+
"apiKey": 15,
|
|
18
|
+
"type": "request",
|
|
19
|
+
"listeners": ["broker"],
|
|
20
|
+
"name": "DescribeGroupsRequest",
|
|
21
|
+
// Versions 1 and 2 are the same as version 0.
|
|
22
|
+
//
|
|
23
|
+
// Starting in version 3, authorized operations can be requested.
|
|
24
|
+
//
|
|
25
|
+
// Starting in version 4, the response will include group.instance.id info for members.
|
|
26
|
+
//
|
|
27
|
+
// Version 5 is the first flexible version.
|
|
28
|
+
//
|
|
29
|
+
// Version 6 returns error code GROUP_ID_NOT_FOUND if the group ID is not found (KIP-1043).
|
|
30
|
+
"validVersions": "0-6",
|
|
31
|
+
"flexibleVersions": "5+",
|
|
32
|
+
"fields": [
|
|
33
|
+
{ "name": "Groups", "type": "[]string", "versions": "0+", "entityType": "groupId",
|
|
34
|
+
"about": "The names of the groups to describe." },
|
|
35
|
+
{ "name": "IncludeAuthorizedOperations", "type": "bool", "versions": "3+",
|
|
36
|
+
"about": "Whether to include authorized operations." }
|
|
37
|
+
]
|
|
38
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
// Licensed to the Apache Software Foundation (ASF) under one or more
|
|
2
|
+
// contributor license agreements. See the NOTICE file distributed with
|
|
3
|
+
// this work for additional information regarding copyright ownership.
|
|
4
|
+
// The ASF licenses this file to You under the Apache License, Version 2.0
|
|
5
|
+
// (the "License"); you may not use this file except in compliance with
|
|
6
|
+
// the License. You may obtain a copy of the License at
|
|
7
|
+
//
|
|
8
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
//
|
|
10
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
// See the License for the specific language governing permissions and
|
|
14
|
+
// limitations under the License.
|
|
15
|
+
|
|
16
|
+
{
|
|
17
|
+
"apiKey": 15,
|
|
18
|
+
"type": "response",
|
|
19
|
+
"name": "DescribeGroupsResponse",
|
|
20
|
+
// Version 1 added throttle time.
|
|
21
|
+
//
|
|
22
|
+
// Starting in version 2, on quota violation, brokers send out responses before throttling.
|
|
23
|
+
//
|
|
24
|
+
// Starting in version 3, brokers can send authorized operations.
|
|
25
|
+
//
|
|
26
|
+
// Starting in version 4, the response will optionally include group.instance.id info for members.
|
|
27
|
+
//
|
|
28
|
+
// Version 5 is the first flexible version.
|
|
29
|
+
//
|
|
30
|
+
// Version 6 returns error code GROUP_ID_NOT_FOUND if the group ID is not found (KIP-1043).
|
|
31
|
+
"validVersions": "0-6",
|
|
32
|
+
"flexibleVersions": "5+",
|
|
33
|
+
"fields": [
|
|
34
|
+
{ "name": "ThrottleTimeMs", "type": "int32", "versions": "1+", "ignorable": true,
|
|
35
|
+
"about": "The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate any quota." },
|
|
36
|
+
{ "name": "Groups", "type": "[]DescribedGroup", "versions": "0+",
|
|
37
|
+
"about": "Each described group.", "fields": [
|
|
38
|
+
{ "name": "ErrorCode", "type": "int16", "versions": "0+",
|
|
39
|
+
"about": "The describe error, or 0 if there was no error." },
|
|
40
|
+
{ "name": "ErrorMessage", "type": "string", "versions": "6+", "nullableVersions": "6+", "default": "null",
|
|
41
|
+
"about": "The describe error message, or null if there was no error." },
|
|
42
|
+
{ "name": "GroupId", "type": "string", "versions": "0+", "entityType": "groupId",
|
|
43
|
+
"about": "The group ID string." },
|
|
44
|
+
{ "name": "GroupState", "type": "string", "versions": "0+",
|
|
45
|
+
"about": "The group state string, or the empty string." },
|
|
46
|
+
{ "name": "ProtocolType", "type": "string", "versions": "0+",
|
|
47
|
+
"about": "The group protocol type, or the empty string." },
|
|
48
|
+
// ProtocolData is currently only filled in if the group state is in the Stable state.
|
|
49
|
+
{ "name": "ProtocolData", "type": "string", "versions": "0+",
|
|
50
|
+
"about": "The group protocol data, or the empty string." },
|
|
51
|
+
// N.B. If the group is in the Dead state, the members array will always be empty.
|
|
52
|
+
{ "name": "Members", "type": "[]DescribedGroupMember", "versions": "0+",
|
|
53
|
+
"about": "The group members.", "fields": [
|
|
54
|
+
{ "name": "MemberId", "type": "string", "versions": "0+",
|
|
55
|
+
"about": "The member id." },
|
|
56
|
+
{ "name": "GroupInstanceId", "type": "string", "versions": "4+", "ignorable": true,
|
|
57
|
+
"nullableVersions": "4+", "default": "null",
|
|
58
|
+
"about": "The unique identifier of the consumer instance provided by end user." },
|
|
59
|
+
{ "name": "ClientId", "type": "string", "versions": "0+",
|
|
60
|
+
"about": "The client ID used in the member's latest join group request." },
|
|
61
|
+
{ "name": "ClientHost", "type": "string", "versions": "0+",
|
|
62
|
+
"about": "The client host." },
|
|
63
|
+
// This is currently only provided if the group is in the Stable state.
|
|
64
|
+
{ "name": "MemberMetadata", "type": "bytes", "versions": "0+",
|
|
65
|
+
"about": "The metadata corresponding to the current group protocol in use." },
|
|
66
|
+
// This is currently only provided if the group is in the Stable state.
|
|
67
|
+
{ "name": "MemberAssignment", "type": "bytes", "versions": "0+",
|
|
68
|
+
"about": "The current assignment provided by the group leader." }
|
|
69
|
+
]},
|
|
70
|
+
{ "name": "AuthorizedOperations", "type": "int32", "versions": "3+", "default": "-2147483648",
|
|
71
|
+
"about": "32-bit bitfield to represent authorized operations for this group." }
|
|
72
|
+
]}
|
|
73
|
+
]
|
|
74
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
// Licensed to the Apache Software Foundation (ASF) under one or more
|
|
2
|
+
// contributor license agreements. See the NOTICE file distributed with
|
|
3
|
+
// this work for additional information regarding copyright ownership.
|
|
4
|
+
// The ASF licenses this file to You under the Apache License, Version 2.0
|
|
5
|
+
// (the "License"); you may not use this file except in compliance with
|
|
6
|
+
// the License. You may obtain a copy of the License at
|
|
7
|
+
//
|
|
8
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
//
|
|
10
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
// See the License for the specific language governing permissions and
|
|
14
|
+
// limitations under the License.
|
|
15
|
+
|
|
16
|
+
{
|
|
17
|
+
"apiKey": 35,
|
|
18
|
+
"type": "request",
|
|
19
|
+
"listeners": ["broker"],
|
|
20
|
+
"name": "DescribeLogDirsRequest",
|
|
21
|
+
// Version 0 was removed in Apache Kafka 4.0, Version 1 is the new baseline.
|
|
22
|
+
// Version 1 is the same as version 0.
|
|
23
|
+
// Version 2 is the first flexible version.
|
|
24
|
+
// Version 3 is the same as version 2 (new field in response).
|
|
25
|
+
// Version 4 is the same as version 2 (new fields in response).
|
|
26
|
+
// Version 5 is the same as version 2 (new fields in response).
|
|
27
|
+
"validVersions": "1-5",
|
|
28
|
+
"flexibleVersions": "2+",
|
|
29
|
+
"fields": [
|
|
30
|
+
{ "name": "Topics", "type": "[]DescribableLogDirTopic", "versions": "0+", "nullableVersions": "0+",
|
|
31
|
+
"about": "Each topic that we want to describe log directories for, or null for all topics.", "fields": [
|
|
32
|
+
{ "name": "Topic", "type": "string", "versions": "0+", "entityType": "topicName", "mapKey": true,
|
|
33
|
+
"about": "The topic name." },
|
|
34
|
+
{ "name": "Partitions", "type": "[]int32", "versions": "0+",
|
|
35
|
+
"about": "The partition indexes." }
|
|
36
|
+
]}
|
|
37
|
+
]
|
|
38
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
// Licensed to the Apache Software Foundation (ASF) under one or more
|
|
2
|
+
// contributor license agreements. See the NOTICE file distributed with
|
|
3
|
+
// this work for additional information regarding copyright ownership.
|
|
4
|
+
// The ASF licenses this file to You under the Apache License, Version 2.0
|
|
5
|
+
// (the "License"); you may not use this file except in compliance with
|
|
6
|
+
// the License. You may obtain a copy of the License at
|
|
7
|
+
//
|
|
8
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
//
|
|
10
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
// See the License for the specific language governing permissions and
|
|
14
|
+
// limitations under the License.
|
|
15
|
+
|
|
16
|
+
{
|
|
17
|
+
"apiKey": 35,
|
|
18
|
+
"type": "response",
|
|
19
|
+
"name": "DescribeLogDirsResponse",
|
|
20
|
+
// Version 0 was removed in Apache Kafka 4.0, Version 1 is the new baseline.
|
|
21
|
+
// Starting in version 1, on quota violation, brokers send out responses before throttling.
|
|
22
|
+
// Version 2 is the first flexible version.
|
|
23
|
+
// Version 3 adds the top-level ErrorCode field
|
|
24
|
+
// Version 4 adds the TotalBytes and UsableBytes fields
|
|
25
|
+
// Version 5 adds IsCordoned field
|
|
26
|
+
"validVersions": "1-5",
|
|
27
|
+
"flexibleVersions": "2+",
|
|
28
|
+
"fields": [
|
|
29
|
+
{ "name": "ThrottleTimeMs", "type": "int32", "versions": "0+",
|
|
30
|
+
"about": "The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate any quota." },
|
|
31
|
+
{ "name": "ErrorCode", "type": "int16", "versions": "3+",
|
|
32
|
+
"ignorable": true, "about": "The error code, or 0 if there was no error." },
|
|
33
|
+
{ "name": "Results", "type": "[]DescribeLogDirsResult", "versions": "0+",
|
|
34
|
+
"about": "The log directories.", "fields": [
|
|
35
|
+
{ "name": "ErrorCode", "type": "int16", "versions": "0+",
|
|
36
|
+
"about": "The error code, or 0 if there was no error." },
|
|
37
|
+
{ "name": "LogDir", "type": "string", "versions": "0+",
|
|
38
|
+
"about": "The absolute log directory path." },
|
|
39
|
+
{ "name": "Topics", "type": "[]DescribeLogDirsTopic", "versions": "0+",
|
|
40
|
+
"about": "The topics.", "fields": [
|
|
41
|
+
{ "name": "Name", "type": "string", "versions": "0+", "entityType": "topicName",
|
|
42
|
+
"about": "The topic name." },
|
|
43
|
+
{ "name": "Partitions", "type": "[]DescribeLogDirsPartition", "versions": "0+",
|
|
44
|
+
"about": "The partitions.", "fields": [
|
|
45
|
+
{ "name": "PartitionIndex", "type": "int32", "versions": "0+",
|
|
46
|
+
"about": "The partition index." },
|
|
47
|
+
{ "name": "PartitionSize", "type": "int64", "versions": "0+",
|
|
48
|
+
"about": "The size of the log segments in this partition in bytes." },
|
|
49
|
+
{ "name": "OffsetLag", "type": "int64", "versions": "0+",
|
|
50
|
+
"about": "The lag of the log's LEO w.r.t. partition's HW (if it is the current log for the partition) or current replica's LEO (if it is the future log for the partition)." },
|
|
51
|
+
{ "name": "IsFutureKey", "type": "bool", "versions": "0+",
|
|
52
|
+
"about": "True if this log is created by AlterReplicaLogDirsRequest and will replace the current log of the replica in the future." }]}
|
|
53
|
+
]},
|
|
54
|
+
{ "name": "TotalBytes", "type": "int64", "versions": "4+", "ignorable": true, "default": "-1",
|
|
55
|
+
"about": "The total size in bytes of the volume the log directory is in. This value does not include the size of data stored in remote storage."
|
|
56
|
+
},
|
|
57
|
+
{ "name": "UsableBytes", "type": "int64", "versions": "4+", "ignorable": true, "default": "-1",
|
|
58
|
+
"about": "The usable size in bytes of the volume the log directory is in. This value does not include the size of data stored in remote storage."
|
|
59
|
+
},
|
|
60
|
+
{ "name": "IsCordoned", "type": "bool", "versions": "5+", "ignorable": true, "default": false,
|
|
61
|
+
"about": "True if this log directory is cordoned."
|
|
62
|
+
}
|
|
63
|
+
]}
|
|
64
|
+
]
|
|
65
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// Licensed to the Apache Software Foundation (ASF) under one or more
|
|
2
|
+
// contributor license agreements. See the NOTICE file distributed with
|
|
3
|
+
// this work for additional information regarding copyright ownership.
|
|
4
|
+
// The ASF licenses this file to You under the Apache License, Version 2.0
|
|
5
|
+
// (the "License"); you may not use this file except in compliance with
|
|
6
|
+
// the License. You may obtain a copy of the License at
|
|
7
|
+
//
|
|
8
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
//
|
|
10
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
// See the License for the specific language governing permissions and
|
|
14
|
+
// limitations under the License.
|
|
15
|
+
|
|
16
|
+
{
|
|
17
|
+
"apiKey": 61,
|
|
18
|
+
"type": "request",
|
|
19
|
+
"listeners": ["broker"],
|
|
20
|
+
"name": "DescribeProducersRequest",
|
|
21
|
+
"validVersions": "0",
|
|
22
|
+
"flexibleVersions": "0+",
|
|
23
|
+
"fields": [
|
|
24
|
+
{ "name": "Topics", "type": "[]TopicRequest", "versions": "0+",
|
|
25
|
+
"about": "The topics to list producers for.", "fields": [
|
|
26
|
+
{ "name": "Name", "type": "string", "versions": "0+", "entityType": "topicName",
|
|
27
|
+
"about": "The topic name." },
|
|
28
|
+
{ "name": "PartitionIndexes", "type": "[]int32", "versions": "0+",
|
|
29
|
+
"about": "The indexes of the partitions to list producers for." }
|
|
30
|
+
]}
|
|
31
|
+
]
|
|
32
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
// Licensed to the Apache Software Foundation (ASF) under one or more
|
|
2
|
+
// contributor license agreements. See the NOTICE file distributed with
|
|
3
|
+
// this work for additional information regarding copyright ownership.
|
|
4
|
+
// The ASF licenses this file to You under the Apache License, Version 2.0
|
|
5
|
+
// (the "License"); you may not use this file except in compliance with
|
|
6
|
+
// the License. You may obtain a copy of the License at
|
|
7
|
+
//
|
|
8
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
//
|
|
10
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
// See the License for the specific language governing permissions and
|
|
14
|
+
// limitations under the License.
|
|
15
|
+
|
|
16
|
+
{
|
|
17
|
+
"apiKey": 61,
|
|
18
|
+
"type": "response",
|
|
19
|
+
"name": "DescribeProducersResponse",
|
|
20
|
+
"validVersions": "0",
|
|
21
|
+
"flexibleVersions": "0+",
|
|
22
|
+
"fields": [
|
|
23
|
+
{ "name": "ThrottleTimeMs", "type": "int32", "versions": "0+",
|
|
24
|
+
"about": "The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate any quota." },
|
|
25
|
+
{ "name": "Topics", "type": "[]TopicResponse", "versions": "0+",
|
|
26
|
+
"about": "Each topic in the response.", "fields": [
|
|
27
|
+
{ "name": "Name", "type": "string", "versions": "0+", "entityType": "topicName",
|
|
28
|
+
"about": "The topic name." },
|
|
29
|
+
{ "name": "Partitions", "type": "[]PartitionResponse", "versions": "0+",
|
|
30
|
+
"about": "Each partition in the response.", "fields": [
|
|
31
|
+
{ "name": "PartitionIndex", "type": "int32", "versions": "0+",
|
|
32
|
+
"about": "The partition index." },
|
|
33
|
+
{ "name": "ErrorCode", "type": "int16", "versions": "0+",
|
|
34
|
+
"about": "The partition error code, or 0 if there was no error." },
|
|
35
|
+
{ "name": "ErrorMessage", "type": "string", "versions": "0+", "nullableVersions": "0+", "default": "null",
|
|
36
|
+
"about": "The partition error message, which may be null if no additional details are available." },
|
|
37
|
+
{ "name": "ActiveProducers", "type": "[]ProducerState", "versions": "0+",
|
|
38
|
+
"about": "The active producers for the partition.", "fields": [
|
|
39
|
+
{ "name": "ProducerId", "type": "int64", "versions": "0+", "entityType": "producerId",
|
|
40
|
+
"about": "The producer id."},
|
|
41
|
+
{ "name": "ProducerEpoch", "type": "int32", "versions": "0+",
|
|
42
|
+
"about": "The producer epoch."},
|
|
43
|
+
{ "name": "LastSequence", "type": "int32", "versions": "0+", "default": "-1",
|
|
44
|
+
"about": "The last sequence number sent by the producer."},
|
|
45
|
+
{ "name": "LastTimestamp", "type": "int64", "versions": "0+", "default": "-1",
|
|
46
|
+
"about": "The last timestamp sent by the producer."},
|
|
47
|
+
{ "name": "CoordinatorEpoch", "type": "int32", "versions": "0+",
|
|
48
|
+
"about": "The current epoch of the producer group."},
|
|
49
|
+
{ "name": "CurrentTxnStartOffset", "type": "int64", "versions": "0+", "default": "-1",
|
|
50
|
+
"about": "The current transaction start offset of the producer."}
|
|
51
|
+
]}
|
|
52
|
+
]}
|
|
53
|
+
]}
|
|
54
|
+
]
|
|
55
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// Licensed to the Apache Software Foundation (ASF) under one or more
|
|
2
|
+
// contributor license agreements. See the NOTICE file distributed with
|
|
3
|
+
// this work for additional information regarding copyright ownership.
|
|
4
|
+
// The ASF licenses this file to You under the Apache License, Version 2.0
|
|
5
|
+
// (the "License"); you may not use this file except in compliance with
|
|
6
|
+
// the License. You may obtain a copy of the License at
|
|
7
|
+
//
|
|
8
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
//
|
|
10
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
// See the License for the specific language governing permissions and
|
|
14
|
+
// limitations under the License.
|
|
15
|
+
|
|
16
|
+
{
|
|
17
|
+
"apiKey": 55,
|
|
18
|
+
"type": "request",
|
|
19
|
+
"listeners": ["broker", "controller"],
|
|
20
|
+
"name": "DescribeQuorumRequest",
|
|
21
|
+
// Version 1 adds additional fields in the response. The request is unchanged (KIP-836).
|
|
22
|
+
// Version 2 adds additional fields in the response. The request is unchanged (KIP-853).
|
|
23
|
+
"validVersions": "0-2",
|
|
24
|
+
"flexibleVersions": "0+",
|
|
25
|
+
"latestVersionUnstable": false,
|
|
26
|
+
"fields": [
|
|
27
|
+
{ "name": "Topics", "type": "[]TopicData", "versions": "0+",
|
|
28
|
+
"about": "The topics to describe.", "fields": [
|
|
29
|
+
{ "name": "TopicName", "type": "string", "versions": "0+", "entityType": "topicName",
|
|
30
|
+
"about": "The topic name." },
|
|
31
|
+
{ "name": "Partitions", "type": "[]PartitionData", "versions": "0+",
|
|
32
|
+
"about": "The partitions to describe.", "fields": [
|
|
33
|
+
{ "name": "PartitionIndex", "type": "int32", "versions": "0+",
|
|
34
|
+
"about": "The partition index." }
|
|
35
|
+
]
|
|
36
|
+
}]
|
|
37
|
+
}
|
|
38
|
+
]
|
|
39
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
// Licensed to the Apache Software Foundation (ASF) under one or more
|
|
2
|
+
// contributor license agreements. See the NOTICE file distributed with
|
|
3
|
+
// this work for additional information regarding copyright ownership.
|
|
4
|
+
// The ASF licenses this file to You under the Apache License, Version 2.0
|
|
5
|
+
// (the "License"); you may not use this file except in compliance with
|
|
6
|
+
// the License. You may obtain a copy of the License at
|
|
7
|
+
//
|
|
8
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
//
|
|
10
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
// See the License for the specific language governing permissions and
|
|
14
|
+
// limitations under the License.
|
|
15
|
+
|
|
16
|
+
{
|
|
17
|
+
"apiKey": 55,
|
|
18
|
+
"type": "response",
|
|
19
|
+
"name": "DescribeQuorumResponse",
|
|
20
|
+
// Version 1 adds LastFetchTimeStamp and LastCaughtUpTimestamp in ReplicaState (KIP-836).
|
|
21
|
+
// Version 2 adds ErrorMessage, Nodes, ErrorMessage in PartitionData, ReplicaDirectoryId in ReplicaState (KIP-853).
|
|
22
|
+
"validVersions": "0-2",
|
|
23
|
+
"flexibleVersions": "0+",
|
|
24
|
+
"fields": [
|
|
25
|
+
{ "name": "ErrorCode", "type": "int16", "versions": "0+",
|
|
26
|
+
"about": "The top level error code."},
|
|
27
|
+
{ "name": "ErrorMessage", "type": "string", "versions": "2+", "nullableVersions": "2+", "ignorable": true,
|
|
28
|
+
"about": "The error message, or null if there was no error." },
|
|
29
|
+
{ "name": "Topics", "type": "[]TopicData", "versions": "0+",
|
|
30
|
+
"about": "The response from the describe quorum API.", "fields": [
|
|
31
|
+
{ "name": "TopicName", "type": "string", "versions": "0+", "entityType": "topicName",
|
|
32
|
+
"about": "The topic name." },
|
|
33
|
+
{ "name": "Partitions", "type": "[]PartitionData", "versions": "0+",
|
|
34
|
+
"about": "The partition data.", "fields": [
|
|
35
|
+
{ "name": "PartitionIndex", "type": "int32", "versions": "0+",
|
|
36
|
+
"about": "The partition index." },
|
|
37
|
+
{ "name": "ErrorCode", "type": "int16", "versions": "0+",
|
|
38
|
+
"about": "The partition error code."},
|
|
39
|
+
{ "name": "ErrorMessage", "type": "string", "versions": "2+", "nullableVersions": "2+", "ignorable": true,
|
|
40
|
+
"about": "The error message, or null if there was no error." },
|
|
41
|
+
{ "name": "LeaderId", "type": "int32", "versions": "0+", "entityType": "brokerId",
|
|
42
|
+
"about": "The ID of the current leader or -1 if the leader is unknown."},
|
|
43
|
+
{ "name": "LeaderEpoch", "type": "int32", "versions": "0+",
|
|
44
|
+
"about": "The latest known leader epoch."},
|
|
45
|
+
{ "name": "HighWatermark", "type": "int64", "versions": "0+",
|
|
46
|
+
"about": "The high water mark."},
|
|
47
|
+
{ "name": "CurrentVoters", "type": "[]ReplicaState", "versions": "0+",
|
|
48
|
+
"about": "The current voters of the partition."},
|
|
49
|
+
{ "name": "Observers", "type": "[]ReplicaState", "versions": "0+",
|
|
50
|
+
"about": "The observers of the partition."}
|
|
51
|
+
]}
|
|
52
|
+
]},
|
|
53
|
+
{ "name": "Nodes", "type": "[]Node", "versions": "2+",
|
|
54
|
+
"about": "The nodes in the quorum.", "fields": [
|
|
55
|
+
{ "name": "NodeId", "type": "int32", "versions": "2+",
|
|
56
|
+
"mapKey": true, "entityType": "brokerId", "about": "The ID of the associated node." },
|
|
57
|
+
{ "name": "Listeners", "type": "[]Listener",
|
|
58
|
+
"about": "The listeners of this controller.", "versions": "2+", "fields": [
|
|
59
|
+
{ "name": "Name", "type": "string", "versions": "2+", "mapKey": true,
|
|
60
|
+
"about": "The name of the endpoint." },
|
|
61
|
+
{ "name": "Host", "type": "string", "versions": "2+",
|
|
62
|
+
"about": "The hostname." },
|
|
63
|
+
{ "name": "Port", "type": "uint16", "versions": "2+",
|
|
64
|
+
"about": "The port." }
|
|
65
|
+
]}
|
|
66
|
+
]}
|
|
67
|
+
],
|
|
68
|
+
"commonStructs": [
|
|
69
|
+
{ "name": "ReplicaState", "versions": "0+", "fields": [
|
|
70
|
+
{ "name": "ReplicaId", "type": "int32", "versions": "0+", "entityType": "brokerId",
|
|
71
|
+
"about": "The ID of the replica."},
|
|
72
|
+
{ "name": "ReplicaDirectoryId", "type": "uuid", "versions": "2+",
|
|
73
|
+
"about": "The replica directory ID of the replica."},
|
|
74
|
+
{ "name": "LogEndOffset", "type": "int64", "versions": "0+",
|
|
75
|
+
"about": "The last known log end offset of the follower or -1 if it is unknown."},
|
|
76
|
+
{ "name": "LastFetchTimestamp", "type": "int64", "versions": "1+", "ignorable": true, "default": -1,
|
|
77
|
+
"about": "The last known leader wall clock time time when a follower fetched from the leader. This is reported as -1 both for the current leader or if it is unknown for a voter."},
|
|
78
|
+
{ "name": "LastCaughtUpTimestamp", "type": "int64", "versions": "1+", "ignorable": true, "default": -1,
|
|
79
|
+
"about": "The leader wall clock append time of the offset for which the follower made the most recent fetch request. This is reported as the current time for the leader and -1 if unknown for a voter."}
|
|
80
|
+
]}
|
|
81
|
+
]
|
|
82
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
// Licensed to the Apache Software Foundation (ASF) under one or more
|
|
2
|
+
// contributor license agreements. See the NOTICE file distributed with
|
|
3
|
+
// this work for additional information regarding copyright ownership.
|
|
4
|
+
// The ASF licenses this file to You under the Apache License, Version 2.0
|
|
5
|
+
// (the "License"); you may not use this file except in compliance with
|
|
6
|
+
// the License. You may obtain a copy of the License at
|
|
7
|
+
//
|
|
8
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
//
|
|
10
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
// See the License for the specific language governing permissions and
|
|
14
|
+
// limitations under the License.
|
|
15
|
+
|
|
16
|
+
{
|
|
17
|
+
"apiKey": 75,
|
|
18
|
+
"type": "request",
|
|
19
|
+
"listeners": ["broker"],
|
|
20
|
+
"name": "DescribeTopicPartitionsRequest",
|
|
21
|
+
"validVersions": "0",
|
|
22
|
+
"flexibleVersions": "0+",
|
|
23
|
+
"fields": [
|
|
24
|
+
{ "name": "Topics", "type": "[]TopicRequest", "versions": "0+",
|
|
25
|
+
"about": "The topics to fetch details for.",
|
|
26
|
+
"fields": [
|
|
27
|
+
{ "name": "Name", "type": "string", "versions": "0+", "entityType": "topicName",
|
|
28
|
+
"about": "The topic name." }
|
|
29
|
+
]
|
|
30
|
+
},
|
|
31
|
+
{ "name": "ResponsePartitionLimit", "type": "int32", "versions": "0+", "default": "2000",
|
|
32
|
+
"about": "The maximum number of partitions included in the response." },
|
|
33
|
+
{ "name": "Cursor", "type": "Cursor", "versions": "0+", "nullableVersions": "0+", "default": "null",
|
|
34
|
+
"about": "The first topic and partition index to fetch details for.", "fields": [
|
|
35
|
+
{ "name": "TopicName", "type": "string", "versions": "0+", "entityType": "topicName",
|
|
36
|
+
"about": "The name for the first topic to process." },
|
|
37
|
+
{ "name": "PartitionIndex", "type": "int32", "versions": "0+", "about": "The partition index to start with." }
|
|
38
|
+
]}
|
|
39
|
+
]
|
|
40
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
// Licensed to the Apache Software Foundation (ASF) under one or more
|
|
2
|
+
// contributor license agreements. See the NOTICE file distributed with
|
|
3
|
+
// this work for additional information regarding copyright ownership.
|
|
4
|
+
// The ASF licenses this file to You under the Apache License, Version 2.0
|
|
5
|
+
// (the "License"); you may not use this file except in compliance with
|
|
6
|
+
// the License. You may obtain a copy of the License at
|
|
7
|
+
//
|
|
8
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
//
|
|
10
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
// See the License for the specific language governing permissions and
|
|
14
|
+
// limitations under the License.
|
|
15
|
+
|
|
16
|
+
{
|
|
17
|
+
"apiKey": 75,
|
|
18
|
+
"type": "response",
|
|
19
|
+
"name": "DescribeTopicPartitionsResponse",
|
|
20
|
+
"validVersions": "0",
|
|
21
|
+
"flexibleVersions": "0+",
|
|
22
|
+
"fields": [
|
|
23
|
+
{ "name": "ThrottleTimeMs", "type": "int32", "versions": "0+", "ignorable": true,
|
|
24
|
+
"about": "The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate any quota." },
|
|
25
|
+
{ "name": "Topics", "type": "[]DescribeTopicPartitionsResponseTopic", "versions": "0+",
|
|
26
|
+
"about": "Each topic in the response.", "fields": [
|
|
27
|
+
{ "name": "ErrorCode", "type": "int16", "versions": "0+",
|
|
28
|
+
"about": "The topic error, or 0 if there was no error." },
|
|
29
|
+
{ "name": "Name", "type": "string", "versions": "0+", "mapKey": true, "entityType": "topicName", "nullableVersions": "0+",
|
|
30
|
+
"about": "The topic name." },
|
|
31
|
+
{ "name": "TopicId", "type": "uuid", "versions": "0+", "ignorable": true, "about": "The topic id." },
|
|
32
|
+
{ "name": "IsInternal", "type": "bool", "versions": "0+", "default": "false", "ignorable": true,
|
|
33
|
+
"about": "True if the topic is internal." },
|
|
34
|
+
{ "name": "Partitions", "type": "[]DescribeTopicPartitionsResponsePartition", "versions": "0+",
|
|
35
|
+
"about": "Each partition in the topic.", "fields": [
|
|
36
|
+
{ "name": "ErrorCode", "type": "int16", "versions": "0+",
|
|
37
|
+
"about": "The partition error, or 0 if there was no error." },
|
|
38
|
+
{ "name": "PartitionIndex", "type": "int32", "versions": "0+",
|
|
39
|
+
"about": "The partition index." },
|
|
40
|
+
{ "name": "LeaderId", "type": "int32", "versions": "0+", "entityType": "brokerId",
|
|
41
|
+
"about": "The ID of the leader broker." },
|
|
42
|
+
{ "name": "LeaderEpoch", "type": "int32", "versions": "0+", "default": "-1", "ignorable": true,
|
|
43
|
+
"about": "The leader epoch of this partition." },
|
|
44
|
+
{ "name": "ReplicaNodes", "type": "[]int32", "versions": "0+", "entityType": "brokerId",
|
|
45
|
+
"about": "The set of all nodes that host this partition." },
|
|
46
|
+
{ "name": "IsrNodes", "type": "[]int32", "versions": "0+", "entityType": "brokerId",
|
|
47
|
+
"about": "The set of nodes that are in sync with the leader for this partition." },
|
|
48
|
+
{ "name": "EligibleLeaderReplicas", "type": "[]int32", "default": "null", "entityType": "brokerId",
|
|
49
|
+
"versions": "0+", "nullableVersions": "0+",
|
|
50
|
+
"about": "The new eligible leader replicas otherwise." },
|
|
51
|
+
{ "name": "LastKnownElr", "type": "[]int32", "default": "null", "entityType": "brokerId",
|
|
52
|
+
"versions": "0+", "nullableVersions": "0+",
|
|
53
|
+
"about": "The last known ELR." },
|
|
54
|
+
{ "name": "OfflineReplicas", "type": "[]int32", "versions": "0+", "ignorable": true, "entityType": "brokerId",
|
|
55
|
+
"about": "The set of offline replicas of this partition." }]},
|
|
56
|
+
{ "name": "TopicAuthorizedOperations", "type": "int32", "versions": "0+", "default": "-2147483648",
|
|
57
|
+
"about": "32-bit bitfield to represent authorized operations for this topic." }]
|
|
58
|
+
},
|
|
59
|
+
{ "name": "NextCursor", "type": "Cursor", "versions": "0+", "nullableVersions": "0+", "default": "null",
|
|
60
|
+
"about": "The next topic and partition index to fetch details for.", "fields": [
|
|
61
|
+
{ "name": "TopicName", "type": "string", "versions": "0+", "entityType": "topicName",
|
|
62
|
+
"about": "The name for the first topic to process." },
|
|
63
|
+
{ "name": "PartitionIndex", "type": "int32", "versions": "0+", "about": "The partition index to start with." }
|
|
64
|
+
]}
|
|
65
|
+
]
|
|
66
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// Licensed to the Apache Software Foundation (ASF) under one or more
|
|
2
|
+
// contributor license agreements. See the NOTICE file distributed with
|
|
3
|
+
// this work for additional information regarding copyright ownership.
|
|
4
|
+
// The ASF licenses this file to You under the Apache License, Version 2.0
|
|
5
|
+
// (the "License"); you may not use this file except in compliance with
|
|
6
|
+
// the License. You may obtain a copy of the License at
|
|
7
|
+
//
|
|
8
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
//
|
|
10
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
// See the License for the specific language governing permissions and
|
|
14
|
+
// limitations under the License.
|
|
15
|
+
|
|
16
|
+
{
|
|
17
|
+
"apiKey": 65,
|
|
18
|
+
"type": "request",
|
|
19
|
+
"listeners": ["broker"],
|
|
20
|
+
"name": "DescribeTransactionsRequest",
|
|
21
|
+
"validVersions": "0",
|
|
22
|
+
"flexibleVersions": "0+",
|
|
23
|
+
"fields": [
|
|
24
|
+
{ "name": "TransactionalIds", "entityType": "transactionalId", "type": "[]string", "versions": "0+",
|
|
25
|
+
"about": "Array of transactionalIds to include in describe results. If empty, then no results will be returned." }
|
|
26
|
+
]
|
|
27
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
// Licensed to the Apache Software Foundation (ASF) under one or more
|
|
2
|
+
// contributor license agreements. See the NOTICE file distributed with
|
|
3
|
+
// this work for additional information regarding copyright ownership.
|
|
4
|
+
// The ASF licenses this file to You under the Apache License, Version 2.0
|
|
5
|
+
// (the "License"); you may not use this file except in compliance with
|
|
6
|
+
// the License. You may obtain a copy of the License at
|
|
7
|
+
//
|
|
8
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
//
|
|
10
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
// See the License for the specific language governing permissions and
|
|
14
|
+
// limitations under the License.
|
|
15
|
+
|
|
16
|
+
{
|
|
17
|
+
"apiKey": 65,
|
|
18
|
+
"type": "response",
|
|
19
|
+
"name": "DescribeTransactionsResponse",
|
|
20
|
+
"validVersions": "0",
|
|
21
|
+
"flexibleVersions": "0+",
|
|
22
|
+
"fields": [
|
|
23
|
+
{ "name": "ThrottleTimeMs", "type": "int32", "versions": "0+",
|
|
24
|
+
"about": "The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate any quota." },
|
|
25
|
+
{ "name": "TransactionStates", "type": "[]TransactionState", "versions": "0+",
|
|
26
|
+
"about": "The current state of the transaction.", "fields": [
|
|
27
|
+
{ "name": "ErrorCode", "type": "int16", "versions": "0+",
|
|
28
|
+
"about": "The error code."},
|
|
29
|
+
{ "name": "TransactionalId", "type": "string", "versions": "0+", "entityType": "transactionalId",
|
|
30
|
+
"about": "The transactional id."},
|
|
31
|
+
{ "name": "TransactionState", "type": "string", "versions": "0+",
|
|
32
|
+
"about": "The current transaction state of the producer."},
|
|
33
|
+
{ "name": "TransactionTimeoutMs", "type": "int32", "versions": "0+",
|
|
34
|
+
"about": "The timeout in milliseconds for the transaction."},
|
|
35
|
+
{ "name": "TransactionStartTimeMs", "type": "int64", "versions": "0+",
|
|
36
|
+
"about": "The start time of the transaction in milliseconds."},
|
|
37
|
+
{ "name": "ProducerId", "type": "int64", "versions": "0+", "entityType": "producerId",
|
|
38
|
+
"about": "The current producer id associated with the transaction."},
|
|
39
|
+
{ "name": "ProducerEpoch", "type": "int16", "versions": "0+",
|
|
40
|
+
"about": "The current epoch associated with the producer id."},
|
|
41
|
+
{ "name": "Topics", "type": "[]TopicData", "versions": "0+",
|
|
42
|
+
"about": "The set of partitions included in the current transaction (if active). When a transaction is preparing to commit or abort, this will include only partitions which do not have markers.",
|
|
43
|
+
"fields": [
|
|
44
|
+
{ "name": "Topic", "type": "string", "versions": "0+", "entityType": "topicName", "mapKey": true,
|
|
45
|
+
"about": "The topic name."},
|
|
46
|
+
{ "name": "Partitions", "type": "[]int32", "versions": "0+",
|
|
47
|
+
"about": "The partition ids included in the current transaction."}
|
|
48
|
+
]
|
|
49
|
+
}
|
|
50
|
+
]}
|
|
51
|
+
]
|
|
52
|
+
}
|