DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
...
This request is expected to be sent to partition leaders.
| Code Block |
|---|
{
"apiKey": NN61,
"type": "request",
"name": "DescribeProducersRequest",
"validVersions": "0",
"flexibleVersions": "0+",
"fields": [
{ "name": "Topics", "type": "[]TopicRequestData", "versions": "0+", "fields": [
{ "name": "Name", "type": "string", "versions": "0+", "entityType": "topicName",
"about": "The topic name." },
{ "name": "PartitionIndexes", "type": "[]int32", "versions": "0+",
"about": "The indexes of the partitions to list producers for." }
]}
]}
]
} |
Response Schema
| Code Block |
|---|
{
"apiKey": NN61,
"type": "response",
"name": "DescribeProducersResponse",
"validVersions": "0",
"flexibleVersions": "0+",
"fields": [
{ "name": "ThrottleTimeMs", "type": "int32", "versions": "0+", "ignorable": true,
"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." },
{ "name": "Topics", "type": "[]TopicResponse", "versions": "0+",
"about": "Each topic in the response.", "fields": [
{ "name": "Name", "type": "string", "versions": "0+", "entityType": "topicName",
"about": "The topic name" },
{ "name": "Partitions", "type": "[]PartitionResponse", "versions": "0+",
"about": "Each partition in the response.", "fields": [
{ "name": "PartitionIndex", "type": "int32", "versions": "0+",
"about": "The partition index." },
{ "name": "ErrorCode", "type": "int16", "versions": "0+",
"about": "The partition error code, or 0 if there was no error." },
{ "name": "ActiveProducers", "type": "[]ProducerState", "versions": "0+", "fields": [
{ "name": "ProducerId", "type": "int64", "versions": "0+" },
{ "name": "ProducerEpoch", "type": "int32", "versions": "0+" },
{ "name": "LastSequence", "type": "int32", "versions": "0+" },
{ "name": "LastTimestamp", "type": "int64", "versions": "0+" },
{ "name": "TxnStartOffset", "type": "int64", "versions": "0+" },
{ "name": "CoordinatorEpoch", "type": "int32", "versions": "0+" },
]}
]}
]}
]
} |
...
The request includes a filter of the states that the use is interested in. As an example, this allows us to filter only the "Ongoing" transactions. We have also included a filter for the `ProducerId`. This is useful when trying to reverse lookup the `TransactionalId` as we need to do to support the --find-hanging command below.
| Code Block |
|---|
{
"apiKey": 1666,
"type": "request",
"name": "ListTransactionsRequest",
"validVersions": "0",
"flexibleVersions": "0+",
"fields": [
{ "name": "StatesFilter", "type": "[]string", "versions": "0+",
"about": "The states of transactions we want to list."
},
{ "name": "ProducerIdFilter", "type": "[]int64", "versions": "0+",
"about": "Array of ProducerIds to limit the response to"
}
]
} |
Response Schema
| Code Block |
|---|
{
"apiKey": NN66,
"type": "response",
"name": "ListTransactionsResponse",
"validVersions": "0",
"flexibleVersions": "0+",
"fields": [
{ "name": "ThrottleTimeMs", "type": "int32", "versions": "0+", "ignorable": true,
"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." },
{ "name": "ErrorCode", "type": "int16", "versions": "0+" },
{ "name": "TransactionStates", "type": "[]TransactionState", "versions": "0+", "fields": [
{ "name": "TransactionalId", "type": "string", "versions": "0+" },
{ "name": "ProducerId", "type": "int64", "versions": "0+" },
{ "name": "TransactionState", "type": "string", "versions": "0+" },
]}
]
} |
...
The request schema is specified below:
| Code Block |
|---|
{
"apiKey": NN65,
"type": "request",
"name": "DescribeTransactionsRequest",
"validVersions": "0",
"flexibleVersions": "0+",
"fields": [
{ "name": "TransactionalIds", "type": "[]string", "versions": "0+" }
]}
]
} |
...
The response schema is specified below:
| Code Block |
|---|
{
"apiKey": NN65,
"type": "response",
"name": "DescribeTransactionsResponse",
"validVersions": "0",
"flexibleVersions": "0+",
"fields": [
{ "name": "ThrottleTimeMs", "type": "int32", "versions": "0+", "ignorable": true,
"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." },
{ "name": "TransactionStates", "type": "[]TransactionState", "versions": "0+", "fields": [
{ "name": "ErrorCode", "type": "int16", "versions": "0+" },
{ "name": "TransactionalId", "type": "string", "versions": "0+" },
{ "name": "TransactionState", "type": "int8", "versions": "0+" },
{ "name": "TransactionTimeoutMs", "type": "int32", "versions": "0+" },
{ "name": "TransactionStartTimeMs", "type": "int64", "versions": "0+" },
{ "name": "ProducerId", "type": "int64", "versions": "0+" },
{ "name": "ProducerEpoch", "type": "int32", "versions": "0+" },
{ "name": "TopicPartitions", "type": "[]TopicData", "versions": "0+", "fields": [
{ "name": "PartitionIndexes", "type": "[]int32", "versions": "0+" }}
]}
]
} |
...