Get desktop application:
View/edit binary Protocol Buffers messages
To support mutual authentication type, such as Sasl, reuse this command to mutual auth.
Used in:
,Used in:
transaction related
Used in:
transaction related
metadata added for entry from broker
Used in:
In case of individual acks, the client can pass a list of message ids
Used in:
Acks can contain a flag to indicate the consumer received an invalid message that got discarded before being passed on to the application.
Used in:
Used in:
changes on active consumer
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Deprecated. Use "auth_method_name" instead.
Client can ask to be proxyied to a specific broker This is only honored by a Pulsar proxy
Original principal that was verified by a Pulsar proxy. In this case the auth info above will be the auth of the proxy itself
Original auth role and auth Method that was passed to the proxy. In this case the auth info above will be the auth of the proxy itself
Feature flags
Used in:
Used in:
required string topic_name = 2; required string subscription_name = 3;
Used in:
/ Total rate of messages delivered to the consumer. msg/s
/ Total throughput delivered to the consumer. bytes/s
/ Total rate of messages redelivered by this consumer. msg/s
/ Name of the consumer
/ Number of available message permits for the consumer
/ Number of unacknowledged messages for the consumer
/ Flag to verify if consumer is blocked due to reaching threshold of unacked messages
/ Address of this consumer
/ Timestamp of connection
/ Whether this subscription is Exclusive or Shared or Failover
/ Total rate of messages expired on this subscription. msg/s
/ Number of messages in the subscription backlog
/ Total rate of messages ack. msg/s
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Max number of messages to prefetch, in addition of any number previously specified
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
true iff the topic list was filtered by the pattern supplied by the client
hash computed from the names of matching topics
if false, topics is empty and the list of matching topics has not changed
Used in:
TODO - Remove original_principal, original_auth_data, original_auth_method Original principal that was verified by a Pulsar proxy.
Original auth role and auth Method that was passed to the proxy.
Used in:
Optional in case of error
If it's true, indicates to the client that it must always connect through the service url after the lookup has been completed.
Used in:
Used in:
Used in:
Used in:
Used in:
TODO - Remove original_principal, original_auth_data, original_auth_method Original principal that was verified by a Pulsar proxy.
Original auth role and auth Method that was passed to the proxy.
Used in:
Optional in case of error
Used in:
Commands to probe the state of connection. When either client or broker doesn't receive commands for certain amount of time, they will send a Ping probe.
Used in:
(message has no fields)
Used in:
(message has no fields)
/ Create a new Producer on a topic, assigning the given producer_id, / all messages sent with this producer_id will be persisted on the topic
Used in:
/ If a producer name is specified, the name will be used, / otherwise the broker will generate a unique name
/ Add optional metadata key=value to this producer
If producer reconnect to broker, the epoch of this producer will +1
Indicate the name of the producer is generated or user provided Use default true here is in order to be forward compatible with the client
Require that this producers will be the only producer allowed on the topic
Topic epoch is used to fence off producers that reconnects after a new exclusive producer has already taken over. This id is assigned by the broker on the CommandProducerSuccess. The first time, the client will leave it empty and then it will always carry the same epoch number on the subsequent reconnections.
Name of the initial subscription of the topic. If this field is not set, the initial subscription will not be created. If this field is set but the broker's `allowAutoSubscriptionCreation` is disabled, the producer will fail to be created.
/ Response from CommandProducer
Used in:
The last sequence id that was stored by this producer in the previous session This will only be meaningful if deduplication has been enabled.
The topic epoch assigned by the broker. This field will only be set if we were requiring exclusive access when creating the producer.
If producer is not "ready", the client will avoid to timeout the request for creating the producer. Instead it will wait indefinitely until it gets a subsequent `CommandProducerSuccess` with `producer_ready==true`.
Message sent by broker to client when a topic has been forcefully terminated and there are no more messages left to consume
Used in:
Used in:
Reset an existing consumer to a particular message id
Used in:
Used in:
/ Add highest sequence id to support batch message with external sequence id
Specify if the message being published is a Pulsar marker or not
Used in:
Used in:
Used in:
Signal wether the subscription should be backed by a durable cursor or not
If specified, the subscription will position the cursor markd-delete position on the particular message id and will send messages from that point
/ Add optional metadata key=value to this consumer
Signal whether the subscription will initialize on latest or not -- earliest
Mark the subscription as "replicated". Pulsar will make sure to periodically sync the state of replicated subscriptions across different clusters (when using geo-replication).
If true, the subscribe operation will cause a topic to be created if it does not exist already (and if topic auto-creation is allowed by broker. If false, the subscribe operation will fail if the topic does not exist.
If specified, the subscription will reset cursor's position back to specified seconds and will send messages from that point
The consumer epoch, when exclusive and failover consumer redeliver unack message will increase the epoch
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Only present when the client reconnects:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
,Used in:
Used in:
Used in:
Used in:
Used in:
, , , , ,Used in:
, , , , , ,For the chunk message id, we need to specify the first chunk message id.
Property set on replicated message, includes the source cluster name
key to decide partition for the msg
Override namespace's replication
Removed below checksum field from Metadata as it should be part of send-command which keeps checksum of header + payload optional sfixed64 checksum = 10; differentiate single and batch message metadata
the timestamp that this event occurs. it is typically set by applications. if this field is omitted, `publish_time` can be used for the purpose of `event_time`.
Contains encryption key name, encrypted key and metadata to describe the key
Algorithm used to encrypt data key
Additional parameters required by encryption
Specific a key to overwrite the message key which used for ordering dispatch in Key_Shared mode.
Mark the message to be delivered at or after the specified timestamp
Identify whether a message is a "marker" message used for internal metadata instead of application published data. Markers will generally not be propagated back to clients
transaction related message info
/ Add highest sequence id to support batch message with external sequence id
Indicate if the message payload value is set
Indicate if the message partition key is set
Used in:
By default multiple producers can publish on a topic
Require exclusive access for producer. Fail immediately if there's already a producer connected.
Producer creation is pending until it can acquire exclusive access
Require exclusive access for producer. Fence out old producer.
Each protocol version identify new features that are incrementally added to the protocol
Initial versioning
Added application keep-alive
Added RedeliverUnacknowledgedMessages Command
Added compression with LZ4 and ZLib
Added batch message support
Added disconnect client w/o closing connection
Added checksum computation for metadata + payload
Added CommandLookupTopic - Binary Lookup
Added CommandConsumerStats - Client fetches broker side consumer stats
Added end of topic notification
Added proxy to broker
C++ consumers before this version are not correctly handling the checksum field
Added get topic's last messageId from broker
Added CommandActiveConsumerChange Added CommandGetTopicsOfNamespace
Schema-registry : added avro schema format for json
Add CommandAuthChallenge and CommandAuthResponse for mutual auth
Added Key_Shared subscription
Add CommandGetOrCreateSchema and CommandGetOrCreateSchemaResponse
Add support for broker entry metadata
Added support ack receipt
Add client support for broker entry metadata
Add CommandTcClientConnectRequest and CommandTcClientConnectResponse
Used in:
, , , ,Used in:
Used in:
, , , , , , , , , , , , , ,Error with ZK/metadata
Error writing reading from BK
Non valid authentication
Not authorized to use resource
Unable to subscribe/unsubscribe because
other consumers are connected
Any error that requires client retry operation with a fresh lookup
Unable to create producer because backlog quota exceeded
Exception while creating producer because quota exceeded
Error while verifying message checksum
Error when an older client/version doesn't support a required feature
Topic not found
Subscription not found
Consumer not found
Error with too many simultaneously request
The topic has been terminated
Producer with same name is already connected
The topic name is not valid
Specified schema was incompatible with topic schema
Dispatcher assign consumer error
Transaction coordinator not found error
Invalid txn status error
Not allowed error
Ack with transaction conflict
Transaction not found
When a producer asks and fail to get exclusive producer access,
the timestamp that this event occurs. it is typically set by applications. if this field is omitted, `publish_time` can be used for the purpose of `event_time`.
Specific a key to overwrite the message key which used for ordering dispatch in Key_Shared mode.
Allows consumer retrieve the sequence id that the producer set.
Indicate if the message payload value is set
Indicate if the message partition key is set
Used in:
,Used in:
, ,