<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://pulsar.apache.org/blog/</id>
    <title>Apache Pulsar Blog</title>
    <updated>2024-10-24T00:00:00.000Z</updated>
    <generator>https://github.com/jpmonette/feed</generator>
    <link rel="alternate" href="https://pulsar.apache.org/blog/"/>
    <subtitle>Apache Pulsar Blog</subtitle>
    <icon>https://pulsar.apache.org/img/favicon.ico</icon>
    <entry>
        <title type="html"><![CDATA[What's New in Apache Pulsar 4.0]]></title>
        <id>https://pulsar.apache.org/blog/2024/10/24/announcing-apache-pulsar-4-0/</id>
        <link href="https://pulsar.apache.org/blog/2024/10/24/announcing-apache-pulsar-4-0/"/>
        <updated>2024-10-24T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[The Apache Pulsar community is thrilled to announce the launch of Apache Pulsar 4.0, a new LTS release!]]></summary>
        <content type="html"><![CDATA[<p>The Apache Pulsar community is thrilled to announce the launch of Apache Pulsar 4.0, a new LTS release!</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="whats-new-in-apache-pulsar-40-lts-since-pulsar-30-lts">What's new in Apache Pulsar 4.0 LTS since Pulsar 3.0 LTS?<a href="https://pulsar.apache.org/blog/2024/10/24/announcing-apache-pulsar-4-0/#whats-new-in-apache-pulsar-40-lts-since-pulsar-30-lts" class="hash-link" aria-label="Direct link to What's new in Apache Pulsar 4.0 LTS since Pulsar 3.0 LTS?" title="Direct link to What's new in Apache Pulsar 4.0 LTS since Pulsar 3.0 LTS?">​</a></h2>
<p>Pulsar 4.0 <a href="https://pulsar.apache.org/release-notes/versioned/pulsar-4.0.0/" target="_blank" rel="noopener noreferrer">includes numerous Pulsar Improvement Proposals (PIPs)</a> since the previous LTS release Pulsar 3.0 in May 2023. These improvements have enhanced the platform's capabilities across multiple areas.</p>
<p>Since there's a lot of new features and improvements, this blog post will only highlight a few of the recent updates. Apache Pulsar contributors are invited to contribute additional blog posts with more details about the new features and improvements.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="enhanced-key_shared-subscription-scale-without-compromising-message-order">Enhanced Key_Shared Subscription: Scale Without Compromising Message Order<a href="https://pulsar.apache.org/blog/2024/10/24/announcing-apache-pulsar-4-0/#enhanced-key_shared-subscription-scale-without-compromising-message-order" class="hash-link" aria-label="Direct link to Enhanced Key_Shared Subscription: Scale Without Compromising Message Order" title="Direct link to Enhanced Key_Shared Subscription: Scale Without Compromising Message Order">​</a></h3>
<p><strong>Key_Shared subscription</strong> is one of Pulsar's most valuable features, enabling organizations to scale their message processing capacity by adding multiple consumers while maintaining strict message ordering based on keys. This capability is crucial for applications requiring both high throughput and ordered processing, such as financial transactions, event processing, and real-time analytics.</p>
<p>In Pulsar 4.0, we've improved the Key_Shared subscription implementation through a significant enhancement with <a href="https://github.com/apache/pulsar/blob/master/pip/pip-379.md" target="_blank" rel="noopener noreferrer">PIP-379 Key_Shared Draining Hashes for Improved Message Ordering</a>. The new design ensures messages with the same key are handled by only one consumer at a time, while eliminating unnecessary message blocking that previously impacted system performance during consumer changes and application restarts.</p>
<p>Operations teams can quickly identify and resolve any Key_Shared ordered message delivery issues through comprehensive troubleshooting metrics in Pulsar topic stats.
Future improvements will introduce a REST API that will further simplify troubleshooting by providing direct access to unacknowledged message details and powerful key-based search capabilities for resolving message delivery issues where typically the root cause is in an application that doesn't acknowledge a message and due to message ordering constraints, further messages for the key are blocked. Web based user interfaces and CLI tools can build upon this REST API, allowing also automation for resolving or alerting in operations. Related Key_shared troubleshooting metrics will also be exposed via Prometheus and OTel interfaces in future updates.</p>
<p>You can learn more about the Key_Shared subscription preserving order of message delivery by key and related troubleshooting capabilities in the <a href="https://pulsar.apache.org/docs/4.0.x/concepts-messaging/#preserving-order-of-message-delivery-by-key" target="_blank" rel="noopener noreferrer">Pulsar documentation</a>.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="enhanced-secure-docker-image-runtime-based-on-alpine-and-java-21">Enhanced Secure Docker Image Runtime Based on Alpine and Java 21<a href="https://pulsar.apache.org/blog/2024/10/24/announcing-apache-pulsar-4-0/#enhanced-secure-docker-image-runtime-based-on-alpine-and-java-21" class="hash-link" aria-label="Direct link to Enhanced Secure Docker Image Runtime Based on Alpine and Java 21" title="Direct link to Enhanced Secure Docker Image Runtime Based on Alpine and Java 21">​</a></h3>
<p>Pulsar 4.0 contains enhancements to its Docker runtime environment, combining the security benefits of Alpine Linux with the performance improvements of Java 21's runtime. <strong>PIP-324</strong> introduced in Pulsar 3.3.0 aligns with our commitment to providing a secure, efficient, and resource-optimized platform for messaging workloads.</p>
<p>The new Docker images are now based on Alpine Linux instead of Ubuntu, reducing the image size while improving the security posture.</p>
<p>A key security enhancement is the elimination of CVEs in the base image. While the previous Ubuntu-based images carried 12 Medium/Low CVEs with no available resolution, the new Alpine-based images start with zero CVEs, providing a more secure foundation for production deployments. This improvement is particularly valuable for organizations with strict security requirements and compliance needs.</p>
<p>The Docker images now include Java 21 with Generational ZGC, bringing significant improvements in garbage collection performance. Generational ZGC provides sub-millisecond pause times, better CPU utilization, and improved memory efficiency compared to previous garbage collectors. This translates to more predictable latencies and better resource utilization for Pulsar deployments.</p>
<p>These improvements make Pulsar 4.0's Docker runtime an even more compelling choice for organizations requiring both security and performance in their messaging infrastructure. The combination of Alpine Linux's minimal attack surface and Java 21's advanced garbage collection provides a robust foundation for running Pulsar in containerized environments.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="enhanced-quality-of-service-qos-controls">Enhanced Quality of Service (QoS) Controls<a href="https://pulsar.apache.org/blog/2024/10/24/announcing-apache-pulsar-4-0/#enhanced-quality-of-service-qos-controls" class="hash-link" aria-label="Direct link to Enhanced Quality of Service (QoS) Controls" title="Direct link to Enhanced Quality of Service (QoS) Controls">​</a></h3>
<p>Multi-tenancy in messaging systems presents unique architectural challenges, particularly around resource isolation and predictable performance. Apache Pulsar's approach to this has centered on providing granular control over system resources while maintaining consistency across tenant workloads.</p>
<p>The core advancement in Pulsar 4.0 comes through <a href="https://github.com/apache/pulsar/blob/master/pip/pip-322.md" target="_blank" rel="noopener noreferrer">PIP-322 Pulsar Rate Limiting Refactoring</a>. At its foundation is a token bucket algorithm implementation that unifies rate limiting across broker, topic, and resource group levels. This eliminates the previous split between "default" and "precise" rate limiters—a design choice that had introduced unnecessary CPU overhead and lock contention in IO threads.</p>
<p>The practical impact is straightforward: more predictable performance in multi-tenant deployments, especially when multiple rate limiting conditions intersect. While Pulsar already supports producer rate limiting, the community is building on this foundation with <a href="https://lists.apache.org/thread/9wddmj4o5mrdst427r40rr7phqb05y6s" target="_blank" rel="noopener noreferrer">PIP-385</a> to improve producer flow control — a key piece in completing Pulsar's end-to-end QoS capabilities.</p>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="rate-limiting-and-capacity-management-in-modern-messaging-platforms">Rate Limiting and Capacity Management in Modern Messaging Platforms<a href="https://pulsar.apache.org/blog/2024/10/24/announcing-apache-pulsar-4-0/#rate-limiting-and-capacity-management-in-modern-messaging-platforms" class="hash-link" aria-label="Direct link to Rate Limiting and Capacity Management in Modern Messaging Platforms" title="Direct link to Rate Limiting and Capacity Management in Modern Messaging Platforms">​</a></h4>
<p>Rate limiting in Pulsar 4.0 sets the groundwork for a more comprehensive approach to capacity management. The goal is simple: enable dynamic resource allocation while maintaining strict performance guarantees, particularly in environments where workload patterns are unpredictable.</p>
<p>This matters because traditional auto-scaling approaches, which typically respond to CPU or memory metrics, often fall short in messaging systems. Andy Warfield's <a href="https://youtu.be/sc3J4McebHE?feature=shared&amp;t=1335" target="_blank" rel="noopener noreferrer">analysis of S3 storage workloads highlighted a pattern</a> that's equally relevant in messaging: workloads are inherently bursty, characterized by sharp peaks amid periods of relative quiet. Traditional auto-scaling can't effectively handle these patterns without significant overprovisioning.</p>
<p>The industry has been converging on solutions to this challenge. <a href="https://www.usenix.org/conference/atc22/presentation/elhemali" target="_blank" rel="noopener noreferrer">Amazon DynamoDB's admission control system</a> and <a href="https://me.0xffff.me/dbaas3.html" target="_blank" rel="noopener noreferrer">TiDB's resource control framework</a> demonstrate practical approaches to managing capacity in multi-tenant environments. Both systems use token bucket algorithms for base rate limiting but extend beyond this to dynamic quota management.</p>
<p>The solution lies in sophisticated capacity management systems that can smooth out these peaks across a platform's total capacity. This approach aligns perfectly with Marc Brooker's insights into <a href="https://brooker.co.za/blog/2020/08/06/erlang.html" target="_blank" rel="noopener noreferrer">the economics of load-balanced systems</a>, where the efficiency gains of cloud-native architectures become most apparent at scale.</p>
<p>Pulsar's resource group concept, introduced with <a href="https://github.com/apache/pulsar/wiki/PIP-82%3A-Tenant-and-namespace-level-rate-limiting" target="_blank" rel="noopener noreferrer">PIP 82: Tenant and namespace level rate limiting</a> in Pulsar 2.8 in June 2021, laid initial groundwork for similar capabilities. While the documentation needs expansion, the technical foundation is solid. The token bucket implementation from PIP-322 provides the basis for evolution toward dynamic quota management and admission control, working in concert with Pulsar's load balancing to manage capacity effectively.</p>
<p>Looking ahead, this creates a path toward more sophisticated capacity management: dynamic limit adjustment based on real-time load, cross-tenant prioritization, and precise capacity allocation to specific tenants or namespaces. The focus is on handling demanding workloads while maintaining performance predictability—without the traditional answer of overprovisioning.</p>
<p>The development of these capabilities remains open and community-driven. Technical discussions and decisions happen in the open on the <a href="https://pulsar.apache.org/contact" target="_blank" rel="noopener noreferrer">Apache Pulsar dev mailing list</a> and get documented in <a href="https://github.com/apache/pulsar/tree/master/pip#pulsar-improvement-proposal-pip" target="_blank" rel="noopener noreferrer">Pulsar Improvement Proposals (PIPs)</a>.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="start-using-pulsar-40">Start using Pulsar 4.0<a href="https://pulsar.apache.org/blog/2024/10/24/announcing-apache-pulsar-4-0/#start-using-pulsar-40" class="hash-link" aria-label="Direct link to Start using Pulsar 4.0" title="Direct link to Start using Pulsar 4.0">​</a></h3>
<p>Pulsar 4.0.0 is now available for <a href="https://pulsar.apache.org/download/" target="_blank" rel="noopener noreferrer">download</a>. The download page also includes details about the Docker image. To get started with Pulsar, you can run a Pulsar cluster <a href="https://pulsar.apache.org/docs/4.0.x/getting-started-home/" target="_blank" rel="noopener noreferrer">on your local machine, Docker, or Kubernetes</a>.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="upgrading-existing-clusters-to-pulsar-40">Upgrading existing clusters to Pulsar 4.0<a href="https://pulsar.apache.org/blog/2024/10/24/announcing-apache-pulsar-4-0/#upgrading-existing-clusters-to-pulsar-40" class="hash-link" aria-label="Direct link to Upgrading existing clusters to Pulsar 4.0" title="Direct link to Upgrading existing clusters to Pulsar 4.0">​</a></h3>
<p>Starting from version 3.0, users have the option to perform live upgrades or downgrades between two consecutive LTS versions or two consecutive feature versions (which also include LTS versions).</p>
<p>Pulsar changes in releases are designed in a way that allows upgrading an existing Pulsar cluster to a newer release and then rolling back to the original release version in case of issues. This is considered when changes are made in Pulsar and the default BookKeeper configuration for Pulsar. Since Apache Pulsar is an open-source project, there is no guarantee that a specific configuration can be upgraded and downgraded.</p>
<p>In many cases, the ability to downgrade won't work if the upgrade happens from an older version than the latest released version in a particular release series.
For example, upgrading to Pulsar 3.0.x works between 2.10.6 and 3.0.7, but not between 2.10.5 and 3.0.7.</p>
<p>Each Pulsar user is responsible for operating their cluster, and Pulsar cluster upgrades should be tested in testing and staging environments to ensure that a specific configuration can be upgraded and downgraded. When something is supported in the Apache Project, it means that the project is committed to addressing reported issues. This also applies to release upgrade compatibility.</p>
<p>According to this policy, users should first upgrade clusters to Pulsar 3.0.x or 3.3.x before upgrading to Pulsar 4.0.0.
If you are upgrading from Pulsar 2.x, you should first upgrade to Pulsar 2.10.6 or 2.11.3, then upgrade to Pulsar 3.0.7, and finally upgrade to Pulsar 4.0.0.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="upgrading-clients-to-use-pulsar-40">Upgrading clients to use Pulsar 4.0<a href="https://pulsar.apache.org/blog/2024/10/24/announcing-apache-pulsar-4-0/#upgrading-clients-to-use-pulsar-40" class="hash-link" aria-label="Direct link to Upgrading clients to use Pulsar 4.0" title="Direct link to Upgrading clients to use Pulsar 4.0">​</a></h3>
<p>Older Pulsar clients are compatible with Pulsar 4.0.0 and Pulsar Java client 4.0.0 is compatible with older Pulsar clusters.
When upgrading clients, you can upgrade directly to the latest supported version. It is recommended to keep the clients up-to-date with latest security patches and bug fixes.</p>
<p>There's a critical security vulnerability <a href="https://github.com/advisories/GHSA-r7pg-v2c8-mfg3" target="_blank" rel="noopener noreferrer">CVE-2024-47561</a> in all Pulsar Java clients before 3.0.7, 3.3.2 and 4.0.0. Please check the <a href="https://pulsar.apache.org/security/#security-advisories" target="_blank" rel="noopener noreferrer">Apache Pulsar Security page for more details</a>. All Pulsar Java client users are recommended to upgrade to 3.0.7, 3.3.2 or 4.0.0.</p>
<p>When upgrading Java clients, it is a common problem that client module library versions are not aligned. It is recommended to use the <a href="https://pulsar.apache.org/docs/4.0.x/client-libraries-java-setup/#pulsar-bom" target="_blank" rel="noopener noreferrer">Pulsar BOM</a> to manage the Pulsar Java client version in Maven and Gradle builds. There's also specific instructions for <a href="https://pulsar.apache.org/docs/4.0.x/client-libraries-java-setup/#spring-boot" target="_blank" rel="noopener noreferrer">selecting the Pulsar client version in Spring Boot projects</a>.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="thank-you-to-apache-pulsar-contributors">Thank You to Apache Pulsar Contributors<a href="https://pulsar.apache.org/blog/2024/10/24/announcing-apache-pulsar-4-0/#thank-you-to-apache-pulsar-contributors" class="hash-link" aria-label="Direct link to Thank You to Apache Pulsar Contributors" title="Direct link to Thank You to Apache Pulsar Contributors">​</a></h3>
<p>Apache Pulsar 4.0 represents the collaborative effort of a vibrant open-source community. This release showcases the dedication of developers, organizations, and users worldwide who have contributed to making data streaming more accessible and scalable.</p>
<p>We extend our deepest gratitude to:</p>
<ul>
<li>The individual contributors who developed new features, reported bugs, fixed bugs, and improved documentation</li>
<li>The committers and PMC members who participated in Apache Pulsar project security issue handling, PIP decision making and voting for the releases.</li>
<li>The organizations that have deployed Pulsar in production and shared their valuable feedback</li>
<li>The users who participated in testing and provided invaluable input during the release process</li>
<li>The broader Apache Software Foundation community for their continued support</li>
</ul>
<p>The project faces typical open-source challenges — we're operating with a volunteer workforce and currently experiencing a backlog in pull request reviews. While this is a common scenario in successful Apache projects, we're actively working on processes to handle contributions more efficiently.</p>
<p>Apache Pulsar's strength lies in its community-driven development. Whether you're running Pulsar in production or evaluating it for your technology stack, we encourage you to join the conversation on the <a href="https://pulsar.apache.org/contact/#mailing-lists" target="_blank" rel="noopener noreferrer">dev@pulsar.apache.org</a> mailing list or the <a href="https://pulsar.apache.org/community/#section-discussions" target="_blank" rel="noopener noreferrer">Pulsar Slack community</a>. Your experience and feedback help shape the future of this platform.</p>]]></content>
        <author>
            <name>Lari Hotari</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[What's New in Apache Pulsar 3.2.0]]></title>
        <id>https://pulsar.apache.org/blog/2024/02/12/announcing-apache-pulsar-3-2/</id>
        <link href="https://pulsar.apache.org/blog/2024/02/12/announcing-apache-pulsar-3-2/"/>
        <updated>2024-02-12T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[The Apache Pulsar community is thrilled to announce the launch of Apache Pulsar 3.2, a new feature release! This achievement is the result of a significant community collaboration, involving 57 contributors who made over 88 commits to add new features and fix bugs. Our heartfelt thanks go out to every contributor for their invaluable work!]]></summary>
        <content type="html"><![CDATA[<p>The Apache Pulsar community is thrilled to announce the launch of Apache Pulsar 3.2, a new feature release! This achievement is the result of a significant community collaboration, involving 57 contributors who made over 88 commits to add new features and fix bugs. Our heartfelt thanks go out to every contributor for their invaluable work!</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="whats-new-in-apache-pulsar-32">What's new in Apache Pulsar 3.2?<a href="https://pulsar.apache.org/blog/2024/02/12/announcing-apache-pulsar-3-2/#whats-new-in-apache-pulsar-32" class="hash-link" aria-label="Direct link to What's new in Apache Pulsar 3.2?" title="Direct link to What's new in Apache Pulsar 3.2?">​</a></h2>
<p>This release introduces <a href="https://pulsar.apache.org/release-notes/versioned/pulsar-3.2.0/" target="_blank" rel="noopener noreferrer">180+ improvements, optimizations, and fixes</a> on the broker, Pulsar IO/Pulsar Functions, CLI, and others.</p>
<p>It also unveils key new features, highlighted below.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="rate-limiting">Rate limiting<a href="https://pulsar.apache.org/blog/2024/02/12/announcing-apache-pulsar-3-2/#rate-limiting" class="hash-link" aria-label="Direct link to Rate limiting" title="Direct link to Rate limiting">​</a></h3>
<p>An increasing number of messaging-as-a-service platform teams are adopting Apache Pulsar as their main building block for providing messaging services across their organizations. This is clear validation that the value of Apache Pulsar’s truly multi-tenant architecture is delivering results, making Apache Pulsar a cost-efficient and reliable solution for messaging-as-a-service platform teams in very demanding application environments.</p>
<p>In the Apache Pulsar project, we are committed to delivering further improvements to the existing multi-tenancy features. One area of improvement is the service level management and capacity management of a large Pulsar system. This is also a key concern of messaging-as-a-service platform teams.</p>
<p>Apache Pulsar 3.2.0 features the implementation of <a href="https://github.com/apache/pulsar/blob/master/pip/pip-322.md" target="_blank" rel="noopener noreferrer">PIP-322 Pulsar Rate Limiting Refactoring</a>. Rate limiters act as a conduit to more extensive capacity management and Quality of Service (QoS) controls in Pulsar. They are integral to Pulsar's core multi-tenancy features. This refactoring paves the way for future enhancements in this area.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="null-key-messages-deletion-during-compaction">Null-key messages deletion during compaction<a href="https://pulsar.apache.org/blog/2024/02/12/announcing-apache-pulsar-3-2/#null-key-messages-deletion-during-compaction" class="hash-link" aria-label="Direct link to Null-key messages deletion during compaction" title="Direct link to Null-key messages deletion during compaction">​</a></h3>
<p>Apache Pulsar supports <a href="https://pulsar.apache.org/docs/3.2.x/concepts-topic-compaction/" target="_blank" rel="noopener noreferrer">Topic Compaction</a>.</p>
<p>In versions 3.1.0 and earlier of Pulsar, topic compaction retains messages that have null keys.</p>
<p>Starting with Pulsar 3.2.0, the default behavior has been changed to delete messages with null keys during topic compaction, which helps in reducing storage costs. However, if necessary, you can revert to the previous behavior by setting <code>topicCompactionRetainNullKey=true</code> in <code>broker.conf</code>.</p>
<p>For more details, refer to the description in <a href="https://github.com/apache/pulsar/blob/master/pip/pip-318.md" target="_blank" rel="noopener noreferrer">PIP-318</a>.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="websockets-new-features">WebSockets new features<a href="https://pulsar.apache.org/blog/2024/02/12/announcing-apache-pulsar-3-2/#websockets-new-features" class="hash-link" aria-label="Direct link to WebSockets new features" title="Direct link to WebSockets new features">​</a></h3>
<p>The Pulsar WebSocket API now supports:</p>
<ul>
<li>Consuming multiple topics as described in <a href="https://github.com/apache/pulsar/blob/master/pip/pip_307.md" target="_blank" rel="noopener noreferrer">PIP-307</a>.</li>
<li>End-to-end encryption, as described in <a href="https://github.com/apache/pulsar/blob/master/pip/pip-290.md" target="_blank" rel="noopener noreferrer">PIP-290</a>.</li>
</ul>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="enhanced-security-for-pulsar-functions--pulsar-io">Enhanced security for Pulsar Functions &amp; Pulsar IO<a href="https://pulsar.apache.org/blog/2024/02/12/announcing-apache-pulsar-3-2/#enhanced-security-for-pulsar-functions--pulsar-io" class="hash-link" aria-label="Direct link to Enhanced security for Pulsar Functions &amp; Pulsar IO" title="Direct link to Enhanced security for Pulsar Functions &amp; Pulsar IO">​</a></h3>
<p>Pulsar 3.2.0 provides increased security for Pulsar Functions &amp; Pulsar IO by allowing users to configure Pulsar Connectors with non-plaintext secrets. More details in <a href="https://github.com/apache/pulsar/blob/master/pip/pip-289.md" target="_blank" rel="noopener noreferrer">PIP-289</a> &amp; the following pull requests:</p>
<ul>
<li><a href="https://github.com/apache/pulsar/pull/21675" target="_blank" rel="noopener noreferrer">Make connectors load sensitive fields from secrets</a></li>
<li><a href="https://github.com/apache/pulsar/pull/20901" target="_blank" rel="noopener noreferrer">Support configuration secret interpolation</a></li>
</ul>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="cli-user-experience-improvements">CLI user experience improvements<a href="https://pulsar.apache.org/blog/2024/02/12/announcing-apache-pulsar-3-2/#cli-user-experience-improvements" class="hash-link" aria-label="Direct link to CLI user experience improvements" title="Direct link to CLI user experience improvements">​</a></h3>
<p>This release introduces several handy features to the CLI, including:</p>
<ul>
<li><a href="https://github.com/apache/pulsar/pull/20663" target="_blank" rel="noopener noreferrer">Add command line option for configuring the memory limit</a></li>
<li><a href="https://github.com/apache/pulsar/pull/21664" target="_blank" rel="noopener noreferrer">Allow for deleting topics in bulk, using a regex or a file</a></li>
<li><a href="https://github.com/apache/pulsar/pull/20614" target="_blank" rel="noopener noreferrer">Display the current cluster in <code>pulsar-admin clusters list</code></a></li>
</ul>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="build-improvement">Build improvement<a href="https://pulsar.apache.org/blog/2024/02/12/announcing-apache-pulsar-3-2/#build-improvement" class="hash-link" aria-label="Direct link to Build improvement" title="Direct link to Build improvement">​</a></h3>
<p>Pulsar 3.2.0 also introduces enhancements to the build process and reliability, including a Bill of Materials (BOM) to simplify dependency management, as outlined in <a href="https://github.com/apache/pulsar/blob/master/pip/pip-326.md" target="_blank" rel="noopener noreferrer">PIP-326</a>.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="more">More<a href="https://pulsar.apache.org/blog/2024/02/12/announcing-apache-pulsar-3-2/#more" class="hash-link" aria-label="Direct link to More" title="Direct link to More">​</a></h3>
<p>Feel free to explore the <a href="https://github.com/apache/pulsar/releases/tag/v3.2.0" target="_blank" rel="noopener noreferrer">full release notes</a> for a detailed list of all improvements and fixes.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="compatibility-between-releases">Compatibility between releases<a href="https://pulsar.apache.org/blog/2024/02/12/announcing-apache-pulsar-3-2/#compatibility-between-releases" class="hash-link" aria-label="Direct link to Compatibility between releases" title="Direct link to Compatibility between releases">​</a></h2>
<p>When upgrading an existing Pulsar installation, it's crucial to perform component upgrades in a sequential manner.</p>
<p>Starting from version 3.0, users have the option to perform live upgrades or downgrades between two consecutive LTS versions or two consecutive feature versions (which also include LTS versions).</p>
<p>For the 3.2 series, you should be able to upgrade from version 3.x.</p>
<p>Please refer to the <a href="https://pulsar.apache.org/contribute/release-policy/">release policy</a> to learn more about the compatibility between releases.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="getting-started">Getting started<a href="https://pulsar.apache.org/blog/2024/02/12/announcing-apache-pulsar-3-2/#getting-started" class="hash-link" aria-label="Direct link to Getting started" title="Direct link to Getting started">​</a></h2>
<p>Pulsar 3.2.0 is now available for <a href="https://pulsar.apache.org/download/" target="_blank" rel="noopener noreferrer">download</a>. To get started with Pulsar, you can run a Pulsar cluster&nbsp;<a href="https://pulsar.apache.org/docs/3.2.x/getting-started-home/" target="_blank" rel="noopener noreferrer">on your local machine, Docker, or Kubernetes</a>.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="getting-involved">Getting involved<a href="https://pulsar.apache.org/blog/2024/02/12/announcing-apache-pulsar-3-2/#getting-involved" class="hash-link" aria-label="Direct link to Getting involved" title="Direct link to Getting involved">​</a></h2>
<p>Apache Pulsar is one of the fastest-growing open-source projects, recognized by the&nbsp;<a href="https://thestack.technology/top-apache-projects-in-2021-from-superset-to-nuttx/" target="_blank" rel="noopener noreferrer">Apache Software Foundation</a>&nbsp;as a Top 5 Project based on engagement. The vitality of Pulsar relies on continued community growth, which would not be possible without each and every contributor to the project. The Pulsar community welcomes contributions from anyone with a passion for open source, messaging, and streaming, as well as distributed systems! Looking for more ways to stay connected with the Pulsar community? Check out the following resources:</p>
<ul>
<li>Pulsar Summit North America 2023 took place on Wednesday, October 25, 2023!&nbsp;<a href="https://pulsar-summit.org/event/north-america-2023/schedule" target="_blank" rel="noopener noreferrer">Watch the sessions recordings</a>. Follow <a href="https://twitter.com/pulsarsummit" target="_blank" rel="noopener noreferrer">@PulsarSummit</a> on Twitter/X for updates and details on the upcoming Pulsar Summit events.</li>
<li>Read the&nbsp;<a href="https://pulsar.apache.org/contribute/" target="_blank" rel="noopener noreferrer">Apache Pulsar Contribution Guide</a>&nbsp;to start your first contribution.</li>
<li>Visit the&nbsp;<a href="https://github.com/apache/pulsar" target="_blank" rel="noopener noreferrer">Pulsar GitHub repository</a>, follow <a href="https://twitter.com/apache_pulsar" target="_blank" rel="noopener noreferrer">@apache_pulsar</a> on Twitter/X&nbsp;, and join the&nbsp;<a href="https://apache-pulsar.slack.com/" target="_blank" rel="noopener noreferrer">Pulsar community on Slack</a>.</li>
</ul>]]></content>
        <author>
            <name>Julien Jakubowski</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Apache Pulsar 2023 Year in Review]]></title>
        <id>https://pulsar.apache.org/blog/2024/01/12/pulsar-2023-year-in-review/</id>
        <link href="https://pulsar.apache.org/blog/2024/01/12/pulsar-2023-year-in-review/"/>
        <updated>2024-01-12T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[2023 was an incredible year for Apache Pulsar as it witnessed strong community growth, with the project becoming more stable, scalable, and secure. The Apache Pulsar community embraced a significant milestone in 2023 as the project crossed 600 contributors to the Pulsar main GitHub repository. We would like to thank everyone in the Pulsar community who contributed to this remarkable achievement!]]></summary>
        <content type="html"><![CDATA[<p>2023 was an incredible year for Apache Pulsar as it witnessed strong community growth, with the project becoming more stable, scalable, and secure. The Apache Pulsar community embraced a significant milestone in 2023 as the project crossed 600 contributors to the <a href="https://github.com/apache/pulsar" target="_blank" rel="noopener noreferrer">Pulsar main GitHub repository</a>. We would like to thank everyone in the Pulsar community who contributed to this remarkable achievement!</p>
<p>Since Pulsar’s graduation as a Top-Level Project (TLP) in September 2018, it has been driven by an active global community, with <strong>12K+</strong> commits from <strong>639</strong> contributors, <strong>12.2K+</strong> stars, <strong>3.5K</strong> forks, and <strong>10K+</strong> Slack users.</p>
<p>We are grateful to all of our community members and those in the broader open-source community who contributed to the Apache Pulsar project. They are the reasons behind every step Apache Pulsar has made over the past years.</p>
<p>Now, let’s take a look at some of the highlights in 2023.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="apache-pulsar-30-lts-release-a-big-milestone-for-the-community">Apache Pulsar 3.0 LTS release: a Big Milestone for the Community<a href="https://pulsar.apache.org/blog/2024/01/12/pulsar-2023-year-in-review/#apache-pulsar-30-lts-release-a-big-milestone-for-the-community" class="hash-link" aria-label="Direct link to Apache Pulsar 3.0 LTS release: a Big Milestone for the Community" title="Direct link to Apache Pulsar 3.0 LTS release: a Big Milestone for the Community">​</a></h2>
<p>The Apache Pulsar community announced the release of Apache Pulsar 3.0, the first Long-Term Support (LTS) version! Starting from Pulsar 3.0, the Pulsar community plans to release LTS versions to meet the needs of different users for stability and new features, as well as to reduce the burden of maintaining historical releases.</p>
<p>The previous release process has short maintenance cycles of approximately 3 to 4 months, while many users are still using old versions. To keep up with new updates and features, they may be forced to perform upgrades within a short timeframe, for which they are not prepared in terms of available time and required efforts.</p>
<p>Therefore, the Pulsar community introduces LTS versions with feature releases between them. The project follows a variant of Semantic Versioning, replacing <code>major.minor.patch</code> with <code>LTS.feature.patch</code>. For example:</p>
<ul>
<li>2.11.0 is a feature release</li>
<li>3.0.0 is the first LTS release</li>
<li>3.0.1 is a patch release of the LTS release</li>
<li>3.1.0 is a feature release</li>
<li>3.2.0 is a feature release</li>
<li>3.2.1 is a patch release</li>
<li>4.0.0 is an LTS release</li>
</ul>
<p>This pattern provides version support for users seeking stability and those seeking new features. Users who want a more stable release can use versions 3.0.x, while those seeking new features can use versions 3.x. This new release model is a major step for the Pulsar community because it:</p>
<ul>
<li>Allows users to choose between different releases based on their needs for stability or new features;</li>
<li>Clarifies the release cycle for both maintainers and users;</li>
<li>Frees maintainers from spending too much time maintaining a long list of old releases.</li>
</ul>
<p>With the new release model, the Pulsar community looks to release LTS versions every 18 months, with bug fixes continuing for 24 months and security vulnerability patches supported for 36 months. See the image below for details.</p>
<p><img decoding="async" loading="lazy" src="https://pulsar.apache.org/assets/images/pulsar-new-release-model-e50bbfe6a0ce07a6f8089bacfdd4a761.png" width="945" height="440" class="img_ev3q"></p>
<p>For more information, see <a href="https://github.com/apache/pulsar/issues/15966" target="_blank" rel="noopener noreferrer">PIP-175</a> and the <a href="https://pulsar.apache.org/contribute/release-policy/" target="_blank" rel="noopener noreferrer">Release policy</a>.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="new-website">New Website<a href="https://pulsar.apache.org/blog/2024/01/12/pulsar-2023-year-in-review/#new-website" class="hash-link" aria-label="Direct link to New Website" title="Direct link to New Website">​</a></h2>
<p>The Apache Pulsar website has a fresh look! Thanks to Emidio Cardeira, Asaf Mesika, Tison Chen and Kiryl Valkovich for creating an engaging design that captures the future feel of our thriving community and next-gen solution.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="pulsar-admin-go-library">Pulsar Admin Go Library<a href="https://pulsar.apache.org/blog/2024/01/12/pulsar-2023-year-in-review/#pulsar-admin-go-library" class="hash-link" aria-label="Direct link to Pulsar Admin Go Library" title="Direct link to Pulsar Admin Go Library">​</a></h2>
<p><a href="https://github.com/apache/pulsar-client-go/tree/master/pulsaradmin" target="_blank" rel="noopener noreferrer">Pulsar Admin Go Library</a> provides a unified Go API for managing Pulsar resources such as tenants, namespaces, topics, etc.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="enhanced-otel-based-metric-system">Enhanced OTel-based metric system<a href="https://pulsar.apache.org/blog/2024/01/12/pulsar-2023-year-in-review/#enhanced-otel-based-metric-system" class="hash-link" aria-label="Direct link to Enhanced OTel-based metric system" title="Direct link to Enhanced OTel-based metric system">​</a></h2>
<p><a href="https://github.com/apache/pulsar/blob/master/pip/pip-264.md" target="_blank" rel="noopener noreferrer">PIP-264</a> was completed, approved by the community, and started development. It will solve a big pain point for Pulsar users with a large number of topics - 50k up to 1M topics: observability. The Apache Pulsar community has taken a large undertaking to make OpenTelemetry Java SDK ready for very low latency systems such as Pulsar with two big features it currently develops: <a href="https://github.com/open-telemetry/opentelemetry-java/issues/5105" target="_blank" rel="noopener noreferrer">Near-zero memory allocations</a> and <a href="https://github.com/open-telemetry/opentelemetry-java/issues/6107" target="_blank" rel="noopener noreferrer">metric filtering upon collection</a>, which was also added to <a href="https://github.com/open-telemetry/opentelemetry-specification/issues/3324" target="_blank" rel="noopener noreferrer">OpenTelemetry specifications</a>.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="key-events-recap">Key events recap<a href="https://pulsar.apache.org/blog/2024/01/12/pulsar-2023-year-in-review/#key-events-recap" class="hash-link" aria-label="Direct link to Key events recap" title="Direct link to Key events recap">​</a></h2>
<p>In 2023, the Apache Pulsar community put together a number of meetups and events across the globe to share the latest messaging and streaming technologies. Among others, three summits received the most attention from community members.</p>
<ul>
<li>
<p><a href="https://streamnative.io/blog/pulsar-virtual-summit-europe-2023-key-takeaways" target="_blank" rel="noopener noreferrer">Pulsar Summit Europe 2023</a>: This event witnessed a remarkable milestone as over 400 attendees from 20+ countries joined the virtual stage to explore the cutting-edge advancements in Apache Pulsar and the real-world success stories of Pulsar-powered companies. This record-breaking turnout at the Pulsar Summit not only demonstrates the surging adoption of Pulsar but also highlights the ever-growing enthusiasm and curiosity surrounding this game-changing technology. It featured 5 keynotes on Apache Pulsar and 12 breakout sessions on tech deep dives, use cases, and ecosystem talks. They came from companies like Lego, VMWare, DataStax, StreamNative, RisingWave, Axon, Zafin and others. <a href="https://www.youtube.com/watch?v=XjIu9nXSSiI&amp;list=PLqRma1oIkcWjMn9ytQueYSP9HCc28756R" target="_blank" rel="noopener noreferrer">Watch the sessions</a>.</p>
</li>
<li>
<p><a href="https://pulsar.apache.org/blog/2023/08/28/pulsar-sessions-in-communityovercode-aisa-2023/" target="_blank" rel="noopener noreferrer">CommunityOverCode Asia 2023</a> conference (previously known as ApacheCon Asia) has been held from August 18th to August 20th. The conference gathers adopters, developers, engineers, and technologists from some of the most influential open-source communities in the world.</p>
</li>
<li>
<p><a href="https://communityovercode.org/past-sessions/community-over-code-na-2023/" target="_blank" rel="noopener noreferrer">CommunityOverCode NA 2023</a> conference (previously known as ApacheCon NA) has been held from October 7th to October 10th. The conference gathers adopters, developers, engineers, and technologists from some of the most influential open-source communities in the world. In 2023, CommunityOverCode introduced a Streaming track featuring three talks on Pulsar. If you missed the conference, you can still check out the slide decks!</p>
</li>
<li>
<p><a href="https://streamnative.io/blog/pulsar-summit-north-america-2023-a-deep-dive-into-the-on-demand-summit-videos" target="_blank" rel="noopener noreferrer">Pulsar Summit NA 2023</a>: Hosted in person at the famous Hotel Nikko (with after parties overlooking the city!) in San Francisco, the summit featured nearly 200 attendees and showcased 20 carefully curated sessions, each a testament to the vibrancy and innovation within the Pulsar ecosystem. They came from companies like Cisco, Discord, Iterable, Attentive, VMware, Flipkart, Boomi and others.  We are so grateful for the opportunity to spend a full day sharing knowledge and witnessing the community members connecting and inspiring each other. <a href="https://www.youtube.com/playlist?list=PLqRma1oIkcWhOZ6W-g4D_3JNxJzYnwLNX" target="_blank" rel="noopener noreferrer">Watch the sessions</a>.</p>
</li>
</ul>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="community-growth">Community growth<a href="https://pulsar.apache.org/blog/2024/01/12/pulsar-2023-year-in-review/#community-growth" class="hash-link" aria-label="Direct link to Community growth" title="Direct link to Community growth">​</a></h2>
<p>The development of the Pulsar community would not be possible without our contributors. Among them, Pulsar Committers and PMC members have taken the lead in contributing to and promoting the project. In 2023, many new faces joined the community while we also welcomed old friends taking more responsibility. Let’s take a look at the Pulsar community by numbers.</p>
<ul>
<li><strong>639</strong> global contributors for the Pulsar main GitHub repository</li>
<li><strong>13.4K+</strong> GitHub stars</li>
<li><strong>3.5K+</strong> forks</li>
<li><strong>8</strong> new Committers</li>
<li><strong>6</strong> new PMC members</li>
<li><strong>10k+</strong> Pulsar Slack members</li>
<li><strong>20M+</strong> Docker pulls</li>
</ul>
<p>The Pulsar community welcomes all kinds of contributions. For more information, see the <a href="https://pulsar.apache.org/contribute/" target="_blank" rel="noopener noreferrer">Apache Pulsar Contribution Guide</a>.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="project-releases">Project releases<a href="https://pulsar.apache.org/blog/2024/01/12/pulsar-2023-year-in-review/#project-releases" class="hash-link" aria-label="Direct link to Project releases" title="Direct link to Project releases">​</a></h2>
<p>In 2023, the Pulsar community worked hard to improve the project’s capabilities and fix existing bugs with 2 major versions and 12 minor versions.</p>
<p>The Apache Pulsar community released version <a href="https://pulsar.apache.org/blog/2023/01/20/Apache-Pulsar-2-11-0/" target="_blank" rel="noopener noreferrer">2.11</a> with 61 contributors providing feature enhancements and fixes that delivered 1617 commits.</p>
<p>A Big Milestone for the Apache Pulsar community was the release of <a href="https://pulsar.apache.org/blog/2023/05/02/announcing-apache-pulsar-3-0/" target="_blank" rel="noopener noreferrer">Apache Pulsar 3.0</a>, the first Long-Term Support (LTS) version! The community is getting bigger! Over 140 contributors submitted about 1500 commits to the Pulsar 3.0 release, which is the largest contribution yet for a project that is fast becoming one of the biggest open-source projects. It includes support for LTS, which delivers the predictability and stability that larger enterprise teams need to deliver a solid and reliable messaging and streaming service.</p>
<p>Thanks for all your contributions!</p>
<p>Many important Pulsar capabilities were delivered in these releases, such as <a href="https://github.com/apache/pulsar/issues/16691" target="_blank" rel="noopener noreferrer">Extensible Load Balancer</a> and <a href="https://github.com/apache/pulsar/issues/16763" target="_blank" rel="noopener noreferrer">Large-scale delayed message support</a>. For more information, see the <a href="https://pulsar.apache.org/release-notes/" target="_blank" rel="noopener noreferrer">Release Notes page</a>.</p>
<p>Updates about clients, Pulsar Manager, and Pulsar Helm Chart are listed below:</p>
<ul>
<li><a href="https://github.com/apache/pulsar-client-cpp/releases/tag/v3.4.2" target="_blank" rel="noopener noreferrer">Pulsar C++ Client 3.4.2</a></li>
<li><a href="https://github.com/apache/pulsar-client-go/releases/tag/v0.11.1" target="_blank" rel="noopener noreferrer">Pulsar Go Client 0.11.1</a></li>
<li><a href="https://github.com/apache/pulsar-client-node/releases/tag/v1.9.0" target="_blank" rel="noopener noreferrer">Pulsar Node.js Client 1.9.0</a></li>
<li><a href="https://github.com/apache/pulsar-client-python/releases/tag/v3.3.0" target="_blank" rel="noopener noreferrer">Pulsar Python Client 3.3.0</a></li>
<li><a href="https://github.com/apache/pulsar-manager/releases/tag/v0.4.0" target="_blank" rel="noopener noreferrer">Pulsar Manager 0.4.0</a></li>
<li><a href="https://github.com/apache/pulsar-helm-chart/releases/tag/pulsar-3.1.0" target="_blank" rel="noopener noreferrer">Pulsar Helm Chart 3.1.0</a></li>
<li><a href="https://github.com/apache/pulsar-dotpulsar/blob/master/CHANGELOG.md#311---2023-12-11" target="_blank" rel="noopener noreferrer">Pulsar dotnet Client 3.1.1</a></li>
<li><a href="https://github.com/apache/pulsar-client-reactive/releases/tag/v0.5.1" target="_blank" rel="noopener noreferrer">Reactive Client for Apache Pulsar 0.1.0</a></li>
</ul>
<p>For more information, see the <a href="https://pulsar.apache.org/release-notes/clients/" target="_blank" rel="noopener noreferrer">Clients Release Notes page</a>.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="pulsar-ecosystem">Pulsar ecosystem<a href="https://pulsar.apache.org/blog/2024/01/12/pulsar-2023-year-in-review/#pulsar-ecosystem" class="hash-link" aria-label="Direct link to Pulsar ecosystem" title="Direct link to Pulsar ecosystem">​</a></h2>
<p>In 2023, the Pulsar community worked with other open-source communities to add more integrations to the Pulsar ecosystem. Notable integrations include:</p>
<ul>
<li>
<p><a href="https://quarkus.io/guides/pulsar" target="_blank" rel="noopener noreferrer">Quarkus Extension for Apache Pulsar</a> provides support for Apache Pulsar through SmallRye Reactive Messaging framework. Based on Eclipse MicroProfile Reactive Messaging specification 3.0, it proposes a flexible programming model bridging CDI and event-driven.</p>
</li>
<li>
<p><a href="https://spring.io/blog/2023/11/21/spring-for-apache-pulsar-1-0-0-goes-ga/" target="_blank" rel="noopener noreferrer">Spring for Apache Pulsar</a> provides a <code>PulsarTemplate</code> for publishing to a Pulsar topic and a <code>PulsarListener</code> annotation for consuming from a Pulsar topic, as well as various convenience APIs for Spring developers to ramp up their development journey into Apache Pulsar. Support is also included in Spring Boot via <a href="https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#messaging.pulsar" target="_blank" rel="noopener noreferrer">auto-configuration</a>.</p>
</li>
<li>
<p><a href="https://github.com/streamnative/oxia" target="_blank" rel="noopener noreferrer">Oxia</a>: currently, the practical limit for the number of topics manageable by a single Pulsar cluster is around 1 million topics. The lack of horizontal scalability in Zookeeper is one of the reasons for this limit. <a href="https://github.com/streamnative/oxia" target="_blank" rel="noopener noreferrer">Oxia</a>, released this year, is a scalable metadata store and coordination system. Replacing Zookeeper with Oxia in a Pulsar cluster allows for exceeding this 1M topics limit, although it is not the only prerequisite. This contributes to the goal of reaching 100M topics.</p>
</li>
</ul>
<p>For more information, see the <a href="https://pulsar.apache.org/ecosystem/" target="_blank" rel="noopener noreferrer">Ecosystem page</a>.</p>
<h1>What’s next in 2024</h1>
<p>The Pulsar community seeks to further improve the project from different aspects.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="enhanced-otel-based-metric-system-1">Enhanced OTel-based metric system<a href="https://pulsar.apache.org/blog/2024/01/12/pulsar-2023-year-in-review/#enhanced-otel-based-metric-system-1" class="hash-link" aria-label="Direct link to Enhanced OTel-based metric system" title="Direct link to Enhanced OTel-based metric system">​</a></h2>
<p>As stated above, <a href="https://github.com/apache/pulsar/blob/master/pip/pip-264.md" target="_blank" rel="noopener noreferrer">PIP-264</a> is designed to enhance observability in scenarios where a single cluster manages a large number of topics, ranging from 50k up to 1M topics. Currently, there are two major features under development to support this functionality:</p>
<ul>
<li><a href="https://github.com/open-telemetry/opentelemetry-java/issues/5105" target="_blank" rel="noopener noreferrer">Near-zero memory allocations</a></li>
<li><a href="https://github.com/open-telemetry/opentelemetry-java/issues/6107" target="_blank" rel="noopener noreferrer">Metric filtering upon collection</a>, which was also added to <a href="https://github.com/open-telemetry/opentelemetry-specification/issues/3324" target="_blank" rel="noopener noreferrer">OpenTelemetry specifications</a>.</li>
</ul>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="pulsar-rate-limiting">Pulsar Rate Limiting<a href="https://pulsar.apache.org/blog/2024/01/12/pulsar-2023-year-in-review/#pulsar-rate-limiting" class="hash-link" aria-label="Direct link to Pulsar Rate Limiting" title="Direct link to Pulsar Rate Limiting">​</a></h2>
<p>An increasing number of messaging-as-a-service platform teams are adopting Apache Pulsar as their main building block for providing messaging services across their organizations. This is clear validation that the value of Apache Pulsar’s truly multi-tenant architecture is delivering results, making Apache Pulsar a cost-efficient and reliable solution for messaging-as-a-service platform teams in very demanding application environments.</p>
<p>In the Apache Pulsar project, we are committed to delivering further improvements to the existing multi-tenancy features. One area of improvement is the service level management and capacity management of a large Pulsar system. This is also a key concern of messaging-as-a-service platform teams.</p>
<p>In December 2023, <a href="https://github.com/apache/pulsar/blob/master/pip/pip-322.md" target="_blank" rel="noopener noreferrer">PIP-322 Pulsar Rate Limiting Refactoring</a> was accepted and completed and will be release as part of Pulsar 3.2.0 release. Rate limiters act as a conduit to more extensive capacity management and Quality of Service (QoS) controls in Pulsar. They are integral to Pulsar's core multi-tenancy features. This refactoring will pave the way for future enhancements in this area.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="pulsar-sql-removal-from-the-main-repo">Pulsar SQL removal from the main repo<a href="https://pulsar.apache.org/blog/2024/01/12/pulsar-2023-year-in-review/#pulsar-sql-removal-from-the-main-repo" class="hash-link" aria-label="Direct link to Pulsar SQL removal from the main repo" title="Direct link to Pulsar SQL removal from the main repo">​</a></h2>
<p>Pulsar SQL (Trino/Presto) will be moved from the main repository to a separate repository. This change will offer the following benefits:</p>
<ul>
<li>A significant reduction in the size of the TGZ and Docker image, saving approximately 400MB.</li>
<li>Reduced build time.</li>
</ul>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="security">Security<a href="https://pulsar.apache.org/blog/2024/01/12/pulsar-2023-year-in-review/#security" class="hash-link" aria-label="Direct link to Security" title="Direct link to Security">​</a></h2>
<p>Docker image vulnerability scans will start soon.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="events">Events<a href="https://pulsar.apache.org/blog/2024/01/12/pulsar-2023-year-in-review/#events" class="hash-link" aria-label="Direct link to Events" title="Direct link to Events">​</a></h2>
<p>We will also have more events coming for 2024, including Pulsar Summit North America and Pulsar Summit APAC. If you missed or want to relive the Pulsar Summit North America 2023, you can check out the videos of our amazing speakers <a href="https://youtube.com/playlist?list=PLqRma1oIkcWhOZ6W-g4D_3JNxJzYnwLNX&amp;si=o6G-fRcNgW9zqHGa" target="_blank" rel="noopener noreferrer">here</a>!</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="stay-in-touch">Stay in touch!<a href="https://pulsar.apache.org/blog/2024/01/12/pulsar-2023-year-in-review/#stay-in-touch" class="hash-link" aria-label="Direct link to Stay in touch!" title="Direct link to Stay in touch!">​</a></h2>
<p>To stay up to date with community news and discuss hot topics with other members, you can subscribe to the Pulsar mailing lists for <a href="mailto:users-subscribe@pulsar.apache.org" target="_blank" rel="noopener noreferrer">users</a> and <a href="mailto:dev-subscribe@pulsar.apache.org" target="_blank" rel="noopener noreferrer">developers</a>, follow us on <a href="https://twitter.com/apache_pulsar" target="_blank" rel="noopener noreferrer">X</a>, and join the <a href="https://communityinviter.com/apps/apache-pulsar/apache-pulsar" target="_blank" rel="noopener noreferrer">Pulsar Slack workspace</a> and <a href="https://github.com/apache/pulsar/wiki/Community-Meetings" target="_blank" rel="noopener noreferrer">Pulsar community meetings</a> that happen online.</p>]]></content>
        <author>
            <name>Apache Pulsar Community</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[What's New in Apache Pulsar 3.1.0]]></title>
        <id>https://pulsar.apache.org/blog/2023/10/10/announcing-apache-pulsar-3-1/</id>
        <link href="https://pulsar.apache.org/blog/2023/10/10/announcing-apache-pulsar-3-1/"/>
        <updated>2023-10-10T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[The Apache Pulsar community announces the release of Apache Pulsar 3.1, a new feature release! This is a remarkable community effort, with over 80 contributors submitting more than 360 commits for feature enhancements and bug fixes. We would like to thank all of them for their contributions!]]></summary>
        <content type="html"><![CDATA[<p>The Apache Pulsar community announces the release of Apache Pulsar 3.1, a new feature release!&nbsp;This is a remarkable community effort, with over 80 contributors submitting more than 360 commits for feature enhancements and bug fixes. We would like to thank all of them for their contributions!</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="whats-new-in-apache-pulsar-31">What's new in Apache Pulsar 3.1?<a href="https://pulsar.apache.org/blog/2023/10/10/announcing-apache-pulsar-3-1/#whats-new-in-apache-pulsar-31" class="hash-link" aria-label="Direct link to What's new in Apache Pulsar 3.1?" title="Direct link to What's new in Apache Pulsar 3.1?">​</a></h2>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="pluggable-topic-compaction-service">Pluggable topic compaction service<a href="https://pulsar.apache.org/blog/2023/10/10/announcing-apache-pulsar-3-1/#pluggable-topic-compaction-service" class="hash-link" aria-label="Direct link to Pluggable topic compaction service" title="Direct link to Pluggable topic compaction service">​</a></h3>
<p>Pulsar's <a href="https://pulsar.apache.org/docs/3.1.x/concepts-topic-compaction/" target="_blank" rel="noopener noreferrer">Topic Compaction</a> feature provides a key-based data retention mechanism that allows users to keep only the most recent message associated with a specific key. This helps reduce storage space and improve system efficiency.</p>
<p>Data in topics can be stored in various formats. For example, KoP (Kafka protocol handler) can store data in Kafka format.</p>
<p>Previously, Pulsar always compacted topic data, assuming that messages were in the Pulsar data format. However, this approach had limitations, as it prevented protocol handlers from utilizing the topic compaction feature with customized data formats such as the Kafka format used by KoP.</p>
<p>That's why <a href="https://github.com/apache/pulsar/pull/20624" target="_blank" rel="noopener noreferrer">PIP-278</a> introduced a pluggable topic compaction service interface to support customization of the actual compaction logic. This customization can be done while the major compaction task is still controlled by the Pulsar broker. This change primarily benefits protocol handlers developers.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="pluggable-partition-assignment-strategy">Pluggable partition assignment strategy<a href="https://pulsar.apache.org/blog/2023/10/10/announcing-apache-pulsar-3-1/#pluggable-partition-assignment-strategy" class="hash-link" aria-label="Direct link to Pluggable partition assignment strategy" title="Direct link to Pluggable partition assignment strategy">​</a></h3>
<p>Pulsar offers robust support for <a href="https://pulsar.apache.org/docs/3.1.x/concepts-broker-load-balancing-concepts/" target="_blank" rel="noopener noreferrer">load balancing</a> to ensure efficient resource utilization across Pulsar clusters.</p>
<p>The fundamental unit for load balancing is the topic bundle, which refers to a group of topics within the same namespace.</p>
<p>Previously, the only strategy for assigning a topic to a topic bundle was consistent hashing. However, this strategy doesn't fit all scenarios.</p>
<p><a href="https://github.com/apache/pulsar/issues/19806" target="_blank" rel="noopener noreferrer">PIP-255</a> introduced a pluggable topic bundle (partition) assignment interface to allow customization of the assignment algorithm. This enables users to adjust the strategy according to their specific scenarios.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="metadata-size-threshold-for-compression">Metadata size threshold for compression<a href="https://pulsar.apache.org/blog/2023/10/10/announcing-apache-pulsar-3-1/#metadata-size-threshold-for-compression" class="hash-link" aria-label="Direct link to Metadata size threshold for compression" title="Direct link to Metadata size threshold for compression">​</a></h3>
<p>Previously, even if the metadata was small, we had to apply compression. Now, we support a size-based threshold.</p>
<p>Starting from version 2.9, Pulsar supports compressing managed ledger information and managed cursor information stored in the metadata store. This feature can significantly reduce the size of large metadata.</p>
<p>However, for small metadata, compression doesn't provide significant benefits and may consume unnecessary computational resources.</p>
<p><a href="https://github.com/apache/pulsar/issues/20307" target="_blank" rel="noopener noreferrer">PIP-270</a> introduces two configuration options: <code>managedLedgerInfoCompressionThresholdInBytes</code> and <code>managedCursorInfoCompressionThresholdInBytes</code>. These options allow users to customize the size threshold for compressing metadata, with the default value set to 16 KB.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="lazy-creation-of-offload-resources">Lazy creation of offload resources<a href="https://pulsar.apache.org/blog/2023/10/10/announcing-apache-pulsar-3-1/#lazy-creation-of-offload-resources" class="hash-link" aria-label="Direct link to Lazy creation of offload resources" title="Direct link to Lazy creation of offload resources">​</a></h3>
<p><a href="https://pulsar.apache.org/docs/3.1.x/tiered-storage-overview/" target="_blank" rel="noopener noreferrer">Tiered storage</a> is an essential technology that enables the migration of old topic data from BookKeeper to long-term and more cost-effective storage while maintaining transparent client access to the topic data.</p>
<p>Tiered storage operates through offloaders. Previously, when a topic was created, the offloader immediately generated the associated offload resources, even though these resources remained unused until the actual offloading task was triggered.</p>
<p><a href="https://github.com/apache/pulsar/pull/20775" target="_blank" rel="noopener noreferrer">PR-20775</a> modifies this behavior by lazily creating the offload blob store. This means that the actual allocation occurs only when the offloading task is triggered, preventing excessive preallocation of resources.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="compatibility-between-releases">Compatibility between releases<a href="https://pulsar.apache.org/blog/2023/10/10/announcing-apache-pulsar-3-1/#compatibility-between-releases" class="hash-link" aria-label="Direct link to Compatibility between releases" title="Direct link to Compatibility between releases">​</a></h2>
<p>When upgrading an existing Pulsar installation, it's crucial to perform component upgrades in a sequential manner.</p>
<p>Starting from version 3.0, users have the option to perform live upgrades or downgrades between two consecutive LTS versions or two consecutive feature versions (which also include LTS versions).</p>
<p>For the 3.1 series, you should be able to upgrade directly from version 3.0 or downgrade from the subsequently released version 3.2. If you are currently using an earlier version, please ensure that you upgrade to version 3.0 before proceeding further.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="getting-started">Getting started<a href="https://pulsar.apache.org/blog/2023/10/10/announcing-apache-pulsar-3-1/#getting-started" class="hash-link" aria-label="Direct link to Getting started" title="Direct link to Getting started">​</a></h2>
<p>Pulsar 3.1.0 is now available for <a href="https://pulsar.apache.org/download/" target="_blank" rel="noopener noreferrer">download</a>. To get started with Pulsar, you can run a Pulsar cluster&nbsp;<a href="https://pulsar.apache.org/docs/3.1.x/getting-started-home/" target="_blank" rel="noopener noreferrer">on your local machine, Docker, or Kubernetes</a>.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="getting-involved">Getting involved<a href="https://pulsar.apache.org/blog/2023/10/10/announcing-apache-pulsar-3-1/#getting-involved" class="hash-link" aria-label="Direct link to Getting involved" title="Direct link to Getting involved">​</a></h2>
<p>Apache Pulsar is one of the fastest-growing open-source projects, recognized by the&nbsp;<a href="https://thestack.technology/top-apache-projects-in-2021-from-superset-to-nuttx/" target="_blank" rel="noopener noreferrer">Apache Software Foundation</a>&nbsp;as a Top 5 Project based on engagement. The vitality of Pulsar relies on continued community growth, which would not be possible without each and every contributor to the project. The Pulsar community welcomes contributions from anyone with a passion for open source, messaging, and streaming, as well as distributed systems! Looking for more ways to stay connected with the Pulsar community? Check out the following resources:</p>
<ul>
<li>Pulsar Summit North America 2023 will take place on Wednesday, October 25, 2023!&nbsp;<a href="https://registration.socio.events/e/pulsarsummitna2023" target="_blank" rel="noopener noreferrer">Register now</a> and follow <a href="https://twitter.com/pulsarsummit" target="_blank" rel="noopener noreferrer">@PulsarSummit</a> on Twitter/X for updates and details of this much-anticipated one-day event.</li>
<li>Read the&nbsp;<a href="https://pulsar.apache.org/contribute/" target="_blank" rel="noopener noreferrer">Apache Pulsar Contribution Guide</a>&nbsp;to start your first contribution.</li>
<li>Visit the&nbsp;<a href="https://github.com/apache/pulsar" target="_blank" rel="noopener noreferrer">Pulsar GitHub repository</a>, follow <a href="https://twitter.com/apache_pulsar" target="_blank" rel="noopener noreferrer">@apache_pulsar</a> on Twitter/X&nbsp;, and join the&nbsp;<a href="https://apache-pulsar.slack.com/" target="_blank" rel="noopener noreferrer">Pulsar community on Slack</a>.</li>
</ul>]]></content>
        <author>
            <name>tison</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Recap: Apache Pulsar Sessions in CommunityOverCode Asia 2023]]></title>
        <id>https://pulsar.apache.org/blog/2023/08/28/pulsar-sessions-in-communityovercode-aisa-2023/</id>
        <link href="https://pulsar.apache.org/blog/2023/08/28/pulsar-sessions-in-communityovercode-aisa-2023/"/>
        <updated>2023-08-30T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[The CommunityOverCode Asia 2023 conference (previously known as ApacheCon Asia) has been held from August 18th to August 20th.]]></summary>
        <content type="html"><![CDATA[<p>The <a href="https://apachecon.com/acasia2023/" target="_blank" rel="noopener noreferrer">CommunityOverCode Asia 2023</a> conference (previously known as ApacheCon Asia) has been held from August 18th to August 20th.</p>
<p>The conference gathers adopters, developers, engineers, and technologists from some of the most influential open-source communities in the world. To date, there has been a total of over 100 proposals submitted by presenters from AWS, Huawei, Tencent Cloud, StreamNative, WeBank, and many more.</p>
<p>We are excited to have various Apache Pulsar-related sessions on this conference, including the milestone achieved by our first LTS release, integrations with applications on cloud, the Pulsar community development, and so on.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="featured-sessions">Featured sessions<a href="https://pulsar.apache.org/blog/2023/08/28/pulsar-sessions-in-communityovercode-aisa-2023/#featured-sessions" class="hash-link" aria-label="Direct link to Featured sessions" title="Direct link to Featured sessions">​</a></h2>
<p>Let's have a quick look at some of the featured sessions about Apache Pulsar.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="apache-pulsar-30-first-lts-release-and-new-features">Apache Pulsar 3.0: First LTS release and new features<a href="https://pulsar.apache.org/blog/2023/08/28/pulsar-sessions-in-communityovercode-aisa-2023/#apache-pulsar-30-first-lts-release-and-new-features" class="hash-link" aria-label="Direct link to Apache Pulsar 3.0: First LTS release and new features" title="Direct link to Apache Pulsar 3.0: First LTS release and new features">​</a></h3>
<p>Zike Yang, Software Engineer, StreamNative</p>
<p>The Apache Pulsar community recently launched <a href="https://pulsar.apache.org/blog/2023/05/02/announcing-apache-pulsar-3-0/" target="_blank" rel="noopener noreferrer">Apache Pulsar 3.0</a>, the first LTS release of Pulsar. In this talk, we will delve into the importance of Pulsar's LTS version. We'll also cover the major features introduced in Pulsar 3.0, including a new load balancer, support for large-scale delayed messages, and Direct IO optimization.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="huawei-terminal-cloud-optimizes-apache-pulsar-in-container-scenarios">Huawei Terminal Cloud optimizes Apache Pulsar in container scenarios<a href="https://pulsar.apache.org/blog/2023/08/28/pulsar-sessions-in-communityovercode-aisa-2023/#huawei-terminal-cloud-optimizes-apache-pulsar-in-container-scenarios" class="hash-link" aria-label="Direct link to Huawei Terminal Cloud optimizes Apache Pulsar in container scenarios" title="Direct link to Huawei Terminal Cloud optimizes Apache Pulsar in container scenarios">​</a></h3>
<p>Lin Lin, SDE Expert, Huawei</p>
<p>Apache Pulsar is a cloud-native message queue that, based on its storage separation architecture, can often shrink the compute layer to save resources during periods of low traffic. We made a lot of optimizations for Apache Pulsar in containerization scenarios. For example, at present, the Pulsar load balancing algorithm relies on the past load data of nodes, and the process of achieving balance is relatively slow. When HPA is enabled, node capacity expansion may be triggered during load balancing, and capacity expansion triggers new load balancing. How can we optimize to make Pulsar more cloud-native?</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="apache-pulsar-current-limiting-principle-and-application-practice">Apache Pulsar current-limiting principle and application practice<a href="https://pulsar.apache.org/blog/2023/08/28/pulsar-sessions-in-communityovercode-aisa-2023/#apache-pulsar-current-limiting-principle-and-application-practice" class="hash-link" aria-label="Direct link to Apache Pulsar current-limiting principle and application practice" title="Direct link to Apache Pulsar current-limiting principle and application practice">​</a></h3>
<p>Jialing Wang, Software development engineer, China Mobile Cloud Capability Center</p>
<p>Combined with the current limiting practice of mobile cloud Pulsar and Kafka, this speech analyzes the working principle of current limiting at all levels of production and consumption in Apache Pulsar and the implementation scheme of ResourceGroup, and introduces the mobile cloud Kafka based on Pulsar and KoP. How to manage traffic between multiple clusters in cloud native scenarios based on ResourceGroup and load balancer?</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="the-secret-to-great-developer-experience-is-killer-content">The Secret to Great Developer Experience is Killer Content<a href="https://pulsar.apache.org/blog/2023/08/28/pulsar-sessions-in-communityovercode-aisa-2023/#the-secret-to-great-developer-experience-is-killer-content" class="hash-link" aria-label="Direct link to The Secret to Great Developer Experience is Killer Content" title="Direct link to The Secret to Great Developer Experience is Killer Content">​</a></h3>
<p>Yu Liu, Apache Pulsar PMC member</p>
<p>In recent years, the software industry has entered the cloud-native 2.0 era. The emergence of various new technologies has brought a sweet burden to developers. On the one hand, they have more choices; on the other hand, they face greater complexities. With the rise of the "developer-first" culture and the increasing decision-making weight of developers on product selection, the world's major technology giants are changing from traditional sales ideas to developer-centric ideas (B2D) to promote products, and high-quality content is the most effective marketing strategy. To satisfy all stakeholders' needs and accelerate the flywheel effect, how to design content that makes developers fall in love at first sight? To improve the development experience, how to create the "Aha moment" of the content? To increase user stickiness, how to make developers love the product forever through content? To strengthen brand competitiveness, how to differentiate the content strategies for open-source projects and commercial products? ——This session will share the practice in the Apache Pulsar community and dive deeper into how to design killer content that developers will love.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="more-resources">More resources<a href="https://pulsar.apache.org/blog/2023/08/28/pulsar-sessions-in-communityovercode-aisa-2023/#more-resources" class="hash-link" aria-label="Direct link to More resources" title="Direct link to More resources">​</a></h2>
<p>As we can see from topics submitted to CommunityOverCode Asia 2023, Apache Pulsar has become <a href="https://blogs.apache.org/foundation/entry/apache-in-2021-by-the" target="_blank" rel="noopener noreferrer">one of the most active Apache projects</a> over the past few years, with a vibrant community that continues to drive innovation and improvements to the project.</p>
<ol>
<li>Save your spot at the Pulsar Summit North America 2023. It will be taking place in San Francisco，October 25, 2023. <a href="https://pulsar-summit.org/" target="_blank" rel="noopener noreferrer">Sign up today</a> to join the Pulsar community and the messaging and event streaming community.</li>
<li>Join the Apache Pulsar community. <a href="https://pulsar.apache.org/community#section-welcome" target="_blank" rel="noopener noreferrer">Subscribe to the Pulsar mailing lists</a> for user-related or Pulsar development discussions. You can also <a href="https://communityinviter.com/apps/apache-pulsar/apache-pulsar" target="_blank" rel="noopener noreferrer">join the Pulsar Slack</a> to ask quick questions or discuss specialized topics.</li>
</ol>]]></content>
        <author>
            <name>tison</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Pulsar Summit North America 2023: CFP Is Open Now!]]></title>
        <id>https://pulsar.apache.org/blog/2023/06/28/pulsar-summit-north-america-2023-cfp/</id>
        <link href="https://pulsar.apache.org/blog/2023/06/28/pulsar-summit-north-america-2023-cfp/"/>
        <updated>2023-06-28T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[We're excited to announce that Pulsar Summit North America 2023 will take place on Wednesday, October 25, 2023!]]></summary>
        <content type="html"><![CDATA[<p><img decoding="async" loading="lazy" src="https://pulsar.apache.org/assets/images/pulsar-summit-north-america-2023-top-image-5ea0b0ee239c4fe684d454f85fd1b681.png" width="1200" height="630" class="img_ev3q"></p>
<p>We're excited to announce that Pulsar Summit North America 2023 will take place on <strong>Wednesday, October 25, 2023</strong>!</p>
<p>We welcome your participation to help make the event a success, by submitting a talk for the event or offering sponsorship.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="what-is-pulsar-summit">What is Pulsar Summit?<a href="https://pulsar.apache.org/blog/2023/06/28/pulsar-summit-north-america-2023-cfp/#what-is-pulsar-summit" class="hash-link" aria-label="Direct link to What is Pulsar Summit?" title="Direct link to What is Pulsar Summit?">​</a></h2>
<p>Pulsar Summit is the conference dedicated to Apache Pulsar and the messaging and event streaming community. The conference gathers an international audience of developers, data architects, data scientists, Apache Pulsar committers and contributors, and friends within the streaming and messaging ecosystem. Together, they share experiences, exchange ideas and knowledge, and receive hands-on training led by Pulsar experts.</p>
<p>Since 2020, seven global Pulsar Summit Events have featured 170+ interactive sessions by tech leads, open-source developers, software engineers, and software architects from Google, AWS, Splunk, Tencent, Verizon Media, Iterable, Yahoo, Nutanix, BIGO, TIBCO, OVHcloud, Clever Cloud, and more. The conferences have garnered 2,200 attendees representing 700 companies, including individuals from leading organizations such as Google, Microsoft, AMEX, Salesforce, TikTok, Alibaba, Tencent, Disney, and Paypal.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="speak-at-pulsar-summit-north-america-2023">Speak at Pulsar Summit North America 2023!<a href="https://pulsar.apache.org/blog/2023/06/28/pulsar-summit-north-america-2023-cfp/#speak-at-pulsar-summit-north-america-2023" class="hash-link" aria-label="Direct link to Speak at Pulsar Summit North America 2023!" title="Direct link to Speak at Pulsar Summit North America 2023!">​</a></h2>
<p><a href="https://sessionize.com/pulsar-summit-north-america-2023" target="_blank" rel="noopener noreferrer">Submit your session abstract</a></p>
<p>Share your Pulsar story and speak at the summit! Pulsar Summit offers a unique opportunity to connect with your peers and raise your profile in the rapidly growing Apache Pulsar community.</p>
<p>Our theme this year is "Why Pulsar?" and we are looking for stories that are innovative, informative, or thought-provoking. Join us to speak at the summit! You will be on stage with all the top Pulsar thought-leaders. It is a great way to participate and raise your profile in the rapidly growing Apache Pulsar community.</p>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="as-a-speaker-you-will-receive">As a speaker, you will receive:<a href="https://pulsar.apache.org/blog/2023/06/28/pulsar-summit-north-america-2023-cfp/#as-a-speaker-you-will-receive" class="hash-link" aria-label="Direct link to As a speaker, you will receive:" title="Direct link to As a speaker, you will receive:">​</a></h4>
<ul>
<li>Free conference pass.</li>
<li>Your headshot, bio, and session featured on the Pulsar Summit website.</li>
<li>Your session will be promoted on YouTube, Twitter, and LinkedIn.</li>
<li>The opportunity to share your knowledge and engage with the vibrant Pulsar community!</li>
</ul>
<p><strong>To speak at the summit, please submit an abstract about your presentation.</strong> Remember to keep your proposal short, relevant, and engaging. All levels of talks (beginner, intermediate, and advanced) are welcome. We invite you to submit your talk proposals and share your unique experience in one of the following themes:</p>
<ul>
<li><strong>“Why Pulsar?”</strong> - Your journey is inspiring, and we want to hear it! Share your stories of why you chose Pulsar, the challenges you overcame, and the solutions you implemented. Let others learn from your experiences and gain valuable insights from your use cases.</li>
<li><strong>“Learning Pulsar”</strong> - Are you an educator at heart? Submit an entry-level talk introducing Pulsar, its remarkable features, and best practices. Help beginners navigate their Pulsar journey and inspire them with your expert knowledge.</li>
<li><strong>“Deep Dive”</strong> - For all the experts out there, we invite you to share deep technical knowledge about Pulsar. Whether it's about the inner workings, optimization techniques, or advanced features, we'd love to hear it all.</li>
<li><strong>“Around Pulsar”</strong> - Have you built exceptional tools to work with Pulsar? Or have you integrated Pulsar with other technologies to create a superior solution? We'd love to hear about your innovations.</li>
</ul>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="important-dates">Important Dates:<a href="https://pulsar.apache.org/blog/2023/06/28/pulsar-summit-north-america-2023-cfp/#important-dates" class="hash-link" aria-label="Direct link to Important Dates:" title="Direct link to Important Dates:">​</a></h2>
<ul>
<li>CFP opens: Wednesday, June 21st, 2023</li>
<li>CFP closes: Friday, July 7th, 2023</li>
<li>Speaker notifications sent: Friday, July 28th, 2023</li>
<li>Schedule announcement: Friday, August 4th, 2023</li>
</ul>
<p>Submissions are open until Friday, July 7th, 2023. If you want some advice or feedback on your proposal or have any questions about the summit, please do not hesitate to contact us at <a href="mailto:organizers@pulsar-summit.org" target="_blank" rel="noopener noreferrer">organizers@pulsar-summit.org</a>. We are happy to help!</p>
<p>Help us make #PulsarSummit North America 2023 successful by spreading the word and submitting your proposal and sponsorship! Follow us on Twitter (<a href="https://twitter.com/PulsarSummit" target="_blank" rel="noopener noreferrer">@pulsarsummit</a>) to receive the latest updates on the summit.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="about-the-organizer">About the Organizer<a href="https://pulsar.apache.org/blog/2023/06/28/pulsar-summit-north-america-2023-cfp/#about-the-organizer" class="hash-link" aria-label="Direct link to About the Organizer" title="Direct link to About the Organizer">​</a></h2>
<p>StreamNative is built by the original creators of Apache Pulsar and Apache BookKeeper, and is one of the leading contributors to the open source Apache Pulsar project. As the core developers of Pulsar, the StreamNative team is deeply versed in the technology, the community, and the use cases. Today, StreamNative is focusing on growing the Apache Pulsar and BookKeeper communities and bringing its deep experience across diverse Pulsar use cases to companies across the globe.</p>]]></content>
        <author>
            <name>tison</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Announcing Apache Pulsar 3.0: The First Long-Term Support Release]]></title>
        <id>https://pulsar.apache.org/blog/2023/05/02/announcing-apache-pulsar-3-0/</id>
        <link href="https://pulsar.apache.org/blog/2023/05/02/announcing-apache-pulsar-3-0/"/>
        <updated>2023-05-02T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[The Apache Pulsar community today announces the release of Apache Pulsar 3.0, the first Long-Term Support (LTS) version! This is a remarkable community effort, with over 140 contributors submitting about 1500 commits for feature enhancements and bug fixes. We would like to thank all of them for their contributions!]]></summary>
        <content type="html"><![CDATA[<p><strong>The Apache Pulsar community today announces the release of Apache Pulsar 3.0, the first Long-Term Support (LTS) version!</strong> This is a remarkable community effort, with over 140 contributors submitting about 1500 commits for feature enhancements and bug fixes. We would like to thank all of them for their contributions!</p>
<p><img decoding="async" loading="lazy" src="https://pulsar.apache.org/assets/images/annoucing-pulsar-3-0-49cfa343860a724ce7cd41a79b36e6db.jpeg" width="1200" height="630" class="img_ev3q"></p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="introducing-long-term-support-releases">Introducing Long-Term Support releases<a href="https://pulsar.apache.org/blog/2023/05/02/announcing-apache-pulsar-3-0/#introducing-long-term-support-releases" class="hash-link" aria-label="Direct link to Introducing Long-Term Support releases" title="Direct link to Introducing Long-Term Support releases">​</a></h2>
<p>Starting from Pulsar 3.0, the Pulsar community plans to release LTS versions to meet the needs of different users for stability and new features, as well as to reduce the burden of maintaining historical releases.</p>
<p>The previous release process has short maintenance cycles of approximately 3 to 4 months, while many users are still using old versions. To keep up with new updates and features, they may be forced to perform upgrades within a short timeframe, for which they are not prepared in terms of available time and required efforts.</p>
<p>Therefore, the Pulsar community introduces LTS versions with feature releases between them. The project follows a variant of Semantic Versioning, replacing <code>major.minor.patch</code> with <code>LTS.feature.patch</code>. For example:</p>
<ul>
<li>2.11.0 is a feature release;</li>
<li>3.0.0 is the first LTS release;</li>
<li>3.0.1 is a patch release of the LTS release;</li>
<li>3.1.0 is a feature release;</li>
<li>3.2.0 is a feature release;</li>
<li>3.2.1 is a patch release;</li>
<li>4.0.0 is an LTS release.</li>
</ul>
<p>This pattern provides version support for users seeking stability and those seeking new features. Users who want a more stable release can use versions 3.0.x, while those seeking new features can use versions 3.x. This new release model is a major step for the Pulsar community because it:</p>
<ul>
<li>Allows users to choose between different releases based on their needs for stability or new features;</li>
<li>Clarifies the release cycle for both maintainers and users;</li>
<li>Frees maintainers from spending too much time maintaining a long list of old releases.</li>
</ul>
<p>With the new release model, the Pulsar community looks to release LTS versions every 18 months, with bug fixes continuing for 24 months and security vulnerability patches supported for 36 months. See the image below for details.</p>
<p><img decoding="async" loading="lazy" src="https://pulsar.apache.org/assets/images/pulsar-new-release-model-e50bbfe6a0ce07a6f8089bacfdd4a761.png" width="945" height="440" class="img_ev3q"></p>
<p>For more information, see <a href="https://github.com/apache/pulsar/issues/15966" target="_blank" rel="noopener noreferrer">PIP-175</a> and the <a href="https://pulsar.apache.org/contribute/release-policy/" target="_blank" rel="noopener noreferrer">Release policy</a>.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="whats-new-in-apache-pulsar-30">What’s new in Apache Pulsar 3.0?<a href="https://pulsar.apache.org/blog/2023/05/02/announcing-apache-pulsar-3-0/#whats-new-in-apache-pulsar-30" class="hash-link" aria-label="Direct link to What’s new in Apache Pulsar 3.0?" title="Direct link to What’s new in Apache Pulsar 3.0?">​</a></h2>
<p>Apache Pulsar 3.0 is an LTS release with a number of important features, enhancements, and fixes. Here are some of the highlighted ones.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="new-pulsar-broker-load-balancer">New Pulsar broker load balancer<a href="https://pulsar.apache.org/blog/2023/05/02/announcing-apache-pulsar-3-0/#new-pulsar-broker-load-balancer" class="hash-link" aria-label="Direct link to New Pulsar broker load balancer" title="Direct link to New Pulsar broker load balancer">​</a></h3>
<p><a href="https://github.com/apache/pulsar/issues/16691" target="_blank" rel="noopener noreferrer">PIP-192</a> introduces a new load manager implementation, aiming to balance cluster utilization as evenly as possible while minimizing latency and reducing reliance on ZooKeeper.</p>
<p>Issues with the previous load manager include:</p>
<ul>
<li>Load data for all brokers and bundles is replicated to all brokers via ZK watchers. This N-replication poses scalability issues when Pulsar clusters grow to thousands of brokers and millions of topics.</li>
<li>Lookup requires redirection to the leader broker.</li>
</ul>
<p>In Pulsar 3.0, the broker and bundle load data have been re-evaluated. The new load manager stores this load data in non-persistent topics, while topic ownership information is saved in system topics and maintained with a state machine for eventual consistency. Clients can now connect to any broker for lookup without redirection.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="large-scale-delayed-message-support">Large-scale delayed message support<a href="https://pulsar.apache.org/blog/2023/05/02/announcing-apache-pulsar-3-0/#large-scale-delayed-message-support" class="hash-link" aria-label="Direct link to Large-scale delayed message support" title="Direct link to Large-scale delayed message support">​</a></h3>
<p>Scheduled and delayed message delivery is a common feature in messaging systems. <a href="https://github.com/apache/pulsar/issues/16763" target="_blank" rel="noopener noreferrer">PIP-195</a> aims to address limitations in this feature, which has been supported since version 2.4.0. The issues with the current implementation include:</p>
<ul>
<li>Memory constraints: The delayed message index is typically maintained in memory, leading to high memory overhead when there are many delayed messages. Although it is possible to utilize multiple brokers’ memory by creating multiple partitions for a topic and distributing them across multiple brokers, the overall memory consumption remains unchanged.</li>
<li>Expensive index rebuilding: In the case of a large number of delayed messages (e.g. hundreds of millions), when migrating a topic to a different broker or recovering from broker downtime, rebuilding the index requires replaying logs. This process consumes significant resources and affects both the client and catch-up reads.</li>
</ul>
<p>The objectives of the new delayed message mechanism introduced in Pulsar 3.0 are:</p>
<ul>
<li>Supporting delayed message index snapshots to minimize the costs of rebuilding the index;</li>
<li>Reducing memory usage for maintaining the delayed message index.</li>
</ul>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="build-multi-arch-docker-images">Build multi-arch docker images<a href="https://pulsar.apache.org/blog/2023/05/02/announcing-apache-pulsar-3-0/#build-multi-arch-docker-images" class="hash-link" aria-label="Direct link to Build multi-arch docker images" title="Direct link to Build multi-arch docker images">​</a></h3>
<p>With 3.0, Pulsar will start publishing Docker images with versions both for Intel x86-64 and Arm64 architectures.&nbsp;</p>
<p>Users trying to use Pulsar standalone, or running TestContainer tests on a Mac M1/M2 laptop will now see much improved performance and avoid all the issues with the Docker container engine when it emulates x86-64 CPU withing an Arm64 host.</p>
<p>At the same time, this image will make it possible to run Pulsar in a Docker/Kubernetes production environment on Arm64 machines.</p>
<p>From a user perspective, no change is required: when pulling the image, Docker will select the appropriate version based on the host architecture.</p>
<p>For more information, see <a href="https://github.com/apache/pulsar/pull/19432" target="_blank" rel="noopener noreferrer">PR-19432</a>.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="bookkeeper-direct-io-logic-optimization">BookKeeper direct IO logic optimization<a href="https://pulsar.apache.org/blog/2023/05/02/announcing-apache-pulsar-3-0/#bookkeeper-direct-io-logic-optimization" class="hash-link" aria-label="Direct link to BookKeeper direct IO logic optimization" title="Direct link to BookKeeper direct IO logic optimization">​</a></h3>
<p>The current ledger read/write logic in BookKeeper involves multiple buffering and caching layers, which cause limitations in read and write throughput due to memory consumption, inefficient cache utilization, and eviction problems.</p>
<p>More specifically, when writing an entry, data is buffered in both the memory table and the OS PageCache (after the memory table is full). When reading an entry, data may be fetched from the memory table, read cache, or read from the entry log file based on cache hits, potentially causing memory waste and reduced cache hit rate. Since the OS PageCache is shared by all read and write files, and the OS will prefetch a fixed amount of data when reading files, it is easy to cause OS PageCache pollution and affect the read and write performance.</p>
<p><a href="https://github.com/apache/bookkeeper/issues/2943#issuecomment-1086446251" target="_blank" rel="noopener noreferrer">BP-47</a> introduces optional support to bypass the OS PageCache using the O_DIRECT flag for <a href="https://man7.org/linux/man-pages/man2/open.2.html" target="_blank" rel="noopener noreferrer">open(2)</a> and <a href="https://man7.org/linux/man-pages/man2/fallocate.2.html" target="_blank" rel="noopener noreferrer">fallocate(2)</a> syscalls on supported systems (Linux and macOS). The new implementation uses JNI for direct I/O and incorporates write buffer pools and read buffer management. It helps reduce memory consumption and achieve better control over cache utilization. It modifies the existing ledger read/write logic while maintaining the original organization of the entry log file.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="transaction-buffer-segmented-snapshot-optimization">Transaction Buffer segmented snapshot optimization<a href="https://pulsar.apache.org/blog/2023/05/02/announcing-apache-pulsar-3-0/#transaction-buffer-segmented-snapshot-optimization" class="hash-link" aria-label="Direct link to Transaction Buffer segmented snapshot optimization" title="Direct link to Transaction Buffer segmented snapshot optimization">​</a></h3>
<p>The current Transaction Buffer in Pulsar involves handling messages sent with transactions and taking periodic snapshots to avoid replaying all messages from the original topic. However, when a topic has long-term data retention and many aborted transactions, a snapshot may become a bottleneck, causing increased costs as the snapshot size grows.</p>
<p><a href="https://github.com/apache/pulsar/issues/16913" target="_blank" rel="noopener noreferrer">PIP-196</a> introduces a segmented transaction buffer snapshot, which allows splitting the snapshot into multiple parts, each with a fixed number of aborted transactions and a maxReadPosition identity. This approach aims to support a large number of aborted transactions, improve transaction buffer recovery speed, and address the write amplification issue in system topic snapshots.</p>
<p>In Pulsar 3.0, the new design incorporates multiple snapshot segments through a secondary index, with index and snapshot segments stored in different compact topics. The snapshot segment is an immutable segment that can be configured in size. A new system topic is used to store snapshot segments, while a separate index topic stores the snapshot segment indexes, allowing for more efficient recovery and reduced memory overhead.</p>
<p>The proposal modifies the existing transaction buffer logic while maintaining the original organization of the transaction buffer, with the goal of improving overall performance and resource utilization.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="blue-green-cluster-deployment-support">Blue-green cluster deployment support<a href="https://pulsar.apache.org/blog/2023/05/02/announcing-apache-pulsar-3-0/#blue-green-cluster-deployment-support" class="hash-link" aria-label="Direct link to Blue-green cluster deployment support" title="Direct link to Blue-green cluster deployment support">​</a></h3>
<p>Blue-green deployment is a widely-used solution for migrating live traffic from one cluster to another. In this model, traffic is gradually transferred from the blue cluster to the green cluster, allowing for smooth upgrades and the possibility of rollbacks if necessary.</p>
<p><a href="https://github.com/apache/pulsar/issues/16551" target="_blank" rel="noopener noreferrer">PIP-188</a> implements blue-green deployment in Pulsar by introducing changes to the broker, client, and managedLedger. The broker will support an admin API that allows marking a cluster for migration and specifying redirection URLs. The migration state and redirection URLs are persisted in the cluster metadata. The broker asynchronously marks each topic owned by that broker as migrated and notifies all the producers and consumers (which have drained the backlog for their subscriptions) with a new client-protocol command called “Migrated-Topic”, which has redirection URLs to the green cluster. Producers and consumers for those topics cache the redirection URLs and retry to connect to the broker with that URL which redirects them to the green cluster.</p>
<p>With such capability introduced in Pulsar 3.0, users can achieve seamless traffic migration between clusters without causing downtime for topics.</p>
<p>For more information about the Pulsar 3.0 release, see the <a href="https://pulsar.apache.org/release-notes/versioned/pulsar-3.0.0/" target="_blank" rel="noopener noreferrer">release notes</a>.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="compatibility-between-releases">Compatibility between releases<a href="https://pulsar.apache.org/blog/2023/05/02/announcing-apache-pulsar-3-0/#compatibility-between-releases" class="hash-link" aria-label="Direct link to Compatibility between releases" title="Direct link to Compatibility between releases">​</a></h2>
<p>When upgrading an existing Pulsar version, it is important to upgrade components linearly.</p>
<p>Before Pulsar 3.0, upgrades should be performed linearly through each feature version. For example, when upgrading from 2.8 to 2.10, it is important to upgrade to 2.9 before going to 2.10.</p>
<p>Starting from 3.0, users can perform live upgrades or downgrades between two consecutive LTS versions. For example:</p>
<ul>
<li>✅ 3.0 -&gt; 4.0 -&gt; 3.0;</li>
<li>✅ 3.2 -&gt; 4.0 -&gt; 3.2;</li>
<li>✅ 3.2 -&gt; 4.4 -&gt; 3.2;</li>
<li>❌ 3.2 -&gt; 5.0.</li>
</ul>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="getting-started">Getting started<a href="https://pulsar.apache.org/blog/2023/05/02/announcing-apache-pulsar-3-0/#getting-started" class="hash-link" aria-label="Direct link to Getting started" title="Direct link to Getting started">​</a></h2>
<p>Pulsar 3.0.0 is now available for download on GitHub. To get started with Pulsar, you can run a Pulsar cluster <a href="https://pulsar.apache.org/docs/3.0.x/getting-started-home/" target="_blank" rel="noopener noreferrer">on your local machine, Docker, or Kubernetes</a>.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="looking-forward">Looking forward<a href="https://pulsar.apache.org/blog/2023/05/02/announcing-apache-pulsar-3-0/#looking-forward" class="hash-link" aria-label="Direct link to Looking forward" title="Direct link to Looking forward">​</a></h2>
<p>With Pulsar 3.0 LTS model, it will be easier for users to choose to stay on LTS stable releases or newer releases with the latest feature and improvements, all with the guarantee of longer support and a path to a live upgrade to the next LTS version.</p>
<p>At the same time, several features introduced in 3.0 sets the stage for further improvements. One such example is the new load balancer (PIP-192): while immediately useful and a marked improvement as it is, it also paves the way for many more optimizations in how topics are transferred from one broker to another, with the goal of minimizing the latency impact of such operations.</p>
<p>Another exciting area of development is the proposal to rehaul the metric collection and aggregation system described in <a href="https://github.com/apache/pulsar/issues/20197" target="_blank" rel="noopener noreferrer">PIP-264</a>.</p>
<p>Finally, Pulsar 3.0 is benefitting from the performance improvements introduced in Apache BookKeeper 4.16. We see a lot of potential to further improve BookKeeper performance for an even faster Pulsar!</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="getting-involved">Getting involved<a href="https://pulsar.apache.org/blog/2023/05/02/announcing-apache-pulsar-3-0/#getting-involved" class="hash-link" aria-label="Direct link to Getting involved" title="Direct link to Getting involved">​</a></h2>
<p>Apache Pulsar is one of the fastest-growing open-source projects, recognized by the <a href="https://thestack.technology/top-apache-projects-in-2021-from-superset-to-nuttx/" target="_blank" rel="noopener noreferrer">Apache Software Foundation</a> as a Top 5 Project based on engagement. The vitality of Pulsar relies on continued community growth, which would not be possible without each and every contributor to the project. The Pulsar community welcomes contributions from anyone with a passion for open source, messaging and streaming, as well as distributed systems! Looking for more ways to stay connected with the Pulsar community? Check out the following resources:</p>
<ul>
<li>Pulsar Virtual Summit Europe 2023 will take place on Tuesday, May 23rd, 2023! <a href="https://events.zoom.us/ev/Ap6rsDg9LeVfmdajJ_eB13HH026J1d_o8OoTKkQnl_jzVl-srhwB~AggLXsr32QYFjq8BlYLZ5I06Dg" target="_blank" rel="noopener noreferrer">Register now for free</a> and follow @PulsarSummit on Twitter for updates and details of this much-anticipated one-day event.</li>
<li>Read the <a href="https://pulsar.apache.org/contribute/" target="_blank" rel="noopener noreferrer">Apache Pulsar Contribution Guide</a> to start your first contribution.</li>
<li>Visit the <a href="https://github.com/apache/pulsar" target="_blank" rel="noopener noreferrer">Pulsar GitHub repository</a>, follow the project on Twitter <a href="https://twitter.com/apache_pulsar" target="_blank" rel="noopener noreferrer">@apache_pulsar</a>, and join the <a href="https://apache-pulsar.slack.com/" target="_blank" rel="noopener noreferrer">Pulsar community on Slack</a>.</li>
</ul>]]></content>
        <author>
            <name>Apache Pulsar Community</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[What’s New in Apache Pulsar 2.10.4]]></title>
        <id>https://pulsar.apache.org/blog/2023/04/19/Apache-Pulsar-2-10-4/</id>
        <link href="https://pulsar.apache.org/blog/2023/04/19/Apache-Pulsar-2-10-4/"/>
        <updated>2023-04-19T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[The Apache Pulsar community releases version 2.10.4! 37 contributors provided improvements and bug fixes that delivered 12 commits. Thanks for all your contributions.]]></summary>
        <content type="html"><![CDATA[<p>The Apache Pulsar community releases version 2.10.4! 37 contributors provided improvements and bug fixes that delivered 12 commits. Thanks for all your contributions.</p>
<p>This blog walks through the most noteworthy changes. For the complete list, including all feature enhancements and bug fixes, check out the <a href="https://pulsar.apache.org/release-notes/versioned/pulsar-2.10.4/" target="_blank" rel="noopener noreferrer">Pulsar 2.10.4 Release Notes</a>.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="improve-performance-in-key_shared-subscriptions-pr-19167">Improve performance in Key_Shared subscriptions (<a href="https://github.com/apache/pulsar/pull/19167" target="_blank" rel="noopener noreferrer">PR-19167</a>)<a href="https://pulsar.apache.org/blog/2023/04/19/Apache-Pulsar-2-10-4/#improve-performance-in-key_shared-subscriptions-pr-19167" class="hash-link" aria-label="Direct link to improve-performance-in-key_shared-subscriptions-pr-19167" title="Direct link to improve-performance-in-key_shared-subscriptions-pr-19167">​</a></h3>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="issue">Issue<a href="https://pulsar.apache.org/blog/2023/04/19/Apache-Pulsar-2-10-4/#issue" class="hash-link" aria-label="Direct link to Issue" title="Direct link to Issue">​</a></h4>
<p>In earlier versions, Key_Shared subscriptions suffered from performance issues due to the lack of a ref count for sticky hash.</p>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="resolution">Resolution<a href="https://pulsar.apache.org/blog/2023/04/19/Apache-Pulsar-2-10-4/#resolution" class="hash-link" aria-label="Direct link to Resolution" title="Direct link to Resolution">​</a></h4>
<p>A significant performance improvement has been made to the Key_Shared subscriptions by adding a ref count for sticky hash. This optimization reduces the time required to check if messages contain the hash from a given sticky hash set, resulting in improved performance and efficiency.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="abstractbatchedmetadatastore---use-alreadyclosedexception-instead-of-illegalstateexception-pr-19284">AbstractBatchedMetadataStore - Use AlreadyClosedException instead of IllegalStateException (<a href="https://github.com/apache/pulsar/pull/19284" target="_blank" rel="noopener noreferrer">PR-19284</a>)<a href="https://pulsar.apache.org/blog/2023/04/19/Apache-Pulsar-2-10-4/#abstractbatchedmetadatastore---use-alreadyclosedexception-instead-of-illegalstateexception-pr-19284" class="hash-link" aria-label="Direct link to abstractbatchedmetadatastore---use-alreadyclosedexception-instead-of-illegalstateexception-pr-19284" title="Direct link to abstractbatchedmetadatastore---use-alreadyclosedexception-instead-of-illegalstateexception-pr-19284">​</a></h3>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="issue-1">Issue<a href="https://pulsar.apache.org/blog/2023/04/19/Apache-Pulsar-2-10-4/#issue-1" class="hash-link" aria-label="Direct link to Issue" title="Direct link to Issue">​</a></h4>
<p>In earlier versions, when the broker was shutting down, the <code>AbstractBatchedMetadataStore</code> would complete pending operations with a generic <code>IllegalStateException</code>. However, code dependent on the <code>MetadataStore</code> usually expected instances of <code>MetadataStoreException</code> and might not react properly to this error.</p>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="resolution-1">Resolution<a href="https://pulsar.apache.org/blog/2023/04/19/Apache-Pulsar-2-10-4/#resolution-1" class="hash-link" aria-label="Direct link to Resolution" title="Direct link to Resolution">​</a></h4>
<p>This PR improves the error handling during broker shutdown by completing pending operations with an <code>AlreadyClosedException</code> instead of <code>IllegalStateException</code>. This ensures that the dependent code responds more appropriately to the error, even if the broker is shutting down.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fix-open-cursor-with-null-initialposition-resulting-in-the-earliest-position-pr-18416">Fix open cursor with null-initialPosition, resulting in the earliest position (<a href="https://github.com/apache/pulsar/pull/18416" target="_blank" rel="noopener noreferrer">PR-18416</a>)<a href="https://pulsar.apache.org/blog/2023/04/19/Apache-Pulsar-2-10-4/#fix-open-cursor-with-null-initialposition-resulting-in-the-earliest-position-pr-18416" class="hash-link" aria-label="Direct link to fix-open-cursor-with-null-initialposition-resulting-in-the-earliest-position-pr-18416" title="Direct link to fix-open-cursor-with-null-initialposition-resulting-in-the-earliest-position-pr-18416">​</a></h3>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="issue-2">Issue<a href="https://pulsar.apache.org/blog/2023/04/19/Apache-Pulsar-2-10-4/#issue-2" class="hash-link" aria-label="Direct link to Issue" title="Direct link to Issue">​</a></h4>
<p>In earlier versions, called <code>ledger.openCursor("xxx", null)</code> with a null <code>initialPosition</code> parameter would result in the cursor being set to the earliest position, causing unexpected behavior. The root cause of this issue was due to incorrect handling of the <code>initialPosition</code> in <code>ManagedLedgerImpl.java</code>.</p>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="resolution-2">Resolution<a href="https://pulsar.apache.org/blog/2023/04/19/Apache-Pulsar-2-10-4/#resolution-2" class="hash-link" aria-label="Direct link to Resolution" title="Direct link to Resolution">​</a></h4>
<p>This PR fixes the issue by ensuring that the correct initial position is used when opening a cursor with a null <code>initialPosition</code>. The code now sets the cursor to the latest position, as expected.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="add-isactive-in-managedcursorimpl-pr-19341">Add isActive in ManagedCursorImpl (<a href="https://github.com/apache/pulsar/pull/19341" target="_blank" rel="noopener noreferrer">PR-19341</a>)<a href="https://pulsar.apache.org/blog/2023/04/19/Apache-Pulsar-2-10-4/#add-isactive-in-managedcursorimpl-pr-19341" class="hash-link" aria-label="Direct link to add-isactive-in-managedcursorimpl-pr-19341" title="Direct link to add-isactive-in-managedcursorimpl-pr-19341">​</a></h3>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="issue-3">Issue<a href="https://pulsar.apache.org/blog/2023/04/19/Apache-Pulsar-2-10-4/#issue-3" class="hash-link" aria-label="Direct link to Issue" title="Direct link to Issue">​</a></h4>
<p>In previous versions, when there were many concurrent subscriptions in a topic, broker performance would degrade due to many io-threads waiting for the lock, synchronized (activeCursors) while calling checkBackloggedCursors.</p>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="resolution-3">Resolution<a href="https://pulsar.apache.org/blog/2023/04/19/Apache-Pulsar-2-10-4/#resolution-3" class="hash-link" aria-label="Direct link to Resolution" title="Direct link to Resolution">​</a></h4>
<p>This PR adds an <code>isActive</code> variable in <code>ManagedCursorImpl</code> to minimize the access to <code>activeCursors</code> in <code>ManagedLedgerImpl,</code> which reduces the contention on the lock and improves the broker performance with many concurrent subscriptions.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="support-deleting-partitioned-topics-with-the-keyword--partition--pr-19230">Support deleting partitioned topics with the keyword -partition- (<a href="https://github.com/apache/pulsar/pull/19230" target="_blank" rel="noopener noreferrer">PR-19230</a>)<a href="https://pulsar.apache.org/blog/2023/04/19/Apache-Pulsar-2-10-4/#support-deleting-partitioned-topics-with-the-keyword--partition--pr-19230" class="hash-link" aria-label="Direct link to support-deleting-partitioned-topics-with-the-keyword--partition--pr-19230" title="Direct link to support-deleting-partitioned-topics-with-the-keyword--partition--pr-19230">​</a></h3>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="issue-4">Issue<a href="https://pulsar.apache.org/blog/2023/04/19/Apache-Pulsar-2-10-4/#issue-4" class="hash-link" aria-label="Direct link to Issue" title="Direct link to Issue">​</a></h4>
<p>In earlier versions, although users could create partitioned topics using the client when partitioned type auto-creation was enabled, there was no support for deleting these partitioned topics.</p>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="resolution-4">Resolution<a href="https://pulsar.apache.org/blog/2023/04/19/Apache-Pulsar-2-10-4/#resolution-4" class="hash-link" aria-label="Direct link to Resolution" title="Direct link to Resolution">​</a></h4>
<p>This PR adds support for deleting partitioned topics using the keyword <code>-partition-</code>, making it easier for users to manage their partitioned topics.</p>
<h1>What’s Next?</h1>
<p>If you are interested in learning more about Pulsar 2.10.4, you can <a href="https://pulsar.apache.org/download/" target="_blank" rel="noopener noreferrer">download</a> and try it out now!</p>
<p>For more information about the Apache Pulsar project and current progress, visit
the <a href="https://pulsar.apache.org/" target="_blank" rel="noopener noreferrer">Pulsar website</a>, follow the project on Twitter
<a href="https://twitter.com/apache_pulsar" target="_blank" rel="noopener noreferrer">@apache_pulsar</a>, and join <a href="https://apache-pulsar.slack.com/" target="_blank" rel="noopener noreferrer">Pulsar Slack</a>!</p>]]></content>
        <author>
            <name>liangyepianzhou, Anonymitaet, momo-jun</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Speakers and Agenda Announced for Pulsar Virtual Summit Europe 2023!]]></title>
        <id>https://pulsar.apache.org/blog/2023/04/11/pulsar-summit-europe-2023-schedule-announced/</id>
        <link href="https://pulsar.apache.org/blog/2023/04/11/pulsar-summit-europe-2023-schedule-announced/"/>
        <updated>2023-04-11T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[We’re excited to invite you to Pulsar Virtual Summit Europe 2023! Join the Apache Pulsar community online on Tuesday, May 23rd for this exciting one-day event. Don’t miss 5 keynotes and 14 breakout sessions, and the opportunity to network with fellow attendees in this free online event. Not in the timezone? No problem! Register today to ensure you get the recorded sessions a week before general public release.]]></summary>
        <content type="html"><![CDATA[<p><img decoding="async" loading="lazy" src="https://pulsar.apache.org/assets/images/pulsar-virtual-summit-europe-2023-8e71741b8550cae0603b28cb29e92292.png" width="1200" height="630" class="img_ev3q"></p>
<p>We’re excited to invite you to Pulsar Virtual Summit Europe 2023! Join the Apache Pulsar community online on Tuesday, May 23rd for this exciting one-day event. Don’t miss 5 keynotes and 14 breakout sessions, and the opportunity to network with fellow attendees in this free online event. Not in the timezone? No problem! Register today to ensure you get the recorded sessions a week before general public release.</p>
<p>Global Pulsar Summits gather developers, architects, and data engineers to discuss the latest in real-time data streaming and message queuing. Past Pulsar Summits have featured more than 200 interactive sessions presented by tech leaders from WeChat, Blizzard, Intuit, Micro Focus, Salesforce, Splunk, Verizon Media, Tencent, Uber, and more. The Summits garnered 2,200+ global attendees representing top technology, fintech, and media companies, such as Google, Amazon, eBay, Microsoft, American Express, LEGO, Athena Health, Paypal, just to name a few.</p>
<p>Don't miss this one-day event! <a href="https://events.zoom.us/ev/Ap6rsDg9LeVfmdajJ_eB13HH026J1d_o8OoTKkQnl_jzVl-srhwB~AggLXsr32QYFjq8BlYLZ5I06Dg" target="_blank" rel="noopener noreferrer">Register now for free</a>!</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="featured-sessions">Featured sessions<a href="https://pulsar.apache.org/blog/2023/04/11/pulsar-summit-europe-2023-schedule-announced/#featured-sessions" class="hash-link" aria-label="Direct link to Featured sessions" title="Direct link to Featured sessions">​</a></h2>
<p>This year, Pulsar Virtual Summit Europe will include tech deep dives, use cases, best practices, and insights into Pulsar’s global adoption and thriving community. Take a sneak peek below at a few of the featured sessions.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="challenges-of-hosting-a-pulsar-as-a-service-platform-under-a-shared-responsibility-model">Challenges of Hosting a Pulsar-as-a-Service Platform Under a Shared Responsibility Model<a href="https://pulsar.apache.org/blog/2023/04/11/pulsar-summit-europe-2023-schedule-announced/#challenges-of-hosting-a-pulsar-as-a-service-platform-under-a-shared-responsibility-model" class="hash-link" aria-label="Direct link to Challenges of Hosting a Pulsar-as-a-Service Platform Under a Shared Responsibility Model" title="Direct link to Challenges of Hosting a Pulsar-as-a-Service Platform Under a Shared Responsibility Model">​</a></h3>
<p>Edgaras Petovradzius, Senior Engineer, the LEGO Group</p>
<p>Mathias Ravn Tversted, Engineer, the LEGO Group</p>
<p>This talk will explore the challenges the LEGO Group encountered in hosting and managing Pulsar-as-a-Service across multiple domains, and how they collaborated with StreamNative in the process. It will highlight how the organization used OAuth2 for authentication and its self-service management platform for access control of Pulsar resources. The speakers will also discuss their observability tooling, incorporating cloud-native tools like Prometheus and OTel collectors, as well as internal tools for metrics and an ELK stack. Finally, the presentation will share best practices for using Pulsar clients in various programming languages and explore alternative methods of producing and consuming messages.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="pulsar-observability-in-high-topic-cardinality-deployments-for-telco">Pulsar Observability in High-Topic Cardinality Deployments for Telco<a href="https://pulsar.apache.org/blog/2023/04/11/pulsar-summit-europe-2023-schedule-announced/#pulsar-observability-in-high-topic-cardinality-deployments-for-telco" class="hash-link" aria-label="Direct link to Pulsar Observability in High-Topic Cardinality Deployments for Telco" title="Direct link to Pulsar Observability in High-Topic Cardinality Deployments for Telco">​</a></h3>
<p>Habip Kenan Üsküdar, DevGitOps Engineer, Axon Networks</p>
<p>Don't miss speaker Habip Kenan Üsküda from Axon Networks, as he shares the experience of building an observability stack using Grafana and Prometheus for their cloud-native platform based on Apache Pulsar. As the number of topic pairings scaled beyond 50,000, with the goal of exceeding 1 million, the team encountered major challenges in scaling their monitoring stack. The presentation will cover their innovative approach to partitioning labels and tenancy management, as well as their efforts to extend Grafana Agent Operators’ Helm Charts to overcome these bottlenecks.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="building-a-full-lifecycle-streaming-data-pipeline">Building a Full Lifecycle Streaming Data Pipeline<a href="https://pulsar.apache.org/blog/2023/04/11/pulsar-summit-europe-2023-schedule-announced/#building-a-full-lifecycle-streaming-data-pipeline" class="hash-link" aria-label="Direct link to Building a Full Lifecycle Streaming Data Pipeline" title="Direct link to Building a Full Lifecycle Streaming Data Pipeline">​</a></h3>
<p>Timothy Spann, Principal Developer Advocate for Data in Motion, Cloudera</p>
<p>David Kjerrumgaard, Systems Engineer, Developer Advocate and Author of "Pulsar in Action", StreamNative</p>
<p>Julien Jakubowski, Developer Advocate, StreamNative</p>
<p>Join Tim, David, and Julien as they delve into the process of building a full lifecycle streaming data pipeline using Apache Pulsar, Spring, Java, Apache Pinot, Trino, and Apache Iceberg. This session will provide an overview of each tool’s key features and capabilities, demonstrating their integration for a robust and efficient real-time streaming data pipeline. The talk will also cover best practices for using these tools together, as well as case studies and real-world examples of successful pipeline implementations.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="the-future-of-metrics-in-pulsar">The Future of Metrics in Pulsar<a href="https://pulsar.apache.org/blog/2023/04/11/pulsar-summit-europe-2023-schedule-announced/#the-future-of-metrics-in-pulsar" class="hash-link" aria-label="Direct link to The Future of Metrics in Pulsar" title="Direct link to The Future of Metrics in Pulsar">​</a></h3>
<p>‍Asaf Mesika, Principal Engineer, StreamNative</p>
<p>In this session, Asaf Mesika will discuss the challenges of using observability metrics in Pulsar from both user and committer perspectives. He will highlight issues such as high topic count limitations, improper histogram use in Grafana, and implementation difficulties. The talk will also present a proposal to address these problems by adopting the OpenTelemetry Java SDK, offering insights for leveraging metrics in Pulsar.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="pulsar-in-finance---a-tale-of-a-migration">Pulsar in Finance - A Tale of a Migration<a href="https://pulsar.apache.org/blog/2023/04/11/pulsar-summit-europe-2023-schedule-announced/#pulsar-in-finance---a-tale-of-a-migration" class="hash-link" aria-label="Direct link to Pulsar in Finance - A Tale of a Migration" title="Direct link to Pulsar in Finance - A Tale of a Migration">​</a></h3>
<p>George Orban, Tech Lead, Senior Architect, Quant Developer, Daiwa Capital Markets</p>
<p>In this talk, George Orban will share the experience of migrating a pricing engine and trading system from TIBCO Rendezvous and other messaging solutions to Apache Pulsar. He will discuss the reasons for choosing Pulsar, its suitability for enterprise applications and finance, and how it improved their stack’s resilience, robustness, and speed. The presentation will also cover new functionalities gained through Pulsar’s richer semantics, lessons learned, tools developed and open-sourced during the migration, and the future of Pulsar at Daiwa.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="oxia-scaling-pulsars-metadata-to-100x">Oxia: Scaling Pulsar’s Metadata to 100x<a href="https://pulsar.apache.org/blog/2023/04/11/pulsar-summit-europe-2023-schedule-announced/#oxia-scaling-pulsars-metadata-to-100x" class="hash-link" aria-label="Direct link to Oxia: Scaling Pulsar’s Metadata to 100x" title="Direct link to Oxia: Scaling Pulsar’s Metadata to 100x">​</a></h3>
<p>Matteo Merli, Apache Pulsar PMC Chair, CTO, StreamNative</p>
<p>Join Apache Pulsar PMC Chair and StreamNative CTO, Matteo Merli, for the much-anticipated introduction of Oxia, a metadata store and coordination system designed to overcome the limitations of ZooKeeper in scaling Pulsar clusters. Learn first-hand the design goals, architecture, and development journey of Oxia. Matteo will also explain how Oxia’s design leverages modern cloud-native environments to provide a highly flexible and dynamic operational environment. Watch this keynote to learn more about scaling Pulsar’s metadata with Oxia and how it can improve the performance and scalability of Pulsar clusters.</p>
<p>Check out the full agenda and details at <a href="https://pulsar-summit.org/" target="_blank" rel="noopener noreferrer">pulsar-summit.org</a>.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="how-to-participate">How to participate<a href="https://pulsar.apache.org/blog/2023/04/11/pulsar-summit-europe-2023-schedule-announced/#how-to-participate" class="hash-link" aria-label="Direct link to How to participate" title="Direct link to How to participate">​</a></h2>
<p><a href="https://events.zoom.us/ev/Ap6rsDg9LeVfmdajJ_eB13HH026J1d_o8OoTKkQnl_jzVl-srhwB~AggLXsr32QYFjq8BlYLZ5I06Dg" target="_blank" rel="noopener noreferrer">Register now for free</a>! Contact us at <a href="mailto:organizers@pulsar-summit.org" target="_blank" rel="noopener noreferrer">organizers@pulsar-summit.org</a> if you have any questions.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="about-the-organizer">About the organizer<a href="https://pulsar.apache.org/blog/2023/04/11/pulsar-summit-europe-2023-schedule-announced/#about-the-organizer" class="hash-link" aria-label="Direct link to About the organizer" title="Direct link to About the organizer">​</a></h2>
<p>StreamNative is the organizer of Pulsar Virtual Summit Europe 2023. Founded by the original developers of Apache Pulsar and Apache BookKeeper, StreamNative builds a cloud-native event streaming platform that enables enterprises to easily access data as real-time event streams. As the core developers of Pulsar, the StreamNative team is deeply versed in the technology, the community, and the use cases. Today, StreamNative is focusing on growing the Apache Pulsar and BookKeeper communities and bringing its deep experience across diverse Pulsar use cases to companies across the globe.</p>]]></content>
        <author>
            <name>Sherlock Xu, Karin Landers</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Apache Pulsar Hits Its 600th Contributor]]></title>
        <id>https://pulsar.apache.org/blog/2023/02/03/apache-pulsar-hits-its-600th-contributor/</id>
        <link href="https://pulsar.apache.org/blog/2023/02/03/apache-pulsar-hits-its-600th-contributor/"/>
        <updated>2023-02-03T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[The Apache Pulsar community embraced a significant milestone last month as the project witnessed its 600th contributor to the Pulsar main GitHub repository. We would like to thank everyone in the Pulsar community who contributed to this remarkable achievement.]]></summary>
        <content type="html"><![CDATA[<p><img decoding="async" loading="lazy" src="https://pulsar.apache.org/assets/images/apache-pulsar-hits-its-600th-contributor-cd681b4f09f94029bd8ac2360b4b7302.png" width="1200" height="628" class="img_ev3q"></p>
<p>The Apache Pulsar community embraced a significant milestone last month as the project witnessed its 600th contributor to the <a href="https://github.com/apache/pulsar" target="_blank" rel="noopener noreferrer">Pulsar main GitHub repository</a>. We would like to thank everyone in the Pulsar community who contributed to this remarkable achievement.</p>
<p>Since Pulsar’s graduation as a Top-Level Project (TLP) in September 2018, it has been driven by an active global community, with <strong>160+</strong> releases, <strong>11K+</strong> commits from <strong>600</strong> contributors, <strong>12.2K+</strong> stars, <strong>3.2K+</strong> forks, and <strong>9600+</strong> Slack users.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="strong-community-growth">Strong community growth<a href="https://pulsar.apache.org/blog/2023/02/03/apache-pulsar-hits-its-600th-contributor/#strong-community-growth" class="hash-link" aria-label="Direct link to Strong community growth" title="Direct link to Strong community growth">​</a></h2>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="600-contributors">600 contributors<a href="https://pulsar.apache.org/blog/2023/02/03/apache-pulsar-hits-its-600th-contributor/#600-contributors" class="hash-link" aria-label="Direct link to 600 contributors" title="Direct link to 600 contributors">​</a></h3>
<p>The number of contributors is an important metric to measure the health of an open-source project. In the last year alone, we added almost 130 contributors to the project, a 28% increase from the previous year. The image below shows the number of Pulsar contributors over the past 6 years.</p>
<p><img decoding="async" loading="lazy" src="https://pulsar.apache.org/assets/images/pulsar-total-contributors-202301-692173316eb587e43f81f15d899537e2.jpg" width="843" height="550" class="img_ev3q"></p>
<center>Figure 1. Pulsar GitHub contributors</center>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="monthly-active-contributors-of-pulsar-and-kafka">Monthly active contributors of Pulsar and Kafka<a href="https://pulsar.apache.org/blog/2023/02/03/apache-pulsar-hits-its-600th-contributor/#monthly-active-contributors-of-pulsar-and-kafka" class="hash-link" aria-label="Direct link to Monthly active contributors of Pulsar and Kafka" title="Direct link to Monthly active contributors of Pulsar and Kafka">​</a></h3>
<p>Both Pulsar and Kafka are popular streaming systems with contributors across the globe and are adopted by organizations spanning different industries. Although Kafka outnumbers Pulsar in the total number of contributors, the latter surpassed the former in terms of monthly active contributors about 2 years ago and has maintained a strong momentum since then.</p>
<p><img decoding="async" loading="lazy" src="https://pulsar.apache.org/assets/images/pulsar-kafka-monthly-active-contributors-202301-fe7b860e79be8cb410b013d3cd684681.jpg" width="896" height="550" class="img_ev3q"></p>
<center>Figure 2. Pulsar vs. Kafka - Monthly active contributors</center>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="12k-github-stars">12K+ GitHub stars<a href="https://pulsar.apache.org/blog/2023/02/03/apache-pulsar-hits-its-600th-contributor/#12k-github-stars" class="hash-link" aria-label="Direct link to 12K+ GitHub stars" title="Direct link to 12K+ GitHub stars">​</a></h3>
<p>GitHub stars are another key metric for open-source projects. Figure 3 displays the star history of Pulsar since its inception.</p>
<p><img decoding="async" loading="lazy" src="https://pulsar.apache.org/assets/images/pulsar-github-star-history-202301-26fdc3b40609828e23a47f964beadec4.png" width="1576" height="1121" class="img_ev3q"></p>
<center>Figure 3. Pulsar GitHub stars</center>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="pulsar-adoption">Pulsar adoption<a href="https://pulsar.apache.org/blog/2023/02/03/apache-pulsar-hits-its-600th-contributor/#pulsar-adoption" class="hash-link" aria-label="Direct link to Pulsar adoption" title="Direct link to Pulsar adoption">​</a></h2>
<p>As the project achieves strong growth in contributors, it also sees widespread adoption by companies across industries. Their success stories speak volumes about a more stable and secure project capable of powering different use cases in the messaging and streaming space.</p>
<p>Pulsar has played an essential role in handling mission-critical workloads for both existing and new users. Tencent, one of the earliest companies to adopt Pulsar in production, has been consistently working to <a href="https://streamnative.io/blog/600k-topics-per-cluster-stability-optimization-apache-pulsar-tencent-cloud" target="_blank" rel="noopener noreferrer">improve the project for better stability</a> and <a href="https://streamnative.io/blog/client-optimization-how-tencent-maintains-apache-pulsar-clusters-100-billion-messages-daily" target="_blank" rel="noopener noreferrer">shared their experience of handling 100 billion messages per day</a>. New adopters include Nippon Telegraph and Telephone Corporation (NTT) Software Innovation Center, which <a href="https://streamnative.io/blog/handling-100k-consumers-with-one-pulsar-topic" target="_blank" rel="noopener noreferrer">uses a single Pulsar topic to handle 100K consumers for its IoT use case</a>. Some organizations migrated from systems like Kafka to Pulsar, such as <a href="https://streamnative.io/success-stories/sina-weibo" target="_blank" rel="noopener noreferrer">Sina Weibo</a> and <a href="https://www.mparticle.com/blog/apache-pulsar-migration/" target="_blank" rel="noopener noreferrer">mParticle</a>. They select Pulsar not just for its flexibility, scalability, high availability, and unique architecture. More importantly, Pulsar solves the problems and pain points where other systems fall short.</p>
<p>For more information, see this <a href="https://pulsar.apache.org/powered-by/" target="_blank" rel="noopener noreferrer">list of companies using or contributing to Pulsar</a> and check out <a href="https://pulsar.apache.org/case-studies/" target="_blank" rel="noopener noreferrer">how different organizations are using Pulsar</a>.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="get-involved">Get involved<a href="https://pulsar.apache.org/blog/2023/02/03/apache-pulsar-hits-its-600th-contributor/#get-involved" class="hash-link" aria-label="Direct link to Get involved" title="Direct link to Get involved">​</a></h2>
<p>Backed by a diverse community of contributors, we believe that each and every pull request counts and would like to see more contributors join the journey. To start making your contribution to the project, see the <a href="https://pulsar.apache.org/contribute/" target="_blank" rel="noopener noreferrer">Apache Pulsar Contribution Guide</a>.</p>
<p>To stay up to date with community news and discuss hot topics with other members, you can subscribe to the Pulsar mailing lists for <a href="mailto:users-subscribe@pulsar.apache.org" target="_blank" rel="noopener noreferrer">users</a> and <a href="mailto:dev-subscribe@pulsar.apache.org" target="_blank" rel="noopener noreferrer">developers</a>, follow us on <a href="https://twitter.com/apache_pulsar" target="_blank" rel="noopener noreferrer">Twitter</a>, and join the <a href="https://communityinviter.com/apps/apache-pulsar/apache-pulsar" target="_blank" rel="noopener noreferrer">Pulsar Slack workspace</a>.</p>
<p>The Pulsar community hosts events, meetups, and webinars for Pulsar users of all experience levels. You can check out the <a href="https://pulsar.apache.org/events/" target="_blank" rel="noopener noreferrer">Events</a> page and join different user groups to stay tuned.</p>]]></content>
        <author>
            <name>Sherlock Xu</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Pulsar Virtual Summit Europe 2023: CFP Is Now Open!]]></title>
        <id>https://pulsar.apache.org/blog/2023/02/02/pulsar-virtual-summit-europe-2023-cfp/</id>
        <link href="https://pulsar.apache.org/blog/2023/02/02/pulsar-virtual-summit-europe-2023-cfp/"/>
        <updated>2023-02-02T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[We’re excited to announce that Pulsar Virtual Summit Europe 2023 will take place on Tuesday, May 23rd, 2023! We welcome your participation to help make the event a success, by submitting a talk for the event or offering sponsorship. Learn more about Pulsar Summit and the opportunities available to speak and sponsor the summit below.]]></summary>
        <content type="html"><![CDATA[<p>We’re excited to announce that Pulsar Virtual Summit Europe 2023 will take place on <strong>Tuesday, May 23rd, 2023</strong>! We welcome your participation to help make the event a success, by submitting a talk for the event or offering sponsorship. Learn more about Pulsar Summit and the opportunities available to speak and sponsor the summit below.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="what-is-pulsar-summit">What is Pulsar Summit?<a href="https://pulsar.apache.org/blog/2023/02/02/pulsar-virtual-summit-europe-2023-cfp/#what-is-pulsar-summit" class="hash-link" aria-label="Direct link to What is Pulsar Summit?" title="Direct link to What is Pulsar Summit?">​</a></h2>
<p>Pulsar Summit is the conference dedicated to Apache Pulsar and the messaging and event streaming community. The conference gathers an international audience of developers, data architects, data scientists, Apache Pulsar committers and contributors, and friends within the streaming and messaging ecosystem. Together, they share experiences, exchange ideas and knowledge, and receive hands-on training led by Pulsar experts.</p>
<p>Since 2020, seven global Pulsar Summit Events have featured 170+ interactive sessions by tech leads, open-source developers, software engineers, and software architects from Google, AWS, Splunk, Tencent, Verizon Media, Iterable, Yahoo, Nutanix, BIGO, TIBCO, OVHcloud, Clever Cloud, and more. The conferences have garnered 2,000 attendees representing 700 companies, including individuals from leading organizations such as Google, Microsoft, AMEX, Salesforce, TikTok, Alibaba, Tencent, Disney, and Paypal.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="join-us-and-speak-at-pulsar-virtual-summit-europe-2023">Join us and speak at Pulsar Virtual Summit Europe 2023<a href="https://pulsar.apache.org/blog/2023/02/02/pulsar-virtual-summit-europe-2023-cfp/#join-us-and-speak-at-pulsar-virtual-summit-europe-2023" class="hash-link" aria-label="Direct link to Join us and speak at Pulsar Virtual Summit Europe 2023" title="Direct link to Join us and speak at Pulsar Virtual Summit Europe 2023">​</a></h2>
<p>Share your Pulsar story and speak at the summit! Pulsar Summit offers a unique opportunity to connect with your peers and raise your profile in the rapidly growing Apache Pulsar community.&nbsp;</p>
<p>We’re looking for Pulsar stories that are innovative, informative, or thought-provoking. Here are some suggestions based on previous events:</p>
<ul>
<li>A Pulsar success story or case study</li>
<li>Use cases, operations, tools, techniques, or the Pulsar ecosystem</li>
<li>A deep dive into technologies</li>
<li>Best practices and lessons learned</li>
<li>Anything else related to Pulsar that inspires the audience</li>
</ul>
<p>Interested in speaking at the summit? <a href="https://sessionize.com/pulsar-virtual-summit-europe-2023/" target="_blank" rel="noopener noreferrer">Submit your session abstract here</a>.&nbsp;</p>
<p>All levels of talks (beginner, intermediate, and advanced) are welcome. Remember to keep your proposal short, relevant, and engaging. The following session formats are acceptable:</p>
<ul>
<li>Session Presentation: 30-minute presentation, maximum of 2 speakers, can include demo</li>
<li>Lighting Talk:&nbsp;20-minute presentation, maximum of 2 speakers</li>
</ul>
<p>All accepted submissions will be pre-recorded. Due to time zone and network limitations, we do not recommend speakers present their talk live.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="event-dates-to-remember">Event dates to remember<a href="https://pulsar.apache.org/blog/2023/02/02/pulsar-virtual-summit-europe-2023-cfp/#event-dates-to-remember" class="hash-link" aria-label="Direct link to Event dates to remember" title="Direct link to Event dates to remember">​</a></h3>
<ul>
<li>CFP opens: February 1st, 2023</li>
<li>CFP closes: March 3rd, 2023</li>
<li>CFP notifications: March 24th, 2023</li>
<li>Schedule announcement: March 31st, 2023</li>
<li>Event date: May 23rd, 2023</li>
</ul>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="community-sponsorships-available">Community sponsorships available<a href="https://pulsar.apache.org/blog/2023/02/02/pulsar-virtual-summit-europe-2023-cfp/#community-sponsorships-available" class="hash-link" aria-label="Direct link to Community sponsorships available" title="Direct link to Community sponsorships available">​</a></h2>
<p>We invite you to participate as a Community Sponsor for Pulsar Virtual Summit Europe 2023. Sponsoring this event provides an excellent opportunity for your organization to further engage and connect with the quickly growing Pulsar and streaming communities.</p>
<p>Community Sponsorships for Pulsar Virtual Summit Europe 2023 include your company logo on the <a href="https://pulsar-summit.org/" target="_blank" rel="noopener noreferrer">pulsar-summit.org</a> website and on-screen during the welcome introduction presentation, as well as opportunities for you to help promote the event.&nbsp;</p>
<p>To secure your no-fee Community Sponsorship, please submit your response <a href="https://share.hsforms.com/1q-62tijTRQORni4ngLBe3A3x5r4" target="_blank" rel="noopener noreferrer">here</a>. The full Sponsorship Prospectus will be made available with your inquiry. For more information on becoming a sponsor, please contact the Pulsar Summit event organizers at <a href="mailto:organizers@pulsar-summit.org" target="_blank" rel="noopener noreferrer">organizers@pulsar-summit.org</a>.</p>
<p>Help us make #PulsarSummit Europe 2023 successful by spreading the word and submitting your proposal and sponsorship! Follow us on Twitter (<a href="https://twitter.com/PulsarSummit" target="_blank" rel="noopener noreferrer">@pulsarsummit</a>) to receive the latest updates on the summit.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="about-apache-pulsar">About Apache Pulsar<a href="https://pulsar.apache.org/blog/2023/02/02/pulsar-virtual-summit-europe-2023-cfp/#about-apache-pulsar" class="hash-link" aria-label="Direct link to About Apache Pulsar" title="Direct link to About Apache Pulsar">​</a></h2>
<p>Apache Pulsar is a cloud-native, distributed messaging and streaming platform that empowers companies around the world to manage trillions of events per day. The Pulsar community has witnessed rapid growth since it became a top-level Apache Software Foundation project in 2018. Over the past four years, the vibrant community keeps driving innovation and improvements to the project.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="about-the-organizer">About the organizer<a href="https://pulsar.apache.org/blog/2023/02/02/pulsar-virtual-summit-europe-2023-cfp/#about-the-organizer" class="hash-link" aria-label="Direct link to About the organizer" title="Direct link to About the organizer">​</a></h2>
<p>StreamNative is proud to host Pulsar Virtual Summit Europe 2023. Founded by the original developers of Apache Pulsar and Apache BookKeeper, StreamNative builds a cloud-native event streaming platform that enables enterprises to easily access data as real-time event streams. As the core developers of Pulsar, the StreamNative team is deeply versed in the technology, the community, and the use cases. Today, StreamNative is focusing on growing the Apache Pulsar and BookKeeper communities and bringing its deep experience across diverse Pulsar use cases to companies across the globe.</p>
<p>Want to stay informed of the latest developments regarding Pulsar Virtual Summit Europe 2023? <a href="https://share.hsforms.com/1kAHYVhYzR6mYDzvzsXRnWA3x5r4" target="_blank" rel="noopener noreferrer">Sign up here</a> to be the first to hear about open registration, exciting speaker announcements, and details for all things Pulsar Summit.</p>]]></content>
        <author>
            <name>Karin Landers</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[What’s New in Apache Pulsar 2.11]]></title>
        <id>https://pulsar.apache.org/blog/2023/01/20/Apache-Pulsar-2-11-0/</id>
        <link href="https://pulsar.apache.org/blog/2023/01/20/Apache-Pulsar-2-11-0/"/>
        <updated>2023-01-20T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[The Apache Pulsar community releases version 2.11! 61 contributors provided feature enhancements and fixes that delivered 1617 commits. Thanks for all your contributions.]]></summary>
        <content type="html"><![CDATA[<p>The Apache Pulsar community releases version 2.11! 61 contributors provided feature enhancements and fixes that delivered 1617 commits. Thanks for all your contributions.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="highlights-of-the-211-release">Highlights of the 2.11 release<a href="https://pulsar.apache.org/blog/2023/01/20/Apache-Pulsar-2-11-0/#highlights-of-the-211-release" class="hash-link" aria-label="Direct link to Highlights of the 2.11 release" title="Direct link to Highlights of the 2.11 release">​</a></h2>
<ul>
<li>Upgrade Pulsar server Java build version to 17 (<a href="https://github.com/apache/pulsar/issues/15207" target="_blank" rel="noopener noreferrer">PIP-156</a>)</li>
<li>Support chunking with shared subscriptions (<a href="https://github.com/apache/pulsar/pull/16202" target="_blank" rel="noopener noreferrer">PR-16202</a>)</li>
<li>Support pluggable topic factory (<a href="https://github.com/apache/pulsar/pull/12235" target="_blank" rel="noopener noreferrer">PR-12235</a>)</li>
<li>Support configurable compression type for <code>ManagedCursorInfo</code> to balance storage resource usage (<a href="https://github.com/apache/pulsar/pull/14542" target="_blank" rel="noopener noreferrer">PR-14542</a>)</li>
</ul>
<p>This blog documents the most noteworthy changes in this release. For the complete list, including all feature enhancements and bug fixes, check out the <a href="https://pulsar.apache.org/release-notes/versioned/pulsar-2.11.0/" target="_blank" rel="noopener noreferrer">Pulsar 2.11 Release Notes</a>.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="notable-feature-enhancements-and-fixes">Notable feature enhancements and fixes<a href="https://pulsar.apache.org/blog/2023/01/20/Apache-Pulsar-2-11-0/#notable-feature-enhancements-and-fixes" class="hash-link" aria-label="Direct link to Notable feature enhancements and fixes" title="Direct link to Notable feature enhancements and fixes">​</a></h2>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="broker">Broker<a href="https://pulsar.apache.org/blog/2023/01/20/Apache-Pulsar-2-11-0/#broker" class="hash-link" aria-label="Direct link to Broker" title="Direct link to Broker">​</a></h3>
<hr>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="store-subscription-properties-within-metadata-service-pr-15757">Store subscription properties within metadata service (<a href="https://github.com/apache/pulsar/pull/15757" target="_blank" rel="noopener noreferrer">PR-15757</a>)<a href="https://pulsar.apache.org/blog/2023/01/20/Apache-Pulsar-2-11-0/#store-subscription-properties-within-metadata-service-pr-15757" class="hash-link" aria-label="Direct link to store-subscription-properties-within-metadata-service-pr-15757" title="Direct link to store-subscription-properties-within-metadata-service-pr-15757">​</a></h4>
<p><strong>Issue</strong></p>
<p>Restarting the broker or unloading topics may lead to the loss of subscription properties since they are not stored in the metadata service.</p>
<p><strong>Resolution</strong></p>
<p>Store the subscription properties within the metadata service (<code>ManagedCursorInfo</code>).</p>
<hr>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="support-configurable-compression-type-for-managedcursorinfo-pr-14542">Support configurable compression type for <code>ManagedCursorInfo</code> (<a href="https://github.com/apache/pulsar/pull/14542" target="_blank" rel="noopener noreferrer">PR-14542</a>)<a href="https://pulsar.apache.org/blog/2023/01/20/Apache-Pulsar-2-11-0/#support-configurable-compression-type-for-managedcursorinfo-pr-14542" class="hash-link" aria-label="Direct link to support-configurable-compression-type-for-managedcursorinfo-pr-14542" title="Direct link to support-configurable-compression-type-for-managedcursorinfo-pr-14542">​</a></h4>
<p><strong>Issue</strong></p>
<p>When the cursor data expands, the data size increases and it takes a lot of time to pull the data.</p>
<p><strong>Resolution</strong></p>
<p>Introduce various compression algorithms to support cursor compression.</p>
<p><strong>Reference documentation:</strong> <a href="https://pulsar.apache.org/reference/#/2.11.x/config/reference-configuration-broker?id=managedcursorinfocompressiontype" target="_blank" rel="noopener noreferrer">managedCursorInfoCompressionType</a></p>
<hr>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="sync-pulsar-metadata-across-multiple-clouds-pr-16425">Sync Pulsar metadata across multiple clouds (<a href="https://github.com/apache/pulsar/pull/16425" target="_blank" rel="noopener noreferrer">PR-16425</a>)<a href="https://pulsar.apache.org/blog/2023/01/20/Apache-Pulsar-2-11-0/#sync-pulsar-metadata-across-multiple-clouds-pr-16425" class="hash-link" aria-label="Direct link to sync-pulsar-metadata-across-multiple-clouds-pr-16425" title="Direct link to sync-pulsar-metadata-across-multiple-clouds-pr-16425">​</a></h4>
<p><strong>Issue</strong></p>
<p>Synchronizing configuration metadata (policies) is a critical path to sharing tenant/namespace/topic policies among clusters and administering policies uniformly across all clusters. However, syncing the metadata store (global zookeeper) among Pulsar clusters deployed on separate cloud platforms is not supported in earlier versions.</p>
<p><strong>Resolution</strong></p>
<p>Use two system topics <code>metadataSyncEventTopic</code> and <code>configurationmetadataSyncEventTopic</code> along with a metadata synchronizer to sync metadata among clusters deployed on different cloud platforms and persist local topic policies with it.</p>
<p><strong>Reference documentation</strong></p>
<ul>
<li><a href="https://pulsar.apache.org/reference/#/2.11.x/config/reference-configuration-broker?id=metadatasynceventtopic" target="_blank" rel="noopener noreferrer">metadataSyncEventTopic</a></li>
<li><a href="https://pulsar.apache.org/reference/#/2.11.x/config/reference-configuration-broker?id=configurationmetadatasynceventtopic" target="_blank" rel="noopener noreferrer">configurationmetadataSyncEventTopic</a></li>
</ul>
<hr>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="producer">Producer<a href="https://pulsar.apache.org/blog/2023/01/20/Apache-Pulsar-2-11-0/#producer" class="hash-link" aria-label="Direct link to Producer" title="Direct link to Producer">​</a></h3>
<hr>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="fix-client-memory-limit-currentusage-leak-in-producerimpl-pr-16837">Fix client memory limit <code>currentUsage</code> leak in <code>ProducerImpl</code> (<a href="https://github.com/apache/pulsar/pull/16837" target="_blank" rel="noopener noreferrer">PR-16837</a>)<a href="https://pulsar.apache.org/blog/2023/01/20/Apache-Pulsar-2-11-0/#fix-client-memory-limit-currentusage-leak-in-producerimpl-pr-16837" class="hash-link" aria-label="Direct link to fix-client-memory-limit-currentusage-leak-in-producerimpl-pr-16837" title="Direct link to fix-client-memory-limit-currentusage-leak-in-producerimpl-pr-16837">​</a></h4>
<p><strong>Issue</strong></p>
<p>The client memory limit <code>currentUsage</code> leaks in <code>ProducerImpl</code> and causes the producer’s send rate to be slow.</p>
<p><strong>Resolution</strong></p>
<p>Release the memory when there are failed pending batch messages.</p>
<hr>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="release-semaphore-before-discarding-messages-in-batchmessagecontainer-pr-17019">Release semaphore before discarding messages in <code>batchMessageContainer</code> (<a href="https://github.com/apache/pulsar/pull/17019" target="_blank" rel="noopener noreferrer">PR-17019</a>)<a href="https://pulsar.apache.org/blog/2023/01/20/Apache-Pulsar-2-11-0/#release-semaphore-before-discarding-messages-in-batchmessagecontainer-pr-17019" class="hash-link" aria-label="Direct link to release-semaphore-before-discarding-messages-in-batchmessagecontainer-pr-17019" title="Direct link to release-semaphore-before-discarding-messages-in-batchmessagecontainer-pr-17019">​</a></h4>
<p><strong>Issue</strong></p>
<p>There is a race condition in <code>batchMessageContainer</code> when discarding the messages and releasing the semaphore, which causes the semaphore to be held.</p>
<p><strong>Resolution</strong></p>
<p>Release the semaphore before discarding the messages in <code>batchMessageContainer</code>.</p>
<hr>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="consumer">Consumer<a href="https://pulsar.apache.org/blog/2023/01/20/Apache-Pulsar-2-11-0/#consumer" class="hash-link" aria-label="Direct link to Consumer" title="Direct link to Consumer">​</a></h3>
<hr>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="support-consumer-client-memory-limit-pr-15216">Support consumer client memory limit (<a href="https://github.com/apache/pulsar/pull/15216" target="_blank" rel="noopener noreferrer">PR-15216</a>)<a href="https://pulsar.apache.org/blog/2023/01/20/Apache-Pulsar-2-11-0/#support-consumer-client-memory-limit-pr-15216" class="hash-link" aria-label="Direct link to support-consumer-client-memory-limit-pr-15216" title="Direct link to support-consumer-client-memory-limit-pr-15216">​</a></h4>
<p><strong>Issue</strong></p>
<p>It takes time for an application with a large number of producers/consumers to select an appropriate value for its queue size. The same applies to topics with many partitions.</p>
<p><strong>Resolution</strong></p>
<ol>
<li>Block the expansion of the consumer receiver’s queue size if the memory usage exceeds 75%.</li>
<li>Trigger the shrinking of the consumer receiver’s queue size if the memory usage exceeds 95%.</li>
</ol>
<hr>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="support-adding-interceptors-for-readers-pr-14729">Support adding interceptors for readers (<a href="https://github.com/apache/pulsar/pull/14729" target="_blank" rel="noopener noreferrer">PR-14729</a>)<a href="https://pulsar.apache.org/blog/2023/01/20/Apache-Pulsar-2-11-0/#support-adding-interceptors-for-readers-pr-14729" class="hash-link" aria-label="Direct link to support-adding-interceptors-for-readers-pr-14729" title="Direct link to support-adding-interceptors-for-readers-pr-14729">​</a></h4>
<p><strong>Issue</strong></p>
<p>Pulsar supports adding interceptors for producers and consumers to implement message tracing, but there is no way to add interceptors for readers.</p>
<p><strong>Resolution</strong></p>
<ol>
<li>Add a new interface <code>ReaderInterceptor</code> to customize the reader interceptor.</li>
<li>Support setting reader interceptor and auto-update partition configurations by using <code>ReaderBuilder</code>.</li>
</ol>
<p><strong>User documentation:</strong> <a href="https://pulsar.apache.org/docs/2.11.x/client-libraries-java/#create-reader-with-interceptor" target="_blank" rel="noopener noreferrer">Create a reader with an interceptor</a></p>
<hr>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="function">Function<a href="https://pulsar.apache.org/blog/2023/01/20/Apache-Pulsar-2-11-0/#function" class="hash-link" aria-label="Direct link to Function" title="Direct link to Function">​</a></h3>
<hr>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="support-record-as-a-new-output-type-of-functions-pr-16041">Support <code>Record</code> as a new output type of Functions (<a href="https://github.com/apache/pulsar/pull/16041" target="_blank" rel="noopener noreferrer">PR-16041</a>)<a href="https://pulsar.apache.org/blog/2023/01/20/Apache-Pulsar-2-11-0/#support-record-as-a-new-output-type-of-functions-pr-16041" class="hash-link" aria-label="Direct link to support-record-as-a-new-output-type-of-functions-pr-16041" title="Direct link to support-record-as-a-new-output-type-of-functions-pr-16041">​</a></h4>
<p><strong>Issue</strong></p>
<p>In earlier versions, if you want to dynamically set an output topic, message properties, or change the output schema in a Pulsar function, the only way is to create a function that returns <code>Void</code>. It would be more intuitive to return a structure like <code>Record</code> that carries this information.</p>
<p><strong>Resolution</strong></p>
<p>Add a utility method <code>newOutputRecordBuilder</code> to <code>Context</code> that returns a <code>FunctionRecord</code> builder initialized with the information from the source record. The builder methods can be used to override these values as needed.</p>
<p><strong>User documentation:</strong> <a href="https://pulsar.apache.org/docs/2.11.x/functions-develop-api#use-sdk-for-javapythongo" target="_blank" rel="noopener noreferrer">Use <code>Record</code> as function output</a></p>
<hr>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="tiered-storage">Tiered storage<a href="https://pulsar.apache.org/blog/2023/01/20/Apache-Pulsar-2-11-0/#tiered-storage" class="hash-link" aria-label="Direct link to Tiered storage" title="Direct link to Tiered storage">​</a></h3>
<hr>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="add-a-universal-s3-provider-for-the-offloader-pr-15710">Add a universal S3 provider for the offloader (<a href="https://github.com/apache/pulsar/pull/15710" target="_blank" rel="noopener noreferrer">PR-15710</a>)<a href="https://pulsar.apache.org/blog/2023/01/20/Apache-Pulsar-2-11-0/#add-a-universal-s3-provider-for-the-offloader-pr-15710" class="hash-link" aria-label="Direct link to add-a-universal-s3-provider-for-the-offloader-pr-15710" title="Direct link to add-a-universal-s3-provider-for-the-offloader-pr-15710">​</a></h4>
<p><strong>Issue</strong></p>
<p>Pulsar supports cloud storage compatible with S3 APIs, such as AWS and Aliyun, through existing offloaders, but the forced registration of specific metadata limits their use.</p>
<p><strong>Resolution</strong></p>
<p>Provide a more general offloader <code>S3</code> to serve more S3-compatible storage, which uses pure JClouds S3 metadata and allows overriding the default JClouds properties through system properties.</p>
<p><strong>User documentation:</strong> <a href="https://pulsar.apache.org/docs/2.11.x/tiered-storage-s3" target="_blank" rel="noopener noreferrer">Use S3 offloader with Pulsar</a></p>
<hr>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="proxy">Proxy<a href="https://pulsar.apache.org/blog/2023/01/20/Apache-Pulsar-2-11-0/#proxy" class="hash-link" aria-label="Direct link to Proxy" title="Direct link to Proxy">​</a></h3>
<hr>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="support-prometheusrawmetricsprovider-for-pulsar-proxies-pr-14681">Support <code>PrometheusRawMetricsProvider</code> for Pulsar proxies (<a href="https://github.com/apache/pulsar/pull/14681" target="_blank" rel="noopener noreferrer">PR-14681</a>)<a href="https://pulsar.apache.org/blog/2023/01/20/Apache-Pulsar-2-11-0/#support-prometheusrawmetricsprovider-for-pulsar-proxies-pr-14681" class="hash-link" aria-label="Direct link to support-prometheusrawmetricsprovider-for-pulsar-proxies-pr-14681" title="Direct link to support-prometheusrawmetricsprovider-for-pulsar-proxies-pr-14681">​</a></h4>
<p><strong>Issue</strong></p>
<p>The metrics of plugins could not be exposed to Prometheus for monitoring.</p>
<p><strong>Resolution</strong></p>
<p>Add <code>PrometheusRawMetricsProvider</code> in Pulsar proxies so that plugins can add their metrics to Prometheus.</p>
<hr>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="whats-next">What’s Next?<a href="https://pulsar.apache.org/blog/2023/01/20/Apache-Pulsar-2-11-0/#whats-next" class="hash-link" aria-label="Direct link to What’s Next?" title="Direct link to What’s Next?">​</a></h2>
<p>If you are interested in learning more about Pulsar 2.11, you can <a href="https://pulsar.apache.org/download/" target="_blank" rel="noopener noreferrer">download</a> and try it out now!</p>
<p>For more information about the Apache Pulsar project and current progress, visit
the <a href="https://pulsar.apache.org/" target="_blank" rel="noopener noreferrer">Pulsar website</a>, follow the project on Twitter
<a href="https://twitter.com/apache_pulsar" target="_blank" rel="noopener noreferrer">@apache_pulsar</a>, and join <a href="https://apache-pulsar.slack.com/" target="_blank" rel="noopener noreferrer">Pulsar Slack</a>!</p>]]></content>
        <author>
            <name>Technoboy-, momo-jun</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Apache Pulsar 2022 Year in Review]]></title>
        <id>https://pulsar.apache.org/blog/2023/01/10/pulsar-2022-year-in-review/</id>
        <link href="https://pulsar.apache.org/blog/2023/01/10/pulsar-2022-year-in-review/"/>
        <updated>2023-01-10T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[2022 was an incredible year for Apache Pulsar as it witnessed strong community growth with the project becoming more stable, scalable, and secure.]]></summary>
        <content type="html"><![CDATA[<p>2022 was an incredible year for Apache Pulsar as it witnessed strong community growth with the project becoming more stable, scalable, and secure.</p>
<p>We are grateful to all of our community members and those in the wider open-source community who contributed to the project. They are the reasons behind every step Pulsar has made over the past year.</p>
<p>Now, let’s take a look at some of the highlights in 2022.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="new-pulsar-website">New Pulsar website<a href="https://pulsar.apache.org/blog/2023/01/10/pulsar-2022-year-in-review/#new-pulsar-website" class="hash-link" aria-label="Direct link to New Pulsar website" title="Direct link to New Pulsar website">​</a></h2>
<p>In May 2022, the Apache Pulsar community <a href="https://lists.apache.org/thread/7nx3rm3cmpbw0ws1b62k17935xgyw2tj" target="_blank" rel="noopener noreferrer">launched its new website</a>. The new appearance has a light blue background with the homepage structure redesigned. You can see <a href="https://github.com/apache/pulsar/issues/12637" target="_blank" rel="noopener noreferrer">PIP-87</a> and <a href="https://github.com/apache/pulsar/issues/13235" target="_blank" rel="noopener noreferrer">PIP-113</a> for more details. Following is a comparison of the websites.</p>
<p>Before:</p>
<p><img decoding="async" loading="lazy" src="https://pulsar.apache.org/assets/images/pulsar-website-before-1ada885dd6c87c47f266a2ab1a099c02.png" width="1487" height="912" class="img_ev3q"></p>
<p>After:</p>
<p><img decoding="async" loading="lazy" src="https://pulsar.apache.org/assets/images/pulsar-new-website-after-1-db55bf2d1080fa68d46117b2d50c34fa.png" width="1542" height="844" class="img_ev3q"></p>
<p><img decoding="async" loading="lazy" src="https://pulsar.apache.org/assets/images/pulsar-new-website-after-2-d5f5cb444fbabd3ee6e950a66eef4222.png" width="1416" height="895" class="img_ev3q"></p>
<p>Many community members <a href="https://github.com/apache/pulsar/issues/15538#issuecomment-1125602899" target="_blank" rel="noopener noreferrer">participated in the discussion and provided valuable feedback</a>. Currently, the Pulsar community is still working to improve the reader experience by making key information more visible and accessible.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="key-events-recap">Key events recap<a href="https://pulsar.apache.org/blog/2023/01/10/pulsar-2022-year-in-review/#key-events-recap" class="hash-link" aria-label="Direct link to Key events recap" title="Direct link to Key events recap">​</a></h2>
<p>In 2022, the Apache Pulsar community put together a number of meetups and events across the globe to share the latest messaging and streaming technologies. Among others, two Pulsar Summits received the most attention from community members.</p>
<ul>
<li><a href="https://streamnative.io/blog/community/2022-08-25-pulsar-summit-sf-2022-community-event-recap/" target="_blank" rel="noopener noreferrer">Pulsar Summit San Francisco 2022</a>: This event marked the first-ever, in-person Pulsar Summit in North America with 200+ attendees. It featured 20 speakers from companies like Google, AWS, and Yahoo!, 5 keynotes on Apache Pulsar and other streaming technologies, and 12 breakout sessions on tech deep dives, use cases, and ecosystem talks. <a href="https://streamnative.io/pulsar-summit-on-demand/" target="_blank" rel="noopener noreferrer">Watch the sessions</a>.</li>
<li><a href="https://pulsar.apache.org/blog/2022/12/01/pulsar-summit-asia-2022-recap/" target="_blank" rel="noopener noreferrer">Pulsar Summit Asia 2022</a>: With 1,500+ registrations and 40,000+ views globally, this two-day virtual event gathered 41 speakers giving 3 keynote addresses and 36 sessions. They came from companies like ByteDance, Huawei, Tencent, Nippon Telegraph and Telephone Corporation (NTT), Yum China, Netease, vivo, Nutanix, and StreamNative. <a href="https://www.youtube.com/playlist?list=PLqRma1oIkcWgeNb3kgzqFyg5sywH8S4yy" target="_blank" rel="noopener noreferrer">Watch the sessions</a>.</li>
</ul>
<p>To stay up to date with the latest events, you can join the following meetups or groups:</p>
<ul>
<li><a href="https://www.meetup.com/new-york-city-apache-pulsar-meetup/" target="_blank" rel="noopener noreferrer">New York City Apache Pulsar Meetup</a></li>
<li><a href="https://www.meetup.com/sf-bay-area-apache-pulsar-meetup/" target="_blank" rel="noopener noreferrer">SF Bay Area Apache Pulsar Meetup</a></li>
<li><a href="https://www.meetup.com/netherlands-apache-pulsar-meetup/" target="_blank" rel="noopener noreferrer">Netherlands Apache Pulsar Meetup</a></li>
<li><a href="https://japan-pulsar-user-group.connpass.com/" target="_blank" rel="noopener noreferrer">Japan Pulsar User Group</a></li>
</ul>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="community-growth">Community growth<a href="https://pulsar.apache.org/blog/2023/01/10/pulsar-2022-year-in-review/#community-growth" class="hash-link" aria-label="Direct link to Community growth" title="Direct link to Community growth">​</a></h2>
<p>The development of the Pulsar community would not be possible without our contributors. Among them, Pulsar Committers and PMC members have taken the lead in contributing to and promoting the project. In 2022, many new faces joined the community while we also welcomed old friends taking more responsibility. Let’s take a look at the Pulsar community by numbers.</p>
<ul>
<li><strong>598</strong> global contributors for the Pulsar main GitHub repository</li>
<li><strong>12.1K+</strong> GitHub stars</li>
<li><strong>3.2K+</strong> forks</li>
<li><strong>16</strong> new Committers</li>
<li><strong>5</strong> new PMC members</li>
<li><strong>9560</strong> Pulsar Slack members</li>
<li><strong>4.3K+</strong> downloads</li>
<li><strong>14M+</strong> Docker pulls</li>
</ul>
<p>The Pulsar community welcomes all kinds of contributions. For more information, see the <a href="https://pulsar.apache.org/contribute/" target="_blank" rel="noopener noreferrer">Apache Pulsar Contribution Guide</a>.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="project-releases">Project releases<a href="https://pulsar.apache.org/blog/2023/01/10/pulsar-2022-year-in-review/#project-releases" class="hash-link" aria-label="Direct link to Project releases" title="Direct link to Project releases">​</a></h2>
<p>In 2022, the Pulsar community worked hard to improve the project’s capabilities and fix existing bugs with 1 major version and 8 minor versions. Many important Pulsar capabilities were delivered in these releases, such as <a href="https://github.com/apache/pulsar/pull/13316" target="_blank" rel="noopener noreferrer">cluster-level automatic failure recovery</a> and <a href="https://github.com/apache/pulsar/pull/10279" target="_blank" rel="noopener noreferrer">lazy-loading added to PartitionedProducer</a>. Check out each release below to see details:</p>
<ul>
<li><a href="https://github.com/apache/pulsar/releases/tag/v2.10.2" target="_blank" rel="noopener noreferrer">2.10.2</a></li>
<li><a href="https://github.com/apache/pulsar/releases/tag/v2.10.1" target="_blank" rel="noopener noreferrer">2.10.1</a></li>
<li><a href="https://github.com/apache/pulsar/releases/tag/v2.10.0" target="_blank" rel="noopener noreferrer">2.10.0</a></li>
<li><a href="https://github.com/apache/pulsar/releases/tag/v2.9.3" target="_blank" rel="noopener noreferrer">2.9.3</a></li>
<li><a href="https://github.com/apache/pulsar/releases/tag/v2.9.2" target="_blank" rel="noopener noreferrer">2.9.2</a></li>
<li><a href="https://github.com/apache/pulsar/releases/tag/v2.8.4" target="_blank" rel="noopener noreferrer">2.8.4</a></li>
<li><a href="https://github.com/apache/pulsar/releases/tag/v2.8.3" target="_blank" rel="noopener noreferrer">2.8.3</a></li>
<li><a href="https://github.com/apache/pulsar/releases/tag/v2.8.2" target="_blank" rel="noopener noreferrer">2.8.2</a></li>
<li><a href="https://github.com/apache/pulsar/releases/tag/v2.7.5" target="_blank" rel="noopener noreferrer">2.7.5</a></li>
</ul>
<p>For more information, see the <a href="https://pulsar.apache.org/release-notes/" target="_blank" rel="noopener noreferrer">Release Notes page</a>.</p>
<p>Updates about clients, Pulsar Manager, and Pulsar Helm Chart are listed below:</p>
<ul>
<li><a href="https://github.com/apache/pulsar-client-cpp/releases/tag/v3.1.0" target="_blank" rel="noopener noreferrer">Pulsar C++ Client 3.1.0</a></li>
<li><a href="https://github.com/apache/pulsar-client-cpp/releases/tag/v3.0.0" target="_blank" rel="noopener noreferrer">Pulsar C++ Client 3.0.0</a></li>
<li><a href="https://github.com/apache/pulsar-client-go/releases/tag/v0.9.0" target="_blank" rel="noopener noreferrer">Pulsar Go Client 0.9.0</a></li>
<li><a href="https://github.com/apache/pulsar-client-go/releases/tag/v0.8.1" target="_blank" rel="noopener noreferrer">Pulsar Go Client 0.8.1</a></li>
<li><a href="https://github.com/apache/pulsar-client-go/releases/tag/v0.8.0" target="_blank" rel="noopener noreferrer">Pulsar Go Client 0.8.0</a></li>
<li><a href="https://github.com/apache/pulsar-client-node/releases/tag/v1.7.0" target="_blank" rel="noopener noreferrer">Pulsar Node.js Client 1.7.0</a></li>
<li><a href="https://github.com/apache/pulsar-client-node/releases/tag/v1.6.2" target="_blank" rel="noopener noreferrer">Pulsar Node.js Client 1.6.2</a></li>
<li><a href="https://github.com/apache/pulsar-client-python/releases/tag/v3.0.0" target="_blank" rel="noopener noreferrer">Pulsar Python Client 3.0.0</a></li>
<li><a href="https://github.com/apache/pulsar-client-reactive/releases/tag/v0.1.0" target="_blank" rel="noopener noreferrer">Reactive Client for Apache Pulsar 0.1.0</a></li>
<li><a href="https://github.com/apache/pulsar-manager/releases/tag/v0.3.0" target="_blank" rel="noopener noreferrer">Pulsar Manager 0.3.0</a></li>
<li><a href="https://github.com/apache/pulsar-helm-chart/releases/tag/pulsar-3.0.0" target="_blank" rel="noopener noreferrer">Pulsar Helm Chart 3.0.0</a></li>
</ul>
<p>For more information, see the <a href="https://pulsar.apache.org/release-notes/clients/" target="_blank" rel="noopener noreferrer">Clients Release Notes page</a>.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="pulsar-ecosystem">Pulsar ecosystem<a href="https://pulsar.apache.org/blog/2023/01/10/pulsar-2022-year-in-review/#pulsar-ecosystem" class="hash-link" aria-label="Direct link to Pulsar ecosystem" title="Direct link to Pulsar ecosystem">​</a></h2>
<p>In 2022, the Pulsar community worked with other open-source communities to add more integrations to the Pulsar ecosystem. Notable integrations include:</p>
<ul>
<li><a href="https://spring.io/blog/2022/09/20/spring-for-apache-pulsar-0-1-0-m1-is-now-available" target="_blank" rel="noopener noreferrer">Spring for Apache Pulsar</a>: This project aims to provide Spring-friendly APIs, building blocks, and programming models for writing Java applications that interact with Apache Pulsar. For more information, read the blog <a href="https://spring.io/blog/2022/12/15/spring-for-apache-pulsar-0-1-0-available-now" target="_blank" rel="noopener noreferrer">Spring for Apache Pulsar 0.1.0 available now</a>.</li>
<li><a href="https://nightlies.apache.org/flink/flink-docs-master/docs/connectors/datastream/pulsar/#pulsar-sink" target="_blank" rel="noopener noreferrer">Flink-Pulsar Sink Connector</a>: The Flink-Pulsar Sink Connector is part of the Flink-Pulsar DataStream Connector. It implements Flink’s new <a href="https://cwiki.apache.org/confluence/display/FLINK/FLIP-177%3A+Extend+Sink+API" target="_blank" rel="noopener noreferrer">SinkV2 API</a> and allows you to write Flink job results back to Pulsar topics seamlessly.</li>
<li><a href="https://github.com/apache/pulsar/issues/17719" target="_blank" rel="noopener noreferrer">HTTP Sink Connector</a>: The HTTP Sink Connector pushes records to any HTTP server with the record value in the body of POST method. The body of the HTTP request is the JSON representation of the record value.</li>
</ul>
<p>For more information, see the <a href="https://pulsar.apache.org/ecosystem/" target="_blank" rel="noopener noreferrer">Ecosystem page</a>.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="whats-next-in-2023">What’s next in 2023<a href="https://pulsar.apache.org/blog/2023/01/10/pulsar-2022-year-in-review/#whats-next-in-2023" class="hash-link" aria-label="Direct link to What’s next in 2023" title="Direct link to What’s next in 2023">​</a></h2>
<p>The Pulsar community seeks to further improve the project from different aspects. For example, we plan on releasing the first long-term support (LTS) version of Pulsar to meet the needs of different users. For those who want a more stable Pulsar version, they can choose the LTS release. The Pulsar community will help improve and upgrade the LTS versions with bug fixes and security patches.</p>
<p>Additionally, we will also have more events coming for 2023, including Pulsar Summit North America and Pulsar Summit APAC. To stay up to date with community news and discuss hot topics with other members, you can subscribe to the Pulsar mailing lists for <a href="mailto:users-subscribe@pulsar.apache.org" target="_blank" rel="noopener noreferrer">users</a> and <a href="mailto:dev-subscribe@pulsar.apache.org" target="_blank" rel="noopener noreferrer">developers</a>, follow us on <a href="https://twitter.com/apache_pulsar" target="_blank" rel="noopener noreferrer">Twitter</a>, and join the <a href="https://communityinviter.com/apps/apache-pulsar/apache-pulsar" target="_blank" rel="noopener noreferrer">Pulsar Slack workspace</a>.</p>]]></content>
        <author>
            <name>Apache Pulsar Community</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[What’s New in Apache Pulsar 2.10.3]]></title>
        <id>https://pulsar.apache.org/blog/2023/01/09/Apache-Pulsar-2-10-3/</id>
        <link href="https://pulsar.apache.org/blog/2023/01/09/Apache-Pulsar-2-10-3/"/>
        <updated>2023-01-09T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[The Apache Pulsar community releases version 2.10.3! 50 contributors provided improvements and bug fixes that delivered 155 commits. Thanks for all your contributions.]]></summary>
        <content type="html"><![CDATA[<p>The Apache Pulsar community releases version 2.10.3! 50 contributors provided improvements and bug fixes that delivered 155 commits. Thanks for all your contributions.</p>
<p>This blog walks through the most noteworthy changes. For the complete list including all feature enhancements and bug fixes, check out the <a href="https://pulsar.apache.org/release-notes/versioned/pulsar-2.10.3/" target="_blank" rel="noopener noreferrer">Pulsar 2.10.3 Release Notes</a>.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="add-getstate-in-transactions-for-client-apis-pr-17423">Add <code>getState</code> in transactions for client APIs (<a href="https://github.com/apache/pulsar/pull/17423" target="_blank" rel="noopener noreferrer">PR-17423</a>)<a href="https://pulsar.apache.org/blog/2023/01/09/Apache-Pulsar-2-10-3/#add-getstate-in-transactions-for-client-apis-pr-17423" class="hash-link" aria-label="Direct link to add-getstate-in-transactions-for-client-apis-pr-17423" title="Direct link to add-getstate-in-transactions-for-client-apis-pr-17423">​</a></h3>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="issue">Issue<a href="https://pulsar.apache.org/blog/2023/01/09/Apache-Pulsar-2-10-3/#issue" class="hash-link" aria-label="Direct link to Issue" title="Direct link to Issue">​</a></h4>
<p>In earlier versions, the state of transactions on the client side could not be obtained with the client APIs. Users have no way to check the state of transactions before ending them.</p>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="resolution">Resolution<a href="https://pulsar.apache.org/blog/2023/01/09/Apache-Pulsar-2-10-3/#resolution" class="hash-link" aria-label="Direct link to Resolution" title="Direct link to Resolution">​</a></h4>
<p>Add an interface to get the state of transactions.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="enable-delayed-transaction-messages-pr-17548">Enable delayed transaction messages (<a href="https://github.com/apache/pulsar/pull/17548" target="_blank" rel="noopener noreferrer">PR-17548</a>)<a href="https://pulsar.apache.org/blog/2023/01/09/Apache-Pulsar-2-10-3/#enable-delayed-transaction-messages-pr-17548" class="hash-link" aria-label="Direct link to enable-delayed-transaction-messages-pr-17548" title="Direct link to enable-delayed-transaction-messages-pr-17548">​</a></h3>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="issue-1">Issue<a href="https://pulsar.apache.org/blog/2023/01/09/Apache-Pulsar-2-10-3/#issue-1" class="hash-link" aria-label="Direct link to Issue" title="Direct link to Issue">​</a></h4>
<p>In earlier versions, delayed message delivery and transaction messages could not be used simultaneously. When sending a transaction message with a certain delay and committing this transaction, the messages sent by transactions are immediately received by consumers without any expected delay.</p>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="resolution-1">Resolution<a href="https://pulsar.apache.org/blog/2023/01/09/Apache-Pulsar-2-10-3/#resolution-1" class="hash-link" aria-label="Direct link to Resolution" title="Direct link to Resolution">​</a></h4>
<p>Allow clients to send delayed messages with transactions using <code>trackDelayedDelivery</code>.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="allow-configuring-and-disabling-the-size-of-lookahead-for-detecting-fixed-delays-in-messages-pr-17907">Allow configuring and disabling the size of <code>lookahead</code> for detecting fixed delays in messages (<a href="https://github.com/apache/pulsar/pull/17907" target="_blank" rel="noopener noreferrer">PR-17907</a>)<a href="https://pulsar.apache.org/blog/2023/01/09/Apache-Pulsar-2-10-3/#allow-configuring-and-disabling-the-size-of-lookahead-for-detecting-fixed-delays-in-messages-pr-17907" class="hash-link" aria-label="Direct link to allow-configuring-and-disabling-the-size-of-lookahead-for-detecting-fixed-delays-in-messages-pr-17907" title="Direct link to allow-configuring-and-disabling-the-size-of-lookahead-for-detecting-fixed-delays-in-messages-pr-17907">​</a></h3>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="issue-2">Issue<a href="https://pulsar.apache.org/blog/2023/01/09/Apache-Pulsar-2-10-3/#issue-2" class="hash-link" aria-label="Direct link to Issue" title="Direct link to Issue">​</a></h4>
<p>When detecting that all messages have a fixed delay time, it’s helpful that users can configure the size of <code>lookahead</code> to detect and pause the reads from cursors. But in earlier versions, the size of `lookahead is pre-defined and fixed, which lacks flexibility and limits the usage.</p>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="resolution-2">Resolution<a href="https://pulsar.apache.org/blog/2023/01/09/Apache-Pulsar-2-10-3/#resolution-2" class="hash-link" aria-label="Direct link to Resolution" title="Direct link to Resolution">​</a></h4>
<p>Allow configuring and disabling the size of <code>lookahead</code> for detecting fixed delays in messages.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fix-memory-leak-while-offloading-ledgers-pr-18500">Fix memory leak while offloading ledgers (<a href="https://github.com/apache/pulsar/pull/18500" target="_blank" rel="noopener noreferrer">PR-18500</a>)<a href="https://pulsar.apache.org/blog/2023/01/09/Apache-Pulsar-2-10-3/#fix-memory-leak-while-offloading-ledgers-pr-18500" class="hash-link" aria-label="Direct link to fix-memory-leak-while-offloading-ledgers-pr-18500" title="Direct link to fix-memory-leak-while-offloading-ledgers-pr-18500">​</a></h3>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="issue-3">Issue<a href="https://pulsar.apache.org/blog/2023/01/09/Apache-Pulsar-2-10-3/#issue-3" class="hash-link" aria-label="Direct link to Issue" title="Direct link to Issue">​</a></h4>
<p>In earlier versions, <code>BlockAwareSegmentInputStreamImpl</code> never releases the BookKeeper entries in the <code>close</code> method, leading to <code>OutOfDirectMemory</code> errors on brokers that frequently run offloading activities. This PR fixes the incorrect <code>if</code> conditions.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fix-namespace-cannot-be-deleted-by-force-pr-18307">Fix namespace cannot be deleted by force (<a href="https://github.com/apache/pulsar/pull/18307" target="_blank" rel="noopener noreferrer">PR-18307</a>)<a href="https://pulsar.apache.org/blog/2023/01/09/Apache-Pulsar-2-10-3/#fix-namespace-cannot-be-deleted-by-force-pr-18307" class="hash-link" aria-label="Direct link to fix-namespace-cannot-be-deleted-by-force-pr-18307" title="Direct link to fix-namespace-cannot-be-deleted-by-force-pr-18307">​</a></h3>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="issue-4">Issue<a href="https://pulsar.apache.org/blog/2023/01/09/Apache-Pulsar-2-10-3/#issue-4" class="hash-link" aria-label="Direct link to Issue" title="Direct link to Issue">​</a></h4>
<p>In earlier versions, when you delete a namespace by force, if <code>__transaction_buffer_snapshot</code> and <code>__change_events</code> (system topic for topic policies) have been deleted, then the deletion of regular topics will fail because it cannot clear the snapshots and topic policies.</p>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="resolution-3">Resolution<a href="https://pulsar.apache.org/blog/2023/01/09/Apache-Pulsar-2-10-3/#resolution-3" class="hash-link" aria-label="Direct link to Resolution" title="Direct link to Resolution">​</a></h4>
<p>Delete regular topics before deleting system topics when deleting a namespace. And deleting the system topic <code>__change_events</code> does not clear its topic policy.</p>
<h1>What’s Next?</h1>
<p>If you are interested in learning more about Pulsar 2.10.3, you can <a href="https://pulsar.apache.org/download/" target="_blank" rel="noopener noreferrer">download</a> and try it out now!</p>
<p>For more information about the Apache Pulsar project and current progress, visit
the <a href="https://pulsar.apache.org/" target="_blank" rel="noopener noreferrer">Pulsar website</a>, follow the project on Twitter
<a href="https://twitter.com/apache_pulsar" target="_blank" rel="noopener noreferrer">@apache_pulsar</a>, and join <a href="https://apache-pulsar.slack.com/" target="_blank" rel="noopener noreferrer">Pulsar Slack</a>!</p>]]></content>
        <author>
            <name>liangyepianzhou, momo-jun</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Pulsar Summit Asia 2022 Recap]]></title>
        <id>https://pulsar.apache.org/blog/2022/12/01/pulsar-summit-asia-2022-recap/</id>
        <link href="https://pulsar.apache.org/blog/2022/12/01/pulsar-summit-asia-2022-recap/"/>
        <updated>2022-12-01T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Since its inception in 2020, Pulsar Summit Asia has received increasing attention from both Asia and beyond. For Pulsar Summit Asia 2022, more than 1400 people from companies like Amazon, Tencent, IBM, Huawei, Dell, ByteDance, and Splunk registered for this online event to discuss the latest messaging and streaming technologies powering a wide variety of industries like education, food, gaming, e-commerce, and social media.]]></summary>
        <content type="html"><![CDATA[<p><img decoding="async" loading="lazy" src="https://pulsar.apache.org/assets/images/pulsar-summit-asia-2022-recap-top-6e5633c97c21533de7ed1b6f42a0ab36.jpg" width="855" height="364" class="img_ev3q"></p>
<p>Since its inception in 2020, Pulsar Summit Asia has received increasing attention from both Asia and beyond. For Pulsar Summit Asia 2022, more than 1400 people from companies like Amazon, Tencent, IBM, Huawei, Dell, ByteDance, and Splunk registered for this online event to discuss the latest messaging and streaming technologies powering a wide variety of industries like education, food, gaming, e-commerce, and social media.</p>
<p>Before we talk	about some of the Summit highlights, we would like to thank the entire Apache Pulsar community and all the friends from other open-source communities for making this event a great success! Additionally, this event would not have drawn the attention of such a broad audience without our speakers, Program Committee members, as well as community and media partners. Thank you all for your help and energy!</p>
<p>And now, let’s look at some of the highlights and a round-up of this online virtual event:</p>
<ul>
<li>1400+ registrations and 40,000+ views globally</li>
<li>41 speakers from companies like ByteDance, Huawei, Tencent, Nippon Telegraph and Telephone Corporation (NTT), Yum China, Netease, vivo, Nutanix, and StreamNative</li>
<li>3 keynotes on Apache Pulsar and event-driven applications</li>
<li>36 sessions on use cases, technical deep dives, and ecosystem talks</li>
<li>14 Program Committee members</li>
<li>18 community and media partners</li>
</ul>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="keynotes-and-sessions-at-a-glance">Keynotes and sessions at a glance<a href="https://pulsar.apache.org/blog/2022/12/01/pulsar-summit-asia-2022-recap/#keynotes-and-sessions-at-a-glance" class="hash-link" aria-label="Direct link to Keynotes and sessions at a glance" title="Direct link to Keynotes and sessions at a glance">​</a></h2>
<p>This two-day virtual event brought together engineers, architects, and data scientists from the messaging and streaming communities. They talked about Pulsar adoption for different use cases, event-driven platforms, technical details, and even Pulsar integration with other ecosystems. The following is a quick recap of some of the keynotes and sessions.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="keynotes">Keynotes<a href="https://pulsar.apache.org/blog/2022/12/01/pulsar-summit-asia-2022-recap/#keynotes" class="hash-link" aria-label="Direct link to Keynotes" title="Direct link to Keynotes">​</a></h3>
<ul>
<li><strong>A Cloud-Native, Unified Messaging and Streaming System for Modern Data Infrastructure (Mandarin)</strong>: Jia Zhai, an Apache Pulsar PMC member, gave a high-level overview of Apache Pulsar and explained how it meets the requirements for messaging and streaming with its cloud-native features.</li>
<li><strong>What You Should Know about Apache Pulsar in 2022 (Mandarin)</strong>: Penghui Li, an Apache Pulsar PMC member, talked about some of the existing problems in Pulsar and how the Pulsar community would work to solve them going forward.</li>
<li><strong>Event-Driven Applications Done Right (English)</strong>: Matteo Merli, Apache Pulsar PMC Chair, provided his insights on the fundamentals of modern event-driven applications.</li>
</ul>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="use-cases">Use cases<a href="https://pulsar.apache.org/blog/2022/12/01/pulsar-summit-asia-2022-recap/#use-cases" class="hash-link" aria-label="Direct link to Use cases" title="Direct link to Use cases">​</a></h3>
<ul>
<li><strong>Awesome Pulsar in Yum China (English)</strong>: Chauncey Yan from Yum China explained why Yum China selected Pulsar for production and shared their experience of performance tuning.</li>
<li><strong>Pulsar + Envoy: Building an OTO Marketing Platform for Different Business Scenarios on Microservices (Mandarin)</strong>: Jason Jiang from Tencent shared their experience of using Pulsar and Envoy to create an OTO marketing platform built on microservices for different business scenarios.</li>
<li><strong>Pulsar in Smart Education: How NetEase Youdao Put Pulsar into Practice for Complex Business Scenarios (Mandarin)</strong>: Jiaqi Shen from NetEase introduced NetEase Youdao’s practices of using Apache Pulsar to support complex scenarios in smart education.</li>
<li><strong>Streaming Wars and How Apache Pulsar is Acing the Battle (English)</strong>: Shivji Kumar Jha and Sachidananda Maharana from Nutanix talked about how they adopted Pulsar for different use cases and migrated applications from other messaging solutions to Pulsar.</li>
<li><strong>Tens of Trillions of Messages: How Apache Pulsar Supports Big Data Business at Tencent (Mandarin)</strong>: Dawei Zhang from Tencent discussed how they used Apache Pulsar for big data business to support scenarios requiring high availability and strong consistency.</li>
</ul>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="technical-deep-dives">Technical deep dives<a href="https://pulsar.apache.org/blog/2022/12/01/pulsar-summit-asia-2022-recap/#technical-deep-dives" class="hash-link" aria-label="Direct link to Technical deep dives" title="Direct link to Technical deep dives">​</a></h3>
<ul>
<li><strong>Taking Jakarta JMS to New Generation Messaging Systems - Apache Pulsar (English)</strong>: Enrico Olivelli and Mary Grygleski from DataStax explained how Pulsar concepts map to the Jakarta Messaging Specifications and demonstrated how to connect a Jakarta EE application to Pulsar.</li>
<li>**A New Way of Managing Pulsar with Infrastructure as Code (Mandarin): **Max Xu and Fushu Wang from StreamNative discussed how to leverage the Terraform Provider for Pulsar and the Pulsar Resources Operator to help better manage Pulsar.</li>
<li><strong>A Deep Dive into Pulsar's Geo-replication for High Availability (Mandarin)</strong>: Jialing Wang from China Mobile talked about the asynchronous and synchronous data replication mechanisms, and explained how they deployed Pulsar across multiple regions and improved its performance at China Mobile.</li>
<li><strong>Apache Pulsar in Volcano Engine E-MapReduce: Integration and Scenarios (Mandarin)</strong>: Xin Liang from ByteDance introduced Volcano Engine E-MapReduce, a stateless, open-source big data platform, and how Pulsar fits into the platform’s ecosystem supporting different use cases.</li>
<li>**Handling 100K Consumers with One Topic: Practices and Technical Details (English): **Hongjie Zhai from NTT Software Innovation Center shared their practices and technical details of handling 100K consumers with a single Pulsar topic.</li>
</ul>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="ecosystem">Ecosystem<a href="https://pulsar.apache.org/blog/2022/12/01/pulsar-summit-asia-2022-recap/#ecosystem" class="hash-link" aria-label="Direct link to Ecosystem" title="Direct link to Ecosystem">​</a></h3>
<ul>
<li><strong>Pulsar + Flink + Camel: How Vertice Built its CMDB-based Real-time Data Platform (Mandarin)</strong>: Wei Wang from Vertice offered his insights on how to build a CMDB-based Real-time Data platform with Pulsar, Flink, and Camel.</li>
<li><strong>Simplify Pulsar Functions Development with SQL (Mandarin)</strong>: Rui Fu from StreamNative discussed how SQL syntax, Pulsar Functions, and Function Mesh can work together to deliver a unique user development experience for real-time data jobs in the cloud environment.</li>
<li><strong>Apache Pulsar + KubeEdge: Managing Edge Devices with Low Latency and Persistent Storage (Mandarin)</strong>: Ryan Zhao from Huawei Cloud introduced a management solution for edge devices implemented through the Device Management Interface of KubeEdge and Apache Pulsar.</li>
<li><strong>Make Querying from Pulsar Easier: Introduce Flink Pulsar SQL Connector (English)</strong>: Yufei Zhang from StreamNative walked through the basic concepts and examples of using Pulsar SQL Connector and discussed PulsarCatalog’s two different modes of using Pulsar as a metadata store.</li>
<li><strong>Migrating from RabbitMQ to Apache Pulsar: Using AMQP-on-Pulsar (AoP) in E-commerce Industry (Mandarin)</strong>: Yifei Ming from Access Corporate Group talked about their experience of using the AMQP-on-Pulsar project to migrate RabbitMQ workloads to AoP.</li>
</ul>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="whats-new-in-the-pulsar-community">What’s new in the Pulsar community<a href="https://pulsar.apache.org/blog/2022/12/01/pulsar-summit-asia-2022-recap/#whats-new-in-the-pulsar-community" class="hash-link" aria-label="Direct link to What’s new in the Pulsar community" title="Direct link to What’s new in the Pulsar community">​</a></h2>
<p>In addition to the keynotes and sessions, we also shared some exciting news at the Summit.</p>
<p>Apache Pulsar has been adopted by organizations and users across the globe since it graduated as a Top Level Project in September 2018. Recently, the project witnessed its 580th contributor, almost hitting the 600 milestone!</p>
<p><img decoding="async" loading="lazy" src="https://pulsar.apache.org/assets/images/pulsar-github-contributor-20221114-0cf1583a496e12b7278df58efe74ed20.png" width="842" height="509" class="img_ev3q"></p>
<small><center>Figure 1. Pulsar GitHub repo contributors</center></small>
<p>So far this year, we have welcomed 16 new Apache Pulsar <a href="https://www.apache.org/foundation/how-it-works.html#committers" target="_blank" rel="noopener noreferrer">Committers</a> to the Pulsar family. They have made continuous contributions to the Pulsar community and as Pulsar Committers, they now have write access to the Pulsar repository. They are:</p>
<ul>
<li><a href="https://github.com/RobertIndie" target="_blank" rel="noopener noreferrer">@RobertIndie</a></li>
<li><a href="https://github.com/yuruguo" target="_blank" rel="noopener noreferrer">@yuruguo</a></li>
<li><a href="https://github.com/gaozhangmin" target="_blank" rel="noopener noreferrer">@gaozhangmin</a></li>
<li><a href="https://github.com/nodece" target="_blank" rel="noopener noreferrer">@nodece</a></li>
<li><a href="https://github.com/Shoothzj" target="_blank" rel="noopener noreferrer">@Shoothzj</a></li>
<li><a href="https://github.com/hqebupt" target="_blank" rel="noopener noreferrer">@hqebupt</a></li>
<li><a href="https://github.com/StevenLuMT" target="_blank" rel="noopener noreferrer">@StevenLuMT</a></li>
<li><a href="https://github.com/lordcheng10" target="_blank" rel="noopener noreferrer">@lordcheng10</a></li>
<li><a href="https://github.com/tisonkun" target="_blank" rel="noopener noreferrer">@tisonkun</a></li>
<li><a href="https://github.com/aloyszhang" target="_blank" rel="noopener noreferrer">@aloyszhang</a></li>
<li><a href="https://github.com/mattisonchao" target="_blank" rel="noopener noreferrer">@mattisonchao</a></li>
<li><a href="https://github.com/urfreespace" target="_blank" rel="noopener noreferrer">@urfreespace</a></li>
<li><a href="https://github.com/dlg99" target="_blank" rel="noopener noreferrer">@dlg99</a></li>
<li><a href="https://github.com/nicoloboschi" target="_blank" rel="noopener noreferrer">@nicoloboschi</a></li>
<li><a href="https://github.com/liudezhi2098" target="_blank" rel="noopener noreferrer">@liudezhi2098</a></li>
<li><a href="https://github.com/cbornet" target="_blank" rel="noopener noreferrer">@cbornet</a></li>
</ul>
<p>We also have 4 new members joining the Apache Pulsar <a href="https://www.apache.org/foundation/how-it-works.html#pmc-members" target="_blank" rel="noopener noreferrer">Project Management Committee (PMC)</a> for their merit for the evolution of the project. They are:</p>
<ul>
<li><a href="https://github.com/lhotari" target="_blank" rel="noopener noreferrer">@lhotari</a></li>
<li><a href="https://github.com/michaeljmarshall" target="_blank" rel="noopener noreferrer">@michaeljmarshall</a></li>
<li><a href="https://github.com/Technoboy-" target="_blank" rel="noopener noreferrer">@Technoboy-</a></li>
<li><a href="https://github.com/Jason918" target="_blank" rel="noopener noreferrer">@Jason918</a></li>
</ul>
<p>Congratulations to them all 🎉 ! And we are looking forward to more contributions from more friends in the broader open-source community.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="more-on-pulsar-summit-asia-2022">More on Pulsar Summit Asia 2022<a href="https://pulsar.apache.org/blog/2022/12/01/pulsar-summit-asia-2022-recap/#more-on-pulsar-summit-asia-2022" class="hash-link" aria-label="Direct link to More on Pulsar Summit Asia 2022" title="Direct link to More on Pulsar Summit Asia 2022">​</a></h2>
<p>All the sessions in Pulsar Summit Asia 2022 were pre-recorded and they will be uploaded to this <a href="https://www.youtube.com/@streamnative7594" target="_blank" rel="noopener noreferrer">YouTube account</a> soon. You can also find the complete list of Summit sessions on this <a href="https://pulsar-summit.org/event/asia-2022/schedule" target="_blank" rel="noopener noreferrer">page</a>.</p>
<p>At the same time, we will be working with some of the speakers to convert their speeches into blogs and case studies, which will be published soon.</p>
<p>Feel free to contact us at <a href="mailto:organizers@pulsar-summit.org" target="_blank" rel="noopener noreferrer">organizers@pulsar-summit.org</a> if you have any questions and see you in the next Summit!</p>]]></content>
        <author>
            <name>Sherlock Xu</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Announcing Conference Schedule for Pulsar Summit Asia 2022]]></title>
        <id>https://pulsar.apache.org/blog/2022/11/04/pulsar-summit-asia-2022-schedule-announced/</id>
        <link href="https://pulsar.apache.org/blog/2022/11/04/pulsar-summit-asia-2022-schedule-announced/"/>
        <updated>2022-11-04T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[This August, we concluded Pulsar Summit SF, our first-ever, in-person event in North America. It witnessed over 12 breakout sessions and 5 keynotes with over 200 attendees from Apple, Blizzard, IBM, Optum, Iterable, Twitter, Uber, and many more. As we could see from the conference, there is an increase in the adoption of Pulsar and growing interest in messaging and streaming. And now, we are excited to invite you to Pulsar Summit Aisa 2022 to explore the latest messaging and streaming technologies!]]></summary>
        <content type="html"><![CDATA[<p><img decoding="async" loading="lazy" src="https://pulsar.apache.org/assets/images/pulsar-summit-asia-2022-top-image-9f0c3608846eaa3c4d1ac021d09287a3.jpg" width="855" height="364" class="img_ev3q"></p>
<p>This August, we concluded Pulsar Summit SF, our first-ever, in-person event in North America. It witnessed over 12 breakout sessions and 5 keynotes with over 200 attendees from Apple, Blizzard, IBM, Optum, Iterable, Twitter, Uber, and many more. As we could see from the conference, there is an increase in the adoption of Pulsar and growing interest in messaging and streaming. And now, we are excited to invite you to Pulsar Summit Aisa 2022 to explore the latest messaging and streaming technologies!</p>
<p>Held on November 19th and 20th, this two-day virtual event will feature 36 sessions by developers, engineers, architects, and technologists from ByteDance, Huawei, Tencent, Nippon Telegraph and Telephone Corporation (NTT) Software Innovation Center, Yum China, Netease, vivo, WeChat, Nutanix, StreamNative, and many more. It will include sessions on Pulsar use cases, its ecosystem, operations, and technology deep dives.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="featured-sessions">Featured sessions<a href="https://pulsar.apache.org/blog/2022/11/04/pulsar-summit-asia-2022-schedule-announced/#featured-sessions" class="hash-link" aria-label="Direct link to Featured sessions" title="Direct link to Featured sessions">​</a></h2>
<p>Let’s have a quick look at some of the featured sessions.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="handling-100k-consumers-with-one-topic-practices-and-technical-details-english">Handling 100K Consumers with One Topic: Practices and Technical Details (English)<a href="https://pulsar.apache.org/blog/2022/11/04/pulsar-summit-asia-2022-schedule-announced/#handling-100k-consumers-with-one-topic-practices-and-technical-details-english" class="hash-link" aria-label="Direct link to Handling 100K Consumers with One Topic: Practices and Technical Details (English)" title="Direct link to Handling 100K Consumers with One Topic: Practices and Technical Details (English)">​</a></h3>
<p>Hongjie Zhai, Researcher, NTT Software Innovation Center</p>
<p>With the development of smart factories and connected vehicles, exchanging messages between a considerable number of devices is required for monitoring and controlling systems. In this connection, Apache Pulsar is one of the best solutions to keeping message pipelines simple, real-time, and safe. As the current message brokers are mainly designed for cloud services, users may face performance problems when they have too many consumers. This session will share the practices and technical details of handling 100K consumers with a single Pulsar Topic.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="awesome-pulsar-in-yum-china-english">Awesome Pulsar in Yum China (English)<a href="https://pulsar.apache.org/blog/2022/11/04/pulsar-summit-asia-2022-schedule-announced/#awesome-pulsar-in-yum-china-english" class="hash-link" aria-label="Direct link to Awesome Pulsar in Yum China (English)" title="Direct link to Awesome Pulsar in Yum China (English)">​</a></h3>
<p>Chauncey Yan, Backend Engineer, Yum China</p>
<p>Yum China Holdings, Inc. is the largest restaurant company in China with a vision of becoming the world’s most innovative pioneer in the restaurant industry. After its technical research on next-generation message queue solutions, it ultimately selected Pulsar as the implementation standard of message middleware for its technical middle platform. To date, Pulsar has been widely applied in different scenarios within Yum China such as business middle platform and system observability. This talk will be focused on why Yum China selected Pulsar for production use and its experience of performance tuning.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="streaming-wars-and-how-apache-pulsar-is-acing-the-battle-english">Streaming Wars and How Apache Pulsar is Acing the Battle (English)<a href="https://pulsar.apache.org/blog/2022/11/04/pulsar-summit-asia-2022-schedule-announced/#streaming-wars-and-how-apache-pulsar-is-acing-the-battle-english" class="hash-link" aria-label="Direct link to Streaming Wars and How Apache Pulsar is Acing the Battle (English)" title="Direct link to Streaming Wars and How Apache Pulsar is Acing the Battle (English)">​</a></h3>
<p>Shivji Kumar Jha, Staff Engineer, Nutanix</p>
<p>Sachidananda Maharana, MTS IV, Nutanix</p>
<p>This session will cover the operational challenges Nutanix has faced over the past 4 years when running Pulsar and how Pulsar fits into different use cases given its multi-tenancy and configurability. It will also talk about how Nutanix has aced these challenges to stick to Pulsar and even moved applications from other messaging solutions to Pulsar. It will end with the challenges and learnings on migrating from Kafka and Kinesis to Pulsar.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="pulsar--envoy-building-an-oto-marketing-platform-for-different-business-scenarios-on-microservices-mandarin">Pulsar + Envoy: Building an OTO Marketing Platform for Different Business Scenarios on Microservices (Mandarin)<a href="https://pulsar.apache.org/blog/2022/11/04/pulsar-summit-asia-2022-schedule-announced/#pulsar--envoy-building-an-oto-marketing-platform-for-different-business-scenarios-on-microservices-mandarin" class="hash-link" aria-label="Direct link to Pulsar + Envoy: Building an OTO Marketing Platform for Different Business Scenarios on Microservices (Mandarin)" title="Direct link to Pulsar + Envoy: Building an OTO Marketing Platform for Different Business Scenarios on Microservices (Mandarin)">​</a></h3>
<p>Jason Jiang, Senior Engineer, Tencent</p>
<p>In game marketing, the OTO (One-time Offer) model provides an effective way to improve user experience. A very common OTO scenario is to recommend certain material when the player has met the required conditions. To offer such a capability with low cost and high efficiency, you can use a customized Envoy plugin to support the Pulsar protocol. With Envoy’s flexible routing configurations and various functional plugins, you can provide solutions to different OTO business scenarios with microservices. In this session, Jason Jiang from Tencent will share their experience of using Pulsar and Envoy to create an OTO marketing platform built on microservices for different business scenarios.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="apache-pulsar-in-volcano-engine-e-mapreduce-mandarin">Apache Pulsar in Volcano Engine E-MapReduce (Mandarin)<a href="https://pulsar.apache.org/blog/2022/11/04/pulsar-summit-asia-2022-schedule-announced/#apache-pulsar-in-volcano-engine-e-mapreduce-mandarin" class="hash-link" aria-label="Direct link to Apache Pulsar in Volcano Engine E-MapReduce (Mandarin)" title="Direct link to Apache Pulsar in Volcano Engine E-MapReduce (Mandarin)">​</a></h3>
<p>Xin Liang, Senior Engineer, ByteDance</p>
<p>This session will introduce Volcano Engine E-MapReduce, a stateless, open-source big data platform, as well as the motivation for integrating Pulsar as a new cluster type into the Volcano Engine E-MapReduce ecosystem. It will cover some use cases of Pulsar in Volcano E-MapReduce, especially in real-time data warehouse and stream processing. It will also discuss typical real-time scenarios and common problems, and provide possible solutions powered by Pulsar with related services in Volcano Engine E-MapReduce.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="a-new-way-of-managing-pulsar-with-infrastructure-as-code-mandarin">A New Way of Managing Pulsar with Infrastructure as Code (Mandarin)<a href="https://pulsar.apache.org/blog/2022/11/04/pulsar-summit-asia-2022-schedule-announced/#a-new-way-of-managing-pulsar-with-infrastructure-as-code-mandarin" class="hash-link" aria-label="Direct link to A New Way of Managing Pulsar with Infrastructure as Code (Mandarin)" title="Direct link to A New Way of Managing Pulsar with Infrastructure as Code (Mandarin)">​</a></h3>
<p>Max Xu, Software Engineer, StreamNative</p>
<p>Fushu Wang, Cloud Engineer, StreamNative</p>
<p>Infrastructure as Code (IaC) is the process of managing and provisioning infrastructure resources through code instead of manual configurations. IaC offers the benefits of understandable code, idempotence, and consistency over traditional manual configurations. StreamNative developed the Terraform Provider for Pulsar and the Pulsar Resources Operator, which utilize Terraform and Kubernetes CRDs respectively to provide declarative management of Pulsar resources, such as tenants, namespaces, and topics. In this talk, two engineers from StreamNative will discuss how to leverage these two IaC tools to help you better manage Pulsar.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="stability-optimization-of-apache-pulsar-at-huawei-mobile-services-mandarin">Stability Optimization of Apache Pulsar at Huawei Mobile Services (Mandarin)<a href="https://pulsar.apache.org/blog/2022/11/04/pulsar-summit-asia-2022-schedule-announced/#stability-optimization-of-apache-pulsar-at-huawei-mobile-services-mandarin" class="hash-link" aria-label="Direct link to Stability Optimization of Apache Pulsar at Huawei Mobile Services (Mandarin)" title="Direct link to Stability Optimization of Apache Pulsar at Huawei Mobile Services (Mandarin)">​</a></h3>
<p>Lin Lin, Apache Pulsar PMC Member, SDE Expert, Huawei</p>
<p>HUAWEI Mobile Services is dedicated to enriching users’ lives with next-level content and services that meet every conceivable need and span diverse fields, including smart home, health and fitness, mobile office, apps, smart travel, and entertainment. Currently, HUAWEI Health, AppGallery, HUAWEI Video, and HUAWEI Mobile Cloud are all running on top of HUAWEI Mobile Services. In this session, Lin from Huawei will share their practices of using Apache Pulsar in complex business scenarios at Huawei Mobile Services and propose some of their enhancements for better stability.</p>
<p>To learn more about how companies and organizations today leverage Apache Pulsar for streaming and messaging, especially for mission-critical deployments in production, see the <a href="https://pulsar-summit.org/event/asia-2022/schedule" target="_blank" rel="noopener noreferrer">complete list of sessions</a> in Pulsar Summit Asia 2022.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="how-to-participate">How to participate<a href="https://pulsar.apache.org/blog/2022/11/04/pulsar-summit-asia-2022-schedule-announced/#how-to-participate" class="hash-link" aria-label="Direct link to How to participate" title="Direct link to How to participate">​</a></h2>
<p>Pulsar Summit Asia 2022 is a virtual conference gathering speakers and audiences from different regions. As such, we arranged the conference schedule with time zones, regions, and languages all taken into consideration to provide the best possible experience.</p>
<p>All sessions on Day 1 will be presented in Mandarin, and all talks on Day 2 will be in English. For the Chinese audience, you can register on <a href="https://www.huodongxing.com/event/8674136399923" target="_blank" rel="noopener noreferrer">Huodongxing.com</a> with your WeChat account. For non-Chinese or English audiences, you can register on this <a href="https://streamnative.zoom.us/webinar/register/8616668631199/WN_qKibcbEFTxKv6-MszyFeAg" target="_blank" rel="noopener noreferrer">page</a> to watch the English sessions with Zoom.</p>
<p>Register now for free! Contact us at <a href="mailto:organizers@pulsar-summit.org" target="_blank" rel="noopener noreferrer">organizers@pulsar-summit.org</a> if you have any questions.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="about-the-organizer">About the organizer<a href="https://pulsar.apache.org/blog/2022/11/04/pulsar-summit-asia-2022-schedule-announced/#about-the-organizer" class="hash-link" aria-label="Direct link to About the organizer" title="Direct link to About the organizer">​</a></h2>
<p>StreamNative is the organizer of Pulsar Summit Asia 2022. Founded by the original developers of Apache Pulsar and Apache BookKeeper, StreamNative builds a cloud-native event streaming platform that enables enterprises to easily access data as real-time event streams. As the core developers of Pulsar, the StreamNative team is deeply versed in the technology, the community, and the use cases. Today, StreamNative is focusing on growing the Apache Pulsar and BookKeeper communities and bringing its deep experience across diverse Pulsar use cases to companies across the globe.</p>]]></content>
        <author>
            <name>Sherlock Xu</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[What’s New in Apache Pulsar 2.7.5]]></title>
        <id>https://pulsar.apache.org/blog/2022/09/09/Apache-Pulsar-2-7-5/</id>
        <link href="https://pulsar.apache.org/blog/2022/09/09/Apache-Pulsar-2-7-5/"/>
        <updated>2022-09-09T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[The Apache Pulsar community releases version 2.7.5! 23 contributors provided improvements and bug fixes that delivered 89 commits. Thanks for all your contributions.]]></summary>
        <content type="html"><![CDATA[<p>The Apache Pulsar community releases version 2.7.5! 23 contributors provided improvements and bug fixes that delivered 89 commits. Thanks for all your contributions.</p>
<p>The highlight of the 2.7.5 release is that it fixes some critical bugs on broker, proxy, and storage, including message/data loss, broker deadlock, and connection leak. Note that 2.7.5 is the last release of 2.7.x.</p>
<p>This blog walks through the most noteworthy changes. For the complete list, including all feature enhancements and bug fixes, check out the <a href="https://pulsar.apache.org/release-notes/versioned/pulsar-2.7.5/" target="_blank" rel="noopener noreferrer">Pulsar 2.7.5 Release Notes</a>.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-the-deadlock-on-metadata-cache-missing-while-checking-replications-pr-16889">Fixed the deadlock on metadata cache missing while checking replications. <a href="https://github.com/apache/pulsar/pull/16889" target="_blank" rel="noopener noreferrer">PR-16889</a><a href="https://pulsar.apache.org/blog/2022/09/09/Apache-Pulsar-2-7-5/#fixed-the-deadlock-on-metadata-cache-missing-while-checking-replications-pr-16889" class="hash-link" aria-label="Direct link to fixed-the-deadlock-on-metadata-cache-missing-while-checking-replications-pr-16889" title="Direct link to fixed-the-deadlock-on-metadata-cache-missing-while-checking-replications-pr-16889">​</a></h3>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="issue">Issue<a href="https://pulsar.apache.org/blog/2022/09/09/Apache-Pulsar-2-7-5/#issue" class="hash-link" aria-label="Direct link to Issue" title="Direct link to Issue">​</a></h4>
<p>After the changes in <a href="https://github.com/apache/pulsar/pull/12340" target="_blank" rel="noopener noreferrer">#12340</a>, there are still a couple of places making blocking calls. These calls occupy all the ordered scheduler threads preventing the callbacks from completing until the 30 seconds timeout expires.</p>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="resolution">Resolution<a href="https://pulsar.apache.org/blog/2022/09/09/Apache-Pulsar-2-7-5/#resolution" class="hash-link" aria-label="Direct link to Resolution" title="Direct link to Resolution">​</a></h4>
<p>Change the blocking calls to async mode on the metadata callback thread.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-the-deadlock-when-using-the-key_shared-mode-pr-11965">Fixed the deadlock when using the key_shared mode. <a href="https://github.com/apache/pulsar/pull/11965" target="_blank" rel="noopener noreferrer">PR-11965</a><a href="https://pulsar.apache.org/blog/2022/09/09/Apache-Pulsar-2-7-5/#fixed-the-deadlock-when-using-the-key_shared-mode-pr-11965" class="hash-link" aria-label="Direct link to fixed-the-deadlock-when-using-the-key_shared-mode-pr-11965" title="Direct link to fixed-the-deadlock-when-using-the-key_shared-mode-pr-11965">​</a></h3>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="issue-1">Issue<a href="https://pulsar.apache.org/blog/2022/09/09/Apache-Pulsar-2-7-5/#issue-1" class="hash-link" aria-label="Direct link to Issue" title="Direct link to Issue">​</a></h4>
<p>When the key_shared mode is used in consumers, deadlock may happen in the broker due to some race conditions and result in a lot of <code>CLOSE_WAIT</code> status connections.</p>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="resolution-1">Resolution<a href="https://pulsar.apache.org/blog/2022/09/09/Apache-Pulsar-2-7-5/#resolution-1" class="hash-link" aria-label="Direct link to Resolution" title="Direct link to Resolution">​</a></h4>
<p>Change unlock before the callback in the <code>asyncDelete</code> function of <code>ManagedCursorImpl</code>.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-the-message-loss-issue-due-to-ledger-rollover-pr-14703">Fixed the message loss issue due to ledger rollover. <a href="https://github.com/apache/pulsar/pull/14703" target="_blank" rel="noopener noreferrer">PR-14703</a><a href="https://pulsar.apache.org/blog/2022/09/09/Apache-Pulsar-2-7-5/#fixed-the-message-loss-issue-due-to-ledger-rollover-pr-14703" class="hash-link" aria-label="Direct link to fixed-the-message-loss-issue-due-to-ledger-rollover-pr-14703" title="Direct link to fixed-the-message-loss-issue-due-to-ledger-rollover-pr-14703">​</a></h3>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="issue-2">Issue<a href="https://pulsar.apache.org/blog/2022/09/09/Apache-Pulsar-2-7-5/#issue-2" class="hash-link" aria-label="Direct link to Issue" title="Direct link to Issue">​</a></h4>
<p>If users config <code>managedLedgerMaxLedgerRolloverTimeMinutes &gt; 0</code>, and the rollover happens when the ManagedLedger state is <code>CreatingLedger</code>, the messages written during that time are lost.</p>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="resolution-2">Resolution<a href="https://pulsar.apache.org/blog/2022/09/09/Apache-Pulsar-2-7-5/#resolution-2" class="hash-link" aria-label="Direct link to Resolution" title="Direct link to Resolution">​</a></h4>
<p>Rollover only when the ledger state is <code>LedgerOpened</code>.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-the-port-exhaustion-and-connection-issues-in-pulsar-proxy-pr-14078">Fixed the port exhaustion and connection issues in Pulsar Proxy. <a href="https://github.com/apache/pulsar/pull/14078" target="_blank" rel="noopener noreferrer">PR-14078</a><a href="https://pulsar.apache.org/blog/2022/09/09/Apache-Pulsar-2-7-5/#fixed-the-port-exhaustion-and-connection-issues-in-pulsar-proxy-pr-14078" class="hash-link" aria-label="Direct link to fixed-the-port-exhaustion-and-connection-issues-in-pulsar-proxy-pr-14078" title="Direct link to fixed-the-port-exhaustion-and-connection-issues-in-pulsar-proxy-pr-14078">​</a></h3>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="issue-3">Issue<a href="https://pulsar.apache.org/blog/2022/09/09/Apache-Pulsar-2-7-5/#issue-3" class="hash-link" aria-label="Direct link to Issue" title="Direct link to Issue">​</a></h4>
<p>Pulsar Proxy can get into a state where it stops proxying Broker connections while Admin API proxying keeps working.</p>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="resolution-3">Resolution<a href="https://pulsar.apache.org/blog/2022/09/09/Apache-Pulsar-2-7-5/#resolution-3" class="hash-link" aria-label="Direct link to Resolution" title="Direct link to Resolution">​</a></h4>
<p>Optimize the proxy connection to fail-fast when the target broker isn't active.
Fix the race conditions in Pulsar Proxy when establishing a connection, leading to invalid states and hanging connections.
Add connection timeout handling to proxy connections.
Add read timeout handling to incoming connections and proxied connections.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-the-compaction-data-loss-due-to-missed-compaction-properties-during-cursor-reset-pr-16404">Fixed the compaction data loss due to missed compaction properties during cursor reset. <a href="https://github.com/apache/pulsar/pull/16404" target="_blank" rel="noopener noreferrer">PR-16404</a><a href="https://pulsar.apache.org/blog/2022/09/09/Apache-Pulsar-2-7-5/#fixed-the-compaction-data-loss-due-to-missed-compaction-properties-during-cursor-reset-pr-16404" class="hash-link" aria-label="Direct link to fixed-the-compaction-data-loss-due-to-missed-compaction-properties-during-cursor-reset-pr-16404" title="Direct link to fixed-the-compaction-data-loss-due-to-missed-compaction-properties-during-cursor-reset-pr-16404">​</a></h3>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="issue-4">Issue<a href="https://pulsar.apache.org/blog/2022/09/09/Apache-Pulsar-2-7-5/#issue-4" class="hash-link" aria-label="Direct link to Issue" title="Direct link to Issue">​</a></h4>
<p>The compaction reader seeks the earliest position to read data from the topic, but the compaction properties are missed during cursor reset, which leads to the initialized compaction subscribe without a compaction horizon, so the compaction reader skips the last compacted data. It only happens when initializing the compaction subscription and can be introduced by the load balance or topic unloading manually.</p>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="resolution-4">Resolution<a href="https://pulsar.apache.org/blog/2022/09/09/Apache-Pulsar-2-7-5/#resolution-4" class="hash-link" aria-label="Direct link to Resolution" title="Direct link to Resolution">​</a></h4>
<p>Keep the properties for resetting the cursor while the cursor is for data compaction.
Copy the properties to the new mark delete entry while advancing the cursor, which is triggered by the managed ledger internal. It's not only for the compacted topic, and the internal task should not lose the properties when trimming the cursor.</p>
<h1>What’s Next?</h1>
<p>If you are interested in learning more about Pulsar 2.7.5, you can <a href="https://pulsar.apache.org/en/versions/" target="_blank" rel="noopener noreferrer">download</a> and try it out now!</p>
<p>For more information about the Apache Pulsar project and current progress, visit the <a href="https://pulsar.apache.org/" target="_blank" rel="noopener noreferrer">Pulsar website</a>, follow the project on Twitter <a href="https://twitter.com/apache_pulsar" target="_blank" rel="noopener noreferrer">@apache_pulsar</a>, and join <a href="https://apache-pulsar.herokuapp.com/" target="_blank" rel="noopener noreferrer">Pulsar Slack</a>!</p>]]></content>
        <author>
            <name>Jason918, momo-jun</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Pulsar Summit Asia 2022: CFP Is Open Now!]]></title>
        <id>https://pulsar.apache.org/blog/2022/08/22/pulsar-summit-asia-2022-cfp/</id>
        <link href="https://pulsar.apache.org/blog/2022/08/22/pulsar-summit-asia-2022-cfp/"/>
        <updated>2022-08-22T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Pulsar Summit is the conference dedicated to Apache Pulsar, and the messaging and event streaming community. The conference gathers an international audience of developers, data architects, data scientists, Apache Pulsar committers and contributors, as well as the messaging and streaming community. Together, they share experiences, exchange ideas and knowledge, and receive hands-on training sessions led by Pulsar experts.]]></summary>
        <content type="html"><![CDATA[<p>Pulsar Summit is the conference dedicated to Apache Pulsar, and the messaging and event streaming community. The conference gathers an international audience of developers, data architects, data scientists, Apache Pulsar committers and contributors, as well as the messaging and streaming community. Together, they share experiences, exchange ideas and knowledge, and receive hands-on training sessions led by Pulsar experts.</p>
<p>In January this year, Pulsar Summit Asia 2021 (delayed due to the COVID-19 pandemic) featured more than 25 interactive sessions by technologists, developers, software engineers, and software architects from StreamNative, BIGO, China Mobile, Nutanix, Tencent, and more. The conference drew over 1000 attendees around the world, including attendees from top technology, internet, and media companies, such as Tencent, TikTok, Alibaba, and Microsoft.</p>
<p>Pulsar Summit Asia 2022 will be hosted virtually on November 19th and 20th, 2022. It is expected to cover the pivotal topics and technologies at the core of Apache Pulsar.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="join-us-and-speak-at-pulsar-summit-asia-2022">Join us and speak at Pulsar Summit Asia 2022<a href="https://pulsar.apache.org/blog/2022/08/22/pulsar-summit-asia-2022-cfp/#join-us-and-speak-at-pulsar-summit-asia-2022" class="hash-link" aria-label="Direct link to Join us and speak at Pulsar Summit Asia 2022" title="Direct link to Join us and speak at Pulsar Summit Asia 2022">​</a></h2>
<p>Share your Pulsar story and speak at the summit! It is a great opportunity to participate and raise your profile in the rapidly growing Apache Pulsar community. We are looking for Pulsar stories that are innovative, informative, or thought-provoking. Here are some suggestions:</p>
<ul>
<li>Use cases, operations, tools, techniques, or the Pulsar ecosystem</li>
<li>A deep dive into technologies</li>
<li>Best practices and lessons learned</li>
<li>A Pulsar success story or case study</li>
<li>Anything else related to Pulsar that inspires the audience</li>
</ul>
<p>To speak at the summit, <a href="https://sessionize.com/pulsar-summit-asia-2022/" target="_blank" rel="noopener noreferrer">submit an abstract</a> about your session. All levels of talks (beginner, intermediate, and advanced) are welcome. Remember to keep your proposal short, relevant, and engaging. The following session formats are acceptable:</p>
<ul>
<li><strong>Presentation</strong>: 40-minute presentation, maximum of 2 speakers</li>
<li><strong>Panel</strong>: 40-minute of discussion amongst 3 to 5 speakers</li>
<li><strong>Workshop</strong>: 60-90 minutes, in-depth, hands-on tutorials, maximum of 2 speakers</li>
<li><strong>Lightning talk</strong>: 10-minute presentation, maximum of 2 speakers</li>
</ul>
<p>You need to pre-record your session after the proposal is approved. For time zone and network reasons, we do not recommend speakers present their talk live.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="dates-to-remember">Dates to remember<a href="https://pulsar.apache.org/blog/2022/08/22/pulsar-summit-asia-2022-cfp/#dates-to-remember" class="hash-link" aria-label="Direct link to Dates to remember" title="Direct link to Dates to remember">​</a></h2>
<ul>
<li><strong>CFP opens</strong>: August 22nd, 2022</li>
<li><strong>CFP closes</strong>: October 9th, 2022</li>
<li><strong>CFP notifications</strong>: October 19th, 2022</li>
<li><strong>Schedule announcement</strong>: November 4th, 2022</li>
<li><strong>Event dates</strong>: November 19th, 2022 - November 20th, 2022</li>
</ul>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="sponsor-pulsar-summit">Sponsor Pulsar Summit<a href="https://pulsar.apache.org/blog/2022/08/22/pulsar-summit-asia-2022-cfp/#sponsor-pulsar-summit" class="hash-link" aria-label="Direct link to Sponsor Pulsar Summit" title="Direct link to Sponsor Pulsar Summit">​</a></h2>
<p>Pulsar Summit is a conference for the community and your support is needed. Sponsoring this event provides a great opportunity for your organization to further engage with the Apache Pulsar community. For more information on becoming a sponsor, contact us at <a href="mailto:organizers@pulsar-summit.org" target="_blank" rel="noopener noreferrer">organizers@pulsar-summit.org</a>.</p>
<p>Help us make #PulsarSummit Asia 2022 a big success by spreading the word and submitting your proposal! Follow us on Twitter (<a href="https://twitter.com/PulsarSummit" target="_blank" rel="noopener noreferrer">@pulsarsummit</a>) to receive the latest updates on the summit!</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="about-apache-pulsar">About Apache Pulsar<a href="https://pulsar.apache.org/blog/2022/08/22/pulsar-summit-asia-2022-cfp/#about-apache-pulsar" class="hash-link" aria-label="Direct link to About Apache Pulsar" title="Direct link to About Apache Pulsar">​</a></h2>
<p>Apache Pulsar is a cloud-native, distributed messaging and streaming platform that empowers companies around the world to manage trillions of events per day. The Pulsar community has witnessed rapid growth since it became a top-level Apache Software Foundation project in 2018. Over the past four years, the vibrant community keeps driving innovation and improvements to the project.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="about-the-organizer">About the organizer<a href="https://pulsar.apache.org/blog/2022/08/22/pulsar-summit-asia-2022-cfp/#about-the-organizer" class="hash-link" aria-label="Direct link to About the organizer" title="Direct link to About the organizer">​</a></h2>
<p>StreamNative is the organizer of Pulsar Summit Asia 2022. Founded by the original developers of Apache Pulsar and Apache BookKeeper, StreamNative builds a cloud-native event streaming platform that enables enterprises to easily access data as real-time event streams. As the core developers of Pulsar, the StreamNative team is deeply versed in the technology, the community, and the use cases. Today, StreamNative is focusing on growing the Apache Pulsar and BookKeeper communities and bringing its deep experience across diverse Pulsar use cases to companies across the globe.</p>]]></content>
        <author>
            <name>Sherlock Xu</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[What’s New in Apache Pulsar 2.9.3]]></title>
        <id>https://pulsar.apache.org/blog/2022/07/27/Apache-Pulsar-2-9-3/</id>
        <link href="https://pulsar.apache.org/blog/2022/07/27/Apache-Pulsar-2-9-3/"/>
        <updated>2022-07-27T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[The Apache Pulsar community releases version 2.9.3! 50 contributors provided improvements and bug fixes that delivered 200+ commits. Thanks for all your contributions.]]></summary>
        <content type="html"><![CDATA[<p>The Apache Pulsar community releases version 2.9.3! 50 contributors provided improvements and bug fixes that delivered 200+ commits. Thanks for all your contributions.</p>
<p>The highlight of the 2.9.3 release is introducing 30+ transaction fixes and improvements. Earlier-adoption users of Pulsar transactions have documented long-term use in their production environments and reported valuable findings in real applications. This provides the Pulsar community with the opportunity to make a difference.</p>
<p>This blog walks through the most noteworthy changes. For the complete list including all feature enhancements and bug fixes, check out the <a href="https://pulsar.apache.org/release-notes/versioned/pulsar-2.9.3/" target="_blank" rel="noopener noreferrer">Pulsar 2.9.3 Release Notes</a>.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="enabled-cursor-data-compression-to-reduce-persistent-cursor-data-size-14542">Enabled cursor data compression to reduce persistent cursor data size. <a href="https://github.com/apache/pulsar/pull/14542" target="_blank" rel="noopener noreferrer">14542</a><a href="https://pulsar.apache.org/blog/2022/07/27/Apache-Pulsar-2-9-3/#enabled-cursor-data-compression-to-reduce-persistent-cursor-data-size-14542" class="hash-link" aria-label="Direct link to enabled-cursor-data-compression-to-reduce-persistent-cursor-data-size-14542" title="Direct link to enabled-cursor-data-compression-to-reduce-persistent-cursor-data-size-14542">​</a></h3>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="issue">Issue<a href="https://pulsar.apache.org/blog/2022/07/27/Apache-Pulsar-2-9-3/#issue" class="hash-link" aria-label="Direct link to Issue" title="Direct link to Issue">​</a></h4>
<p>The cursor data is managed by the ZooKeeper/Etcd metadata store. When the data size increases, it may take too much time to pull the data, and brokers may end up writing large chunks of data to the ZooKeeper/Etcd metadata store.</p>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="resolution">Resolution<a href="https://pulsar.apache.org/blog/2022/07/27/Apache-Pulsar-2-9-3/#resolution" class="hash-link" aria-label="Direct link to Resolution" title="Direct link to Resolution">​</a></h4>
<p>Provide the ability to enable compression mechanisms to reduce cursor data size and the pulling time.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="reduced-the-memory-occupied-by-metadatapositions-and-avoid-oom-15137">Reduced the memory occupied by <code>metadataPositions</code> and avoid OOM. <a href="https://github.com/apache/pulsar/pull/15137" target="_blank" rel="noopener noreferrer">15137</a><a href="https://pulsar.apache.org/blog/2022/07/27/Apache-Pulsar-2-9-3/#reduced-the-memory-occupied-by-metadatapositions-and-avoid-oom-15137" class="hash-link" aria-label="Direct link to reduced-the-memory-occupied-by-metadatapositions-and-avoid-oom-15137" title="Direct link to reduced-the-memory-occupied-by-metadatapositions-and-avoid-oom-15137">​</a></h3>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="issue-1">Issue<a href="https://pulsar.apache.org/blog/2022/07/27/Apache-Pulsar-2-9-3/#issue-1" class="hash-link" aria-label="Direct link to Issue" title="Direct link to Issue">​</a></h4>
<p>The map <code>metadataPositions</code> in MLPendingAckStore is used to clear useless data in PendingAck, where the key is the position that is persistent in PendingAck and the value is the max position acked by an operation. It judges whether the max subscription cursor position is smaller than the subscription cursor’s <code>markDeletePosition</code>. If the max position is smaller, then the log cursor will mark to delete the position. It causes two main issues:</p>
<ul>
<li>In normal cases, this map stores all transaction ack operations. This is a waste of memory and CPU.</li>
<li>If a transaction that has not been committed for a long time acks a message in a later position, the map will not be cleaned up, which finally leads to OOM (out-of-memory).</li>
</ul>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="resolution-1">Resolution<a href="https://pulsar.apache.org/blog/2022/07/27/Apache-Pulsar-2-9-3/#resolution-1" class="hash-link" aria-label="Direct link to Resolution" title="Direct link to Resolution">​</a></h4>
<p>Regularly store a small amount of data according to certain rules. For more detailed implementation, refer to <a href="https://github.com/apache/pulsar/issues/15073" target="_blank" rel="noopener noreferrer">PIP-153</a>.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="checked-lowwatermark-before-appending-transaction-entries-to-transaction-buffer-15424">Checked <code>lowWaterMark</code> before appending transaction entries to Transaction Buffer. <a href="https://github.com/apache/pulsar/pull/15424" target="_blank" rel="noopener noreferrer">15424</a><a href="https://pulsar.apache.org/blog/2022/07/27/Apache-Pulsar-2-9-3/#checked-lowwatermark-before-appending-transaction-entries-to-transaction-buffer-15424" class="hash-link" aria-label="Direct link to checked-lowwatermark-before-appending-transaction-entries-to-transaction-buffer-15424" title="Direct link to checked-lowwatermark-before-appending-transaction-entries-to-transaction-buffer-15424">​</a></h3>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="issue-2">Issue<a href="https://pulsar.apache.org/blog/2022/07/27/Apache-Pulsar-2-9-3/#issue-2" class="hash-link" aria-label="Direct link to Issue" title="Direct link to Issue">​</a></h4>
<p>When a client sends messages using a previously committed transaction, these messages are visible to consumers unexpectedly.</p>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="resolution-2">Resolution<a href="https://pulsar.apache.org/blog/2022/07/27/Apache-Pulsar-2-9-3/#resolution-2" class="hash-link" aria-label="Direct link to Resolution" title="Direct link to Resolution">​</a></h4>
<p>Add a map to store the <code>lowWaterMark</code> of Transaction Coordinator in Trasanction Buffer, and check <code>lowWaterMark</code> before appending transaction entries to Trasanction Buffer. So when sending messages using an invalid transaction, clients will receive <code>NotAllowedException</code>.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-the-consumption-performance-regression-pr-15162">Fixed the consumption performance regression. <a href="https://github.com/apache/pulsar/pull/15162" target="_blank" rel="noopener noreferrer">PR-15162</a><a href="https://pulsar.apache.org/blog/2022/07/27/Apache-Pulsar-2-9-3/#fixed-the-consumption-performance-regression-pr-15162" class="hash-link" aria-label="Direct link to fixed-the-consumption-performance-regression-pr-15162" title="Direct link to fixed-the-consumption-performance-regression-pr-15162">​</a></h3>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="issue-3">Issue<a href="https://pulsar.apache.org/blog/2022/07/27/Apache-Pulsar-2-9-3/#issue-3" class="hash-link" aria-label="Direct link to Issue" title="Direct link to Issue">​</a></h4>
<p>This performance regression was introduced in 2.10.0, 2.9.1, and 2.8.3. You may find a significant performance drop with message listeners while using Java Client. The root cause is each message will introduce the thread switching from the external thread pool to the internal thread poll and then to the external thread pool.</p>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="resolution-3">Resolution<a href="https://pulsar.apache.org/blog/2022/07/27/Apache-Pulsar-2-9-3/#resolution-3" class="hash-link" aria-label="Direct link to Resolution" title="Direct link to Resolution">​</a></h4>
<p>Avoid the thread switching for each message to improve consumption throughput.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-a-deadlock-issue-of-topic-creation-pr-15570">Fixed a deadlock issue of topic creation. <a href="https://github.com/apache/pulsar/pull/15570" target="_blank" rel="noopener noreferrer">PR-15570</a><a href="https://pulsar.apache.org/blog/2022/07/27/Apache-Pulsar-2-9-3/#fixed-a-deadlock-issue-of-topic-creation-pr-15570" class="hash-link" aria-label="Direct link to fixed-a-deadlock-issue-of-topic-creation-pr-15570" title="Direct link to fixed-a-deadlock-issue-of-topic-creation-pr-15570">​</a></h3>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="issue-4">Issue<a href="https://pulsar.apache.org/blog/2022/07/27/Apache-Pulsar-2-9-3/#issue-4" class="hash-link" aria-label="Direct link to Issue" title="Direct link to Issue">​</a></h4>
<p>This deadlock issue occurred during topic creation by trying to re-acquire the same <code>StampedLock</code> from the same thread when removing it. This will cause the topic to stop service for a long time, and ultimately with a failure in the deduplication or geo-replication check. The workaround is restarting the broker.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="optimized-the-memory-usage-of-brokers">Optimized the memory usage of brokers.<a href="https://pulsar.apache.org/blog/2022/07/27/Apache-Pulsar-2-9-3/#optimized-the-memory-usage-of-brokers" class="hash-link" aria-label="Direct link to Optimized the memory usage of brokers." title="Direct link to Optimized the memory usage of brokers.">​</a></h3>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="issue-5">Issue<a href="https://pulsar.apache.org/blog/2022/07/27/Apache-Pulsar-2-9-3/#issue-5" class="hash-link" aria-label="Direct link to Issue" title="Direct link to Issue">​</a></h4>
<p>Pulsar has some internal data structures, such as <code>ConcurrentLongLongPairHashMap</code>, and <code>ConcurrentLongPairHashMap</code>, which can reduce the memory usage rather than using the Boxing type. However, in earlier versions, the data structures were not supported for shrinking even if the data was removed, which wasted a certain amount of memory in certain situations.</p>
<p><strong>Pull requests</strong></p>
<ul>
<li><a href="https://github.com/apache/pulsar/pull/15354" target="_blank" rel="noopener noreferrer">https://github.com/apache/pulsar/pull/15354</a></li>
<li><a href="https://github.com/apache/pulsar/pull/15342" target="_blank" rel="noopener noreferrer">https://github.com/apache/pulsar/pull/15342</a></li>
<li><a href="https://github.com/apache/pulsar/pull/14663" target="_blank" rel="noopener noreferrer">https://github.com/apache/pulsar/pull/14663</a></li>
<li><a href="https://github.com/apache/pulsar/pull/14515" target="_blank" rel="noopener noreferrer">https://github.com/apache/pulsar/pull/14515</a></li>
<li><a href="https://github.com/apache/pulsar/pull/14497" target="_blank" rel="noopener noreferrer">https://github.com/apache/pulsar/pull/14497</a></li>
</ul>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id="resolution-4">Resolution<a href="https://pulsar.apache.org/blog/2022/07/27/Apache-Pulsar-2-9-3/#resolution-4" class="hash-link" aria-label="Direct link to Resolution" title="Direct link to Resolution">​</a></h4>
<p>Support the shrinking of the internal data structures, such as <code>ConcurrentSortedLongPairSet</code>, <code>ConcurrentOpenHashMap</code>, and so on.</p>
<h1>What’s Next?</h1>
<p>If you are interested in learning more about Pulsar 2.9.3, you can <a href="https://pulsar.apache.org/versions/" target="_blank" rel="noopener noreferrer">download</a> and try it out now!</p>
<p><strong>Pulsar Summit San Francisco 2022</strong> will take place on August 18th, 2022. <a href="https://pulsar-summit.org/" target="_blank" rel="noopener noreferrer">Register now</a> and help us make it an even bigger success by spreading the word on social media!</p>
<p>For more information about the Apache Pulsar project and current progress, visit
the <a href="https://pulsar.apache.org/" target="_blank" rel="noopener noreferrer">Pulsar website</a>, follow the project on Twitter
<a href="https://twitter.com/apache_pulsar" target="_blank" rel="noopener noreferrer">@apache_pulsar</a>, and join <a href="https://apache-pulsar.herokuapp.com/" target="_blank" rel="noopener noreferrer">Pulsar Slack</a>!</p>]]></content>
        <author>
            <name>mattisonchao, momo-jun</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Apache Pulsar Sessions in ApacheCon Asia 2022: Join Us Now and Check the Schedule]]></title>
        <id>https://pulsar.apache.org/blog/2022/07/26/pulsar-sessions-in-apachecon-aisa-2022/</id>
        <link href="https://pulsar.apache.org/blog/2022/07/26/pulsar-sessions-in-apachecon-aisa-2022/"/>
        <updated>2022-07-26T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[We are excited to invite you to ApacheCon Asia 2022 to explore the newest tools and tips, and connect with subject-matter experts in various Apache Pulsar-related sessions. The Apache Software Foundation will be holding ApacheCon Asia 2022 online between July 29th and July 31st, 2022. Register now for free to join us for this inspiring three-day event of cutting-edge technologies.]]></summary>
        <content type="html"><![CDATA[<p>We are excited to invite you to <a href="https://apachecon.com/acasia2022/index.html" target="_blank" rel="noopener noreferrer">ApacheCon Asia 2022</a> to explore the newest tools and tips, and connect with subject-matter experts in various Apache Pulsar-related sessions. The Apache Software Foundation will be holding ApacheCon Asia 2022 online between July 29th and July 31st, 2022. <a href="https://apachecon.com/acasia2022/register.html" target="_blank" rel="noopener noreferrer">Register now for free</a> to join us for this inspiring three-day event of cutting-edge technologies.</p>
<p>The conference gathers adopters, developers, engineers, and technologists from some of the most influential open source communities in the world. To date, there has been a total of over 200 proposals submitted by presenters from Intel, Huawei, Tencent Cloud, StreamNative, Sina Weibo, vivo, and many more. Nearly 50 of these sessions are related to streaming and messaging, 30 of which are focused on Apache Pulsar-based technologies.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="featured-sessions">Featured sessions<a href="https://pulsar.apache.org/blog/2022/07/26/pulsar-sessions-in-apachecon-aisa-2022/#featured-sessions" class="hash-link" aria-label="Direct link to Featured sessions" title="Direct link to Featured sessions">​</a></h2>
<p>Let’s have a quick look at some of the featured sessions in messaging and streaming, ranging from technical deep dives, best practices, to tutorials, and insights.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="flipn-awesome-streaming-with-open-source-english">FLiPN Awesome Streaming with Open Source (English)<a href="https://pulsar.apache.org/blog/2022/07/26/pulsar-sessions-in-apachecon-aisa-2022/#flipn-awesome-streaming-with-open-source-english" class="hash-link" aria-label="Direct link to FLiPN Awesome Streaming with Open Source (English)" title="Direct link to FLiPN Awesome Streaming with Open Source (English)">​</a></h3>
<p>Timothy Spann, Developer Advocate, StreamNative</p>
<p>In this talk, Tim will walk through how to build different types of streaming applications by using Apache NiFi, Apache Flink, Apache Spark, and Apache Pulsar together. The session will demonstrate how to ingest various data and REST feeds to enrich data and send them to Apache Pulsar. Applications will be built on top of the live streaming data with Web socket dashboards, Apache Spark SQL ETL, and Apache Flink continuous SQL.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="introducing-tableview-pulsars-database-table-abstraction-english">Introducing TableView: Pulsar's Database Table Abstraction (English)<a href="https://pulsar.apache.org/blog/2022/07/26/pulsar-sessions-in-apachecon-aisa-2022/#introducing-tableview-pulsars-database-table-abstraction-english" class="hash-link" aria-label="Direct link to Introducing TableView: Pulsar's Database Table Abstraction (English)" title="Direct link to Introducing TableView: Pulsar's Database Table Abstraction (English)">​</a></h3>
<p>David Kjerrumgaard, Apache Pulsar Committer, Developer Advocate, StreamNative</p>
<p>In many use cases, applications are using Pulsar consumers or readers to fetch all the updates from a topic and construct a map with the latest value of each key for the messages that were received. The new TableView consumer offers support for this access pattern directly in the Pulsar client API itself and encapsulates the complexities of manually constructing such local caches manually. This talk will demonstrate how to use the new TableView consumer using a simple application and discuss best practices and patterns for using the TableView consumer.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="route-to-the-next-generation-message-middleware-how-vivo-migrated-to-pulsar-mandarin">Route to the Next-Generation Message Middleware: How vivo Migrated to Pulsar (Mandarin)<a href="https://pulsar.apache.org/blog/2022/07/26/pulsar-sessions-in-apachecon-aisa-2022/#route-to-the-next-generation-message-middleware-how-vivo-migrated-to-pulsar-mandarin" class="hash-link" aria-label="Direct link to Route to the Next-Generation Message Middleware: How vivo Migrated to Pulsar (Mandarin)" title="Direct link to Route to the Next-Generation Message Middleware: How vivo Migrated to Pulsar (Mandarin)">​</a></h3>
<p>Limin Quan, Jianbo Chen, Big Data Engineer, vivo</p>
<p>vivo has used Kafka to support its business with over 1000 billion messages per day. Now, it has migrated to Apache Pulsar as its next-generation message middleware to handle an even larger amount of data. In this talk, Quan and Chen will share the reasons behind vivo’s choice of Apache Pulsar and how vivo has worked to put Pulsar into practice (for example, migrating plans and troubleshooting tips).</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="practice-and-optimization-apache-pulsar-in-tencent-cloud-mandarin">Practice and Optimization: Apache Pulsar in Tencent Cloud (Mandarin)<a href="https://pulsar.apache.org/blog/2022/07/26/pulsar-sessions-in-apachecon-aisa-2022/#practice-and-optimization-apache-pulsar-in-tencent-cloud-mandarin" class="hash-link" aria-label="Direct link to Practice and Optimization: Apache Pulsar in Tencent Cloud (Mandarin)" title="Direct link to Practice and Optimization: Apache Pulsar in Tencent Cloud (Mandarin)">​</a></h3>
<p>Xiaolong Ran, Apache Pulsar Committer, Senior R&amp;D Engineer, Tencent Cloud</p>
<p>As Apache Pulsar has been put into production at scale in Tencent Cloud, it is widely used in different scenarios supporting companies and organizations across industries. To bring the experience to another level, Tencent has worked out a series of strategies in terms of optimization and stability. In this talk, Ran will focus on Tencent Cloud's work on performance optimization and shed light upon some of the best practices and troubleshooting tips for using Apache Pulsar.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="apache-pulsar-as-lakehouse-introducing-the-lakehouse-tiered-storage-integration-for-apache-pulsar-mandarin">Apache Pulsar as Lakehouse: Introducing the Lakehouse Tiered Storage Integration for Apache Pulsar (Mandarin)<a href="https://pulsar.apache.org/blog/2022/07/26/pulsar-sessions-in-apachecon-aisa-2022/#apache-pulsar-as-lakehouse-introducing-the-lakehouse-tiered-storage-integration-for-apache-pulsar-mandarin" class="hash-link" aria-label="Direct link to Apache Pulsar as Lakehouse: Introducing the Lakehouse Tiered Storage Integration for Apache Pulsar (Mandarin)" title="Direct link to Apache Pulsar as Lakehouse: Introducing the Lakehouse Tiered Storage Integration for Apache Pulsar (Mandarin)">​</a></h3>
<p>Hang Chen, Apache Pulsar PMC member, Software Engineer, StreamNative</p>
<p>Currently, tiered storage is introduced to offload cold data, while they are managed by Apache Pulsar in a non-open format. Therefore, it is very difficult to integrate the data into other big data components, such as Flink SQL and Spark SQL. In this talk, Chen will explain how to use Lakehouse to manage offloaded data and integrate it with the cold data offloading mechanism.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="build-high-performance-apache-pulsar-with-intel-optane-persistent-memory-mandarin">Build High-Performance Apache Pulsar with Intel Optane Persistent Memory (Mandarin)<a href="https://pulsar.apache.org/blog/2022/07/26/pulsar-sessions-in-apachecon-aisa-2022/#build-high-performance-apache-pulsar-with-intel-optane-persistent-memory-mandarin" class="hash-link" aria-label="Direct link to Build High-Performance Apache Pulsar with Intel Optane Persistent Memory (Mandarin)" title="Direct link to Build High-Performance Apache Pulsar with Intel Optane Persistent Memory (Mandarin)">​</a></h3>
<p>Fenghua Hu, Cloud Software Architect, Intel</p>
<p>Intel Optane persistent memory (PMem) is a revolutionary memory product, which features high performance, large capacity, storage persistence, and more. In this talk, Hu will demonstrate how to use Intel Optane PMem to bring Apache Pulsar’s ability of high throughput and low latency to another level and effectively cope with performance-demanding scenarios.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="the-evolution-of-apache-pulsar-as-a-message-queue-in-huawei-device-mandarin">The Evolution of Apache Pulsar as A Message Queue in Huawei Device (Mandarin)<a href="https://pulsar.apache.org/blog/2022/07/26/pulsar-sessions-in-apachecon-aisa-2022/#the-evolution-of-apache-pulsar-as-a-message-queue-in-huawei-device-mandarin" class="hash-link" aria-label="Direct link to The Evolution of Apache Pulsar as A Message Queue in Huawei Device (Mandarin)" title="Direct link to The Evolution of Apache Pulsar as A Message Queue in Huawei Device (Mandarin)">​</a></h3>
<p>Lin Lin, Apache Pulsar PMC member, SDE Expert, Huawei Device</p>
<p>Xiaotong Wang, Senior Engineer, Huawei Device</p>
<p>In the cloud-native era, Huawei Device is faced with many challenges in message queue infrastructure, such as maintenance difficulties in different message queue solutions, high overheads, and disaster tolerance ability building. This talk will cover Huawei Device’s experience in redesigning its message queue architecture and present some solutions to these problems.</p>
<p>To learn more about how companies and organizations today leverage Apache Pulsar for streaming and messaging, serverless computing, and mission-critical deployments in production, see other Apache Pulsar-related sessions in <a href="https://apachecon.com/acasia2022/tracks/streaming.html" target="_blank" rel="noopener noreferrer">streaming</a> and <a href="https://apachecon.com/acasia2022/tracks/messaging.html" target="_blank" rel="noopener noreferrer">messaging</a> tracks respectively.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="how-to-participate">How to participate<a href="https://pulsar.apache.org/blog/2022/07/26/pulsar-sessions-in-apachecon-aisa-2022/#how-to-participate" class="hash-link" aria-label="Direct link to How to participate" title="Direct link to How to participate">​</a></h2>
<p><a href="https://apachecon.com/acasia2022/register.html" target="_blank" rel="noopener noreferrer">Register</a> now for free.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="more-resources">More resources<a href="https://pulsar.apache.org/blog/2022/07/26/pulsar-sessions-in-apachecon-aisa-2022/#more-resources" class="hash-link" aria-label="Direct link to More resources" title="Direct link to More resources">​</a></h2>
<p>As we can see from topics submitted to ApacheCon Asia 2022, Apache Pulsar has become <a href="https://blogs.apache.org/foundation/entry/apache-in-2021-by-the" target="_blank" rel="noopener noreferrer">one of the most active Apache projects</a> over the past few years, with a vibrant community that continues to drive innovation and improvements to the project.</p>
<ol>
<li>Save your spot at the Pulsar Summit San Francisco. The first in-person Pulsar Summit is taking place this August! <a href="https://pulsar-summit.org/" target="_blank" rel="noopener noreferrer">Sign up today</a> to join the Pulsar community and the messaging and event streaming community.</li>
<li>Join the Apache Pulsar community. <a href="https://pulsar.apache.org/community#section-welcome" target="_blank" rel="noopener noreferrer">Subscribe to the Pulsar mailing lists</a> for user-related or Pulsar development discussions. You can also <a href="https://apache-pulsar.herokuapp.com/" target="_blank" rel="noopener noreferrer">join the Pulsar Slack</a> to ask quick questions or discuss specialized topics.</li>
</ol>]]></content>
        <author>
            <name>Sherlock Xu</name>
        </author>
    </entry>
</feed>