All Classes and Interfaces

Class
Description
 
 
Abort txn metadata.
 
 
 
 
 
 
 
 
 
Compaction will go through the topic in two passes.
 
The additional servlet with pulsarService interface for support additional servlet to get pulsarService.
 
 
 
 
 
 
 
 
 
 
Filter by anti-affinity-group-policy.
 
Defines Unload Metrics.
An asynchronous token bucket algorithm implementation that is optimized for performance with highly concurrent use.
 
 
SchemaCompatibilityCheck for SchemaType.AVRO.
 
 
 
 
 
Provider of a new BookKeeper client instance.
 
ManagedLedgerStorageClass represents a configured instance of ManagedLedgerFactory for managed ledgers.
 
 
Load management component which determines what brokers should not be considered for topic placement by the placement strategy.
Filter out unqualified Brokers, which are not entered into LoadBalancer for decision-making.
 
 
Class that will return the broker host usage.
A plugin interface that allows you to intercept the client requests to the Pulsar brokers.
Metadata information about a broker interceptor.
The collection of broker interceptor.
The metadata of broker interceptor.
A collection of broker interceptor.
Util class to search and load BrokerInterceptors.
A broker interceptor with it's classloader.
 
Contains all the data that is maintained locally on each broker.
The broker load data reporter.
 
 
Defines the information required to broker lookup.
 
 
Responsible for registering the current Broker lookup info to the distributed store (e.g.
The broker registry impl, base on the LockManager.
 
 
 
Broker admin base.
The broker selection strategy is designed to select the broker according to different implementations.
 
 
Base type of exception thrown by Pulsar Broker Service.
Deprecated.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
broker-tool is used for operations on a specific broker.
Filter by broker version.
 
 
 
 
 
 
 
 
The cache for the bundle ranges.
 
Load Manager component which determines what bundles should be split into two bundles.
Determines which bundles should be split based on various thresholds.
 
 
 
 
 
 
 
 
Note: If you want to guarantee that strong consistency between `compactionHorizon` and `compactedTopicContext`, you need to call getting them method in "synchronized(CompactedTopicImpl){ ...
 
An extended ReaderImpl used for StrategicTwoPhaseCompactor.
 
 
Compactor for Pulsar topics.
JMX Bean interface for Compactor stats.
 
 
 
 
This is a consumer selector using consistent hashing to evenly split the number of keys assigned to each consumer.
 
A Consumer is a consumer currently connected and associated with a Subscription.
Represents the hash ranges assigned to each consumer in a StickyKeyConsumerSelector at a point in time.
OpStatsLogger implementation that uses DataSketches library to calculate the approximated latency quantiles.
 
Default implementation of MonotonicSnapshotClock.
Determines which bundles should be split based on various thresholds.
 
Represent the tracker for the delayed delivery of messages for a particular subscription.
Factory of InMemoryDelayedDeliveryTracker objects.
 
 
 
 
 
 
 
 
Generate unique ids across multiple nodes.
A thread-safe map to store draining hashes in the consumer.
Represents an entry in the draining hashes tracker.
Interface for handling the unblocking of sticky key hashes.
A subclass of AsyncTokenBucket that represents a token bucket with a dynamic rate.
A builder class for creating instances of DynamicRateAsyncTokenBucket.
 
 
 
 
 
 
 
 
 
 
 
 
Exception handler for handle exception.
Find the appropriate broker for service unit (e.g.
 
 
 
This class is for preventing docs conflict before we find a good way to fix ISSUE-18947.
This class is for preventing docs conflict before we find a good way to fix ISSUE-18947.
 
A builder class for creating instances of FinalRateAsyncTokenBucket.
Split algorithm based on flow or qps.
 
 
 
 
 
The command to generate documents of broker-tool.
Class that will return the broker host usage.
 
 
Hash range assignment in StickyKeyConsumerSelector implementations.
This is a consumer selector based fixed hash range.
This is a sticky-key consumer selector based user provided range.
Represents the consumers that were impacted by a hash range change in a StickyKeyConsumerSelector at a point in time.
 
Exception is thrown when an incompatible schema is used.
 
 
In memory implementation of PendingAckStore.
 
 
A provider that provides in-memory implementations of TransactionBuffer.
A TransactionBufferReader implementation that reads entries from InMemTransactionBuffer.
 
Exception thrown when the schema data is not in a valid form.
 
SchemaCompatibilityCheck for SchemaType.JSON.
KeyValueSchemaCompatibilityCheck for SchemaType.KEY_VALUE.
A class to hold the contents of the leader election node.
A class that provides way to elect the leader among brokers.
Placement strategy which selects a broker based on which one has the least long term message rate.
Placement strategy which selects a broker based on which one has the least resource usage with weight.
Placement strategy which selects a broker based on which one has the least resource usage with weight.
Class that will return the broker host usage.
 
 
 
This interface class defines how we calculator the resource requirement per service unit based on the ServiceRequest.
This class represents all data that could be relevant when making a load management decision.
The load data reporter, it publish the load data to load data storage.
The load data store interface.
 
 
The load data store factory, use to create the load data store.
LoadManager runs through set of load reports collected from different brokers and generates a recommendation of namespace/ServiceUnit placement on machines/ResourceUnit.
The filter and load balance context, use for delivering context between filter, scheduler and strategy.
 
The base interface to schedule execute task in load manager.
This class contains code which in shared between the two load manager implementations.
 
 
 
The command to collect the load report of a specific broker.
Represents a task which reads load report from zookeeper for all the brokers and updates the ranking.
LoadManager namespace bundle quota update task.
Load management component which determines the criteria for unloading bundles.
LoadManager load shedding task.
 
 
 
Counter implementation based on LongAdder.
 
Represent a lookup result.
 
 
 
 
 
 
 
Storage to access ManagedLedgers.
ManagedLedgerStorageClass represents a configured instance of ManagedLedgerFactory for managed ledgers.
 
 
 
Class that contains all the logic to control and perform the deduplication on the broker side.
 
 
 
The MessageRedeliveryController is a non-thread-safe container for maintaining the redelivery messages.
 
 
MLPendingAckStore reply call back.
The implement of the pending ack store by manageLedger.
Provider is for MLPendingAckStore.
New proposal for a load manager interface which attempts to use more intuitive method names and provide a starting place for new load manager proposals.
 
Interface which serves as a component for ModularLoadManagerImpl, flexibly allowing the injection of potentially complex strategies.
Wrapper class allowing classes of instance ModularLoadManager to be compatible with the interface LoadManager.
An interface representing a clock that provides a monotonic counter in nanoseconds.
 
 
Listener for NamespaceBundle ownership changes.
 
Algorithm interface for namespace bundle split.
Listener for NamespaceBundle split.
Determines which bundles should be split based on various thresholds.
 
 
 
 
 
 
The NamespaceService provides resource ownership lookup as well as resource ownership claiming services for the PulsarService.
 
 
The namespace unload strategy.
 
 
 
 
 
 
 
 
 
 
 
 
Exception is thrown when an schema not exist.
 
 
 
 
 
 
 
 
 
 
 
 
Load shedding strategy which will attempt to shed exactly one bundle on brokers which are overloaded, that is, whose maximum system resource usage exceeds loadBalancerBrokerOverloadedThresholdPercentage.
 
This class provides a cache service for all the service unit ownership among the brokers.
 
 
 
Handle for processing pending acks for transactions.
 
The disabled implementation of PendingAckHandle.
The default implementation of PendingAckHandle.
The implement of transaction pending ack store.
The state of the pending ack handle PendingAckHandleState.
 
 
 
 
 
Call back for pending ack reply.
A thread-safe map to store pending acks in the consumer.
Callback interface for handling the addition of pending acknowledgments.
Callback interface for processing pending acknowledgments.
Callback interface for handling the removal of pending acknowledgments.
To store transaction pending ack.
 
 
This is the "classic" dispatcher implementation for the Shared subscription that was used before Pulsar 4.0.0 and PIP-379.
 
 
 
 
given a timestamp find the first message (position) (published) at or before the timestamp.
 
 
 
This is the "classic" dispatcher implementation for the Key_Shared subscription that was used before Pulsar 4.0.0 and PIP-379.
 
 
 
 
 
 
 
 
 
 
 
 
Represents a currently connected producer.
 
Generate metrics aggregated at the namespace level and optionally at a topic level and formats them out in a text format suitable to be consumed by Prometheus.
 
A wraps the response buffer and asynchronously provides a gzip compressed buffer when requested.
A Prometheus based StatsProvider implementation.
Helper class to ensure that metrics of the same name are grouped together under the same TYPE header when written.
A Prometheus based StatsLogger implementation.
Logic to write metrics in Prometheus text format.
 
The SchemaCompatibilityCheck implementation for SchemaType.PROTOBUF_NATIVE.
 
The SchemaCompatibilityCheck implementation for SchemaType.PROTOBUF.
The protocol handler interface for support additional protocols on Pulsar brokers.
Metadata information about a Pulsar protocol handler.
A collection of loaded handlers.
 
 
 
 
 
 
 
 
 
Setup the metadata for a new Pulsar cluster.
Teardown the metadata for a existed Pulsar cluster.
 
 
 
 
Setup the initial namespace of the cluster without startup the Pulsar broker.
 
 
 
 
 
 
Main class for Pulsar broker service.
 
 
 
 
 
 
 
 
Set up the transaction coordinator metadata for a cluster, the setup will create pulsar/system namespace and create partitioned topic for transaction coordinator assign.
Pulsar version entry point.
Base class for Web resources in Pulsar.
This algorithm divides the bundle into two parts with the same hash range size.
 
A raw batch message container without producer.
A representation of a message in a topic in its raw form (i.e.
 
Topic reader which receives raw messages (i.e.
 
 
 
 
 
 
Represents the hash ranges which were removed from an existing consumer by a change in the hash range assignments.
Encapsulate all the logic of replicated subscriptions tracking for a given topic.
Store the last N snapshots that were scanned by a particular subscription.
 
 
 
Http request wrapper.
 
 
The resource group (RG) data structure.
Convenience class for bytes and messages counts, which are used together in a lot of the following code.
 
 
Usage "sense" for resource groups: publish and dispatch for now; may be more later (e.g., storage-monitoring) ToDo: "class" is vague; is there a better term to call this?
The entities that might reference RGs are tenants, namespaces (and maybe topics, later).
Resource Group Config Listener
Resource Group Namespace Config Listener
 
 
 
The ResourceGroupService contains APIs to manipulate resource groups.
 
 
 
 
 
 
 
 
 
 
 
 
Resource Usage Transport Manager
 
 
Servlet filter that hooks up to handle outgoing response.
Exception used to provide better error messages to clients of the REST API.
PublishContext implementation for REST message publishing.
Simple Round Robin Broker Selection Strategy.
 
A validator to validate the schema data is well formed.
Schema related exceptions.
 
 
 
Protobuf type pulsar.schema.SchemaInfo
Protobuf type pulsar.schema.SchemaInfo
Protobuf type pulsar.schema.SchemaInfo.KeyValuePair
Protobuf type pulsar.schema.SchemaInfo.KeyValuePair
 
Protobuf enum pulsar.schema.SchemaInfo.SchemaType
 
 
 
A SchemaRegistryService wrapper that validate schema data.
 
 
 
 
 
Protobuf type pulsar.schema.IndexEntry
Protobuf type pulsar.schema.IndexEntry
 
Protobuf type pulsar.schema.PositionInfo
Protobuf type pulsar.schema.PositionInfo
 
Protobuf type pulsar.schema.SchemaEntry
Protobuf type pulsar.schema.SchemaEntry
 
Protobuf type pulsar.schema.SchemaLocator
Protobuf type pulsar.schema.SchemaLocator
 
 
Channel handler for the Pulsar broker.
 
 
Defines the possible states for service units.
 
Defines the ServiceUnitStateChannel interface.
 
 
 
Defines data for the service unit state changes.
 
 
Given that the ServiceUnitStateChannel event-sources service unit (bundle) ownership states via a persistent store and reacts to ownership changes, the ServiceUnitStateTableView provides an interface to the ServiceUnitStateChannel's persistent store and its locally replicated ownership view (tableview) with listener registration.
 
Defines ServiceUnitTableViewSyncer.
This class encapsulate some utility functions for ServiceUnit related metadata operations.
Replicate messages to shadow topic.
The assigner to assign entries to the proper Consumer in the shared subscription.
 
A Gauge implementation that forwards on the value supplier.
 
 
 
 
 
Deprecated.
 
 
Protobuf type pulsar.delay.SnapshotMetadata
Protobuf type pulsar.delay.SnapshotMetadata
 
 
 
 
Protobuf type pulsar.delay.SnapshotSegmentMetadata
Protobuf type pulsar.delay.SnapshotSegmentMetadata
 
Deprecated.
 
 
This algorithm divides the bundle into several parts by the specified positions.
Defines the information required for a service unit split(e.g.
Defines the information required for a service unit split(e.g.
Defines the information required for a service unit split(e.g.
 
 
Split manager.
Service Unit(e.g.
 
 
 
Abstraction for selecting the same consumer based on a key.
 
 
Compaction will go through the topic in two passes.
 
 
 
 
 
 
 
 
 
Cached topic policies service will cache the system topic reader and the topic policies While reader cache for the namespace was removed, the topic policies will remove automatically.
Pulsar system topic.
Reader for system topic.
Writer for system topic.
 
 
 
Compared with the more generic TableView, this table view - Provides just a single public method that reads the latest value synchronously.
The load data store, base on .
 
 
Load shedding strategy that unloads any broker that exceeds the average resource utilization of all brokers by a configured threshold.
 
 
 
 
 
 
The top k highest-loaded bundles' load data reporter.
Defines the information of top bundles load data.
 
 
 
 
 
 
 
This algorithm divides the bundle into two parts with the same topics count.
Utility class to dispatch topic events.
Listener for the Topic events.
Stages of events currently supported.
Types of events currently supported.
 
Pluggable TopicFactory to create topic with specific behavior in broker.
 
 
The path for this handler is marked as "v2" even though it refers to Pulsar 1.x topic name format.
 
 
Topic policies service.
 
System topic for topic policy.
 
 
Contains methods used by REST api to producer/consumer/read messages to/from pulsar topics.
Transaction buffer based on normal persistent topic.
A functional interface to handle the max read position move forward.
 
A provider that provides topic implementations of TransactionBuffer.
 
The implement of topic transaction buffer state.
The state of the topicTransactionBuffer TopicTransactionBuffer.
Defines the information of top k highest-loaded bundles.
 
 
A class represent a transaction buffer.
The implementation of TransactionBufferClient.
 
 
Transaction buffer disable.
The base exception class for the errors thrown from Transaction Buffer.
Exception thrown when reaching end of a transaction.
Exception is thrown when the transaction is not found in the transaction buffer.
 
 
A provider that provides TransactionBuffer.
A reader to read entries of a given transaction from transaction buffer.
Transaction buffer snapshot metadata.
 
 
 
 
 
 
 
 
The base exception class for the errors thrown from Transaction Coordinator.
Exceptions are thrown when txnAction is unsupported.
The transaction Cursor maintains the index of all transactions.
A class represents an entry appended to a transaction.
A simple implementation of TransactionEntry.
The base exception class for the errors thrown from Transaction.
Exception is thrown when opening a reader on a transaction that is not sealed yet.
Exception thrown if a transaction is already sealed.
Exceptions are thrown when operations are applied to a transaction which is not in expected txn status.
The metadata for the transaction in the transaction buffer.
 
The base exception class for the errors thrown from Transaction Pending ACk.
Transaction pending ack store provider exception.
Provider of transaction pending ack store.
The transaction recover tracker implementation TransactionRecoverTracker.
 
 
An timeout tracker factory implementation of TransactionTimeoutTrackerFactory.
An timer-task implementation of TransactionTimeoutTracker.
Load shedding strategy that unloads bundles from the highest loaded brokers.
 
 
This strategy tends to distribute load uniformly across all brokers.
Defines the information required to unload or transfer a service unit(e.g.
Defines Unload Metrics.
Defines the information required to unload or transfer a service unit(e.g.
 
 
Unload manager.
 
 
Web Service embedded into Pulsar.
 
 
This class implements PlacementStrategy based on Weighted Round Robin Algorithm.