Get desktop application:
View/edit binary Protocol Buffers messages
Produce writes a message to a Kafka topic. If ProdReq.async_mode is false (default value) then the request will block until the message is written to all ISR. In this case the respose will contain the partition and offset of the message. This has to be used to achive at-least-once deliverability guarantee. If ProdReq.async_mode is true, then Kafka-Pixy returns immediately after it gets the request and performs write on the backgroud. This mode ensures highest throughput but messages can be lost, e.g. if the host crashes before Kafka-Pixy has a chance to complete write. Hash of ProdReq.key_value is used to determine a partition that the message should be written to. If you want a message to go to an random partition then set ProdReq.key_undefined to true. Note that if both ProdReq.key_undefined and ProdReq.key_value are left default, which is empty string and false respectively, then messages will be consitently written to a partiticular partition selected by the hash of an empty string. gRPC error codes: * Invalid Argument (3): see the status description for details; * Internal (13): see the status description and logs for details; * Unavailable (14): the service is shutting down.
Name of a Kafka cluster to operate on.
Name of a topic to produce to.
Hash of the key is used to determine the partition to produce to. By default it is an empty array which is a valid key, unless key_undefined is set to true and then a random partition is selected.
If true then the message is written to a random partition, otherwise hash of key_value is used to determine the partition.
Message body.
If true then the method returns immediately after Kafka-Pixy gets the produce request, and the message is written to Kafka asynchronously. In that case partition and offset returned in response should be ignored. If false, then a response is returned in accordance with the producer.required_acks parameter, that can be one of: * no_response: the response is returned as soon as a produce request is delivered to a partition leader Kafka broker. * wait_for_local: the response is returned as soon as data is written to the disk by a partition leader Kafka broker. * wait_for_all: the response is returned after all in-sync replicas have data committed to disk.
Headers to include with the published message
Partition the message was written to. The value only makes sense if ProdReq.async_mode was false.
Offset the message was written to. The value only makes sense if ProdReq.async_mode was false.
Consume reads a message from a topic and optionally acknowledges a message previously consumed from the same topic. Requests are performed in long polling fation, that is if all available messages have been consumed then the request will block for config.yaml:proxies.<cluster>.consumer.long_polling_timeout waiting for new messages. If no new messages is produced while waiting the request will return gRPC error with 408 status code. To consume the first message set ConsNAckReq.no_ack to true, since there is no message to acknowledge at this point. In the second and all subsequent calls of the method set ConsNAckReq.ack_partition and ConsNAckReq.ack_offset to the respective values of ConsRes returned by the previous method call. To acknowledge the last consumed message before teminating the application call Ack method. If a message is not acknowledged within config.yaml:proxies.<cluster>.consumer.ack_timeout the it will be returned by Kafka-Pixy in ConsRes again possibly to another application. If at-least-once delivery guarantee and retries are not desirable, then you can set ConsNAckReq.auto_ack to true and Kafka-Pixy will acknowledge messages automatically before returning them in ConsRes. gRPC error codes: * Not Found (5): It just means that all message has been consumed and the long polling timeout has elaspsed. Just keep calling this method in a loop; * Resource Exhausted (8): too many consume requests. Either reduce the number of consuming threads or increase config.yaml:proxies.<cluster>.consumer.channel_buffer_size; * Invalid Argument (3): see the status description for details; * Internal (13): see the status description and logs for details; * Unavailable (14): the service is shutting down.
Name of a Kafka cluster to operate on.
Name of a topic to produce to.
Name of a consumer group.
If true then no message is acknowledged by the request.
If true and no_ack is false then the message returned by the requests is automatically acknowledged by Kafka-Pixy before the request completes.
If both no_ack and auto_ack are false (by default), then ack_partition and ack_offset along with cluster-group-topic determine the message that should be acknowledged by the request.
Partition the message was read from.
Offset of the read message in the partition.
Key that was used to produce the message, unless key_undefined is true, then it is undefined.
If true then the message was produced to a random partition.
Message body
Headers associated with the message
Ack acknowledges a message earlier consumed from a topic. This method is provided solely to acknowledge the last consumed message before the application terminates. In all other cases ConsumeNAck should be used. gRPC error codes: * Invalid Argument (3): see the status description for details; * Internal (13): see the status description and logs for details;
Name of a Kafka cluster to operate on.
Name of a topic to produce to.
Name of a consumer group.
Partition that the acknowledged message was consumed from.
Offset in the partition that the acknowledged message was consumed from.
(message has no fields)
Fetches partition offsets for the specified topic and group gRPC error codes: * Invalid Argument (3): If unable to find the cluster named in the request * Internal (13): If Kafka returns an error on offset request * NotFound (5): If the group and or topic does not exist
Name of a Kafka cluster
Name of a topic
Name of a consumer group.
Sets partition offsets for the specified topic and group. NOTE: Although the request accepts the PartitionOffset object i only 'Partition', 'Offset' and 'Metadata' are set by this method gRPC error codes: * Invalid Argument (3): If unable to find the cluster named in the request * Internal (13): If Kafka returns an error on offset request * NotFound (5): If the group and or topic does not exist
Name of a Kafka cluster
Name of a topic
Name of a consumer group.
(message has no fields)
Lists all topics and metadata with optional metadata for the partitions of the topic gRPC error codes: * Invalid Argument (3): If unable to find the cluster named in the request * Internal (13): If Kafka returns an error on request
Name of a Kafka cluster
Should include partition metadata
Lists all consumers of a topic gRPC error codes: * Invalid Argument (3): If unable to find the cluster named in the request * Internal (13): If Kafka returns an error on request
Name of a Kafka cluster
Name of a topic
If non empty, return only the specified group in the result
Fetches topic metadata and optional metadata for the partitions of the topic gRPC error codes: * Invalid Argument (3): If unable to find the cluster named in the request * Internal (13): If Kafka returns an error on request * NotFound (5): If the topic does not exist
Name of a Kafka cluster
Name of a topic
Should include partition metadata
Used in:
Used in:
Used as response type in: KafkaPixy.GetTopicMetadata
Used as field type in:
Version of this metadata
Config values
Optional list of metadata for the partitions of this topic
Partition metadata as retrieved from kafka
Used in:
The Partition this structure describes
The node id for the kafka broker currently acting as leader for this partition. If no leader exists because we are in the middle of a leader election this id will be -1.
The set of alive nodes that currently acts as slaves for the leader for this partition.
The set subset of the replicas that are "caught up" to the leader
Used in:
,The Partition this structure describes
The beginning offset
The ending offset
The number of messages in the partition
Offset in the partition
The number of un-consumed messages in the partition
Metatdata associated with the partition
human readable representation of sparsely committed ranges
Used in:
,Key in the header key-value pair
Value in the header key-value pair