blob: 93b3aa7d3cfa83b82546d5fccb5834737bc83f5d [file] [log] [blame]
<!doctype html>
<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-release-notes docs-doc-id-versioned/pulsar-2.11.0">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v2.4.0">
<title data-rh="true">Apache Pulsar 2.11.0 | Apache Pulsar</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://pulsar.apache.org/img/pulsar-social-media-card.png"><meta data-rh="true" name="twitter:image" content="https://pulsar.apache.org/img/pulsar-social-media-card.png"><meta data-rh="true" property="og:url" content="https://pulsar.apache.org/release-notes/versioned/pulsar-2.11.0/"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-release-notes-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-release-notes-current"><meta data-rh="true" property="og:title" content="Apache Pulsar 2.11.0 | Apache Pulsar"><meta data-rh="true" name="description" content="2023-01-11"><meta data-rh="true" property="og:description" content="2023-01-11"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="alternate" href="https://pulsar.apache.org/release-notes/versioned/pulsar-2.11.0/" hreflang="en"><link data-rh="true" rel="alternate" href="https://pulsar.apache.org/release-notes/versioned/pulsar-2.11.0/" hreflang="x-default"><link data-rh="true" rel="canonical" href="https://pulsar.apache.org/release-notes/versioned/pulsar-2.11.0/"><link data-rh="true" rel="preconnect" href="https://WK2YL0SALL-dsn.algolia.net" crossorigin="anonymous"><link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="Apache Pulsar RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Pulsar Atom Feed">
<link rel="search" type="application/opensearchdescription+xml" title="Apache Pulsar" href="/opensearch.xml">
<link rel="stylesheet" href="/css/katex-0.13.24.min.css" media="print" onload="this.media=&#39;all&#39;">
<script src="/js/sine-waves.min.js" async></script>
<script src="/js/matomo-agent.js"></script><link rel="stylesheet" href="/assets/css/styles.b0f65ef3.css">
<link rel="preload" href="/assets/js/runtime~main.1d0ed2a7.js" as="script">
<link rel="preload" href="/assets/js/main.e07a0c68.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><div class="announcementBar_mb4j" style="background-color:#282826;color:#fff" role="banner"><div class="content_knG7 announcementBarContent_xLdY">
<a class="announcement-bar" href="https://registration.socio.events/e/pulsarvirtualsummiteurope2024" target="_blank">
<div class="announcement-bar__content">
<svg class="announcement-bar__icon">
<svg viewBox="0 0 33 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M6.5 19.6001H16.1L15.3 29.2001L26.5 12.4H17.06L18.1 2.80005L6.5 19.6001Z" stroke="#F7F7F7" stroke-width="1.5" stroke-linejoin="round"/>
</svg>
</svg>
<span>
Get your free pass for Pulsar Virtual Summit Europe 2024 on May 14, 2024 🗓️
</span>
<svg class="announcement-bar__icon">
<svg viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="20" height="20" transform="translate(6 6)" fill="white" fill-opacity="0.01"/>
<path d="M17.6667 10.1667L23.5 16.0001M23.5 16.0001L17.6667 21.8334M23.5 16.0001L8.5 16.0001" stroke="white" stroke-linecap="round" stroke-linejoin="round"/>
<rect x="0.5" y="0.5" width="31" height="31" rx="15.5" stroke="white"/>
</svg>
</svg>
</div>
</a>
</div></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo-black.svg" alt="Apache Pulsar logo" class="themedImage_ToTc themedImage--light_HNdA" height="25" width="127"><img src="/img/logo-black.svg" alt="Apache Pulsar logo" class="themedImage_ToTc themedImage--dark_i4oU" height="25" width="127"></div><b class="navbar__title text--truncate"></b></a><div class="navbar__item dropdown dropdown--hoverable"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link">Get Started</a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/docs/3.2.x/concepts-overview/">Concepts</a></li><li><a class="dropdown__link" href="/docs/3.2.x/">Quickstart</a></li><li><a class="dropdown__link" href="/ecosystem/">Ecosystem</a></li></ul></div><a class="navbar__item navbar__link" href="/docs/3.2.x/">Docs</a><a class="navbar__item navbar__link" href="/features/">Features</a><a class="navbar__item navbar__link" href="/use-cases/">Use Cases</a><div class="navbar__item dropdown dropdown--hoverable"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link community-dropdown">Community</a><ul class="dropdown__menu"><li><a class="dropdown__link scroll-link scroll-welcome" id="scroll-welcome" href="/community/">Welcome</a></li><li><a class="dropdown__link scroll-link scroll-discussions" id="scroll-discussions" href="/community/#section-discussions">Discussions</a></li><li><a class="dropdown__link scroll-link" id="scroll-governance" href="/community/#section-governance">Governance</a></li><li><a class="dropdown__link scroll-link" id="scroll-community" href="/community/#section-community">Meet the Community</a></li><li><a class="dropdown__link scroll-link" id="scroll-contribute" href="/community/#section-contribute">Contribute</a></li><li><a class="dropdown__link" href="/contribute/">Contribution Guide</a></li><li><a href="https://github.com/apache/pulsar/wiki" target="_blank" rel="noopener noreferrer" class="dropdown__link">Wiki</a></li><li><a href="https://github.com/apache/pulsar/issues" target="_blank" rel="noopener noreferrer" class="dropdown__link">Issue Tracking</a></li></ul></div><div class="navbar__item dropdown dropdown--hoverable"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link">Learn</a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/blog/">Blog</a></li><li><a class="dropdown__link" href="/books/">Books</a></li><li><a class="dropdown__link" href="/case-studies/">Case Studies</a></li><li><a class="dropdown__link" href="/articles/">Articles</a></li><li><a class="dropdown__link" href="/presentations/">Presentations</a></li><li><a class="dropdown__link" href="/events/">Events</a></li></ul></div></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link navbar_download_button" href="/download/">Download</a><div class="searchBox_ZlJk"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0 docsWrapper_BCFX"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docPage__5DB"><main class="docMainContainer_gTbr docMainContainerEnhanced_Uz_u"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Apache Pulsar 2.11.0</h1></header><h4 class="anchor anchorWithStickyNavbar_LWe7" id="2023-01-11">2023-01-11<a href="#2023-01-11" class="hash-link" aria-label="Direct link to 2023-01-11" title="Direct link to 2023-01-11"></a></h4><h3 class="anchor anchorWithStickyNavbar_LWe7" id="important-notice">Important notice<a href="#important-notice" class="hash-link" aria-label="Direct link to Important notice" title="Direct link to Important notice"></a></h3><p>Starting from 2.11.0, the minimal version of JDK on the server side (broker, functions, connectors) is required to be 17. See <a href="https://github.com/apache/pulsar#pulsar-runtime-java-version-recommendation" target="_blank" rel="noopener noreferrer">Pulsar Runtime Java Version Recommendation</a> and <a href="https://github.com/apache/pulsar/issues/15207" target="_blank" rel="noopener noreferrer">PIP-156</a> for more details.</p><ul><li>Rename Pulsar txn metrics to specify OpenMetrics <a href="https://github.com/apache/pulsar/pull/16581" target="_blank" rel="noopener noreferrer">#16581</a></li><li>Rename Pulsar schema metrics to specify OpenMetrics <a href="https://github.com/apache/pulsar/pull/16610" target="_blank" rel="noopener noreferrer">#16610</a></li><li>Rename Pulsar lb metrics to specify OpenMetrics <a href="https://github.com/apache/pulsar/pull/16611" target="_blank" rel="noopener noreferrer">#16611</a></li><li>Remove jul-to-slf4j <a href="https://github.com/apache/pulsar/pull/16320" target="_blank" rel="noopener noreferrer">#16320</a></li><li>Fix get non-persistent topics issue in Namespaces <a href="https://github.com/apache/pulsar/pull/16170" target="_blank" rel="noopener noreferrer">#16170</a></li><li>Fix producer/consume permission can’t get schema <a href="https://github.com/apache/pulsar/pull/15956" target="_blank" rel="noopener noreferrer">#15956</a></li><li>Add verification for configured default backlog quota and retention <a href="https://github.com/apache/pulsar/pull/15441" target="_blank" rel="noopener noreferrer">#15441</a></li><li>Fix ineffective broker LoadBalance <a href="https://github.com/apache/pulsar/pull/15314" target="_blank" rel="noopener noreferrer">#15314</a></li><li>Ensure the deletion consistency of topic and schema <a href="https://github.com/apache/pulsar/pull/14608" target="_blank" rel="noopener noreferrer">#14608</a></li><li>Transaction cumulative ack redeliver change <a href="https://github.com/apache/pulsar/pull/14371" target="_blank" rel="noopener noreferrer">#14371</a></li><li>Bump prometheus client version from 0.5.0 to 0.15.0 <a href="https://github.com/apache/pulsar/pull/13785" target="_blank" rel="noopener noreferrer">#13785</a></li><li>[PIP-158]<!-- --> Split client TLS transport encryption from authentication <a href="https://github.com/apache/pulsar/pull/15634" target="_blank" rel="noopener noreferrer">#15634</a></li><li>[PIP-155]<!-- --> Remove Python 2 support <a href="https://github.com/apache/pulsar/pull/15376" target="_blank" rel="noopener noreferrer">#15376</a></li><li>[PIP-156]<!-- --> Build Pulsar Server on Java 17 <a href="https://github.com/apache/pulsar/pull/15264" target="_blank" rel="noopener noreferrer">#15264</a></li><li>[PIP-162]<!-- --> Enable system topic by default <a href="https://github.com/apache/pulsar/pull/15619" target="_blank" rel="noopener noreferrer">#15619</a></li></ul><h3 class="anchor anchorWithStickyNavbar_LWe7" id="pips">PIPs<a href="#pips" class="hash-link" aria-label="Direct link to PIPs" title="Direct link to PIPs"></a></h3><ul><li>[PIP 37]<!-- --> Support chunking with Shared subscription <a href="https://github.com/apache/pulsar/pull/16202" target="_blank" rel="noopener noreferrer">#16202</a></li><li>[PIP-74]<!-- --> Pulsar client memory limits <a href="https://github.com/apache/pulsar/pull/14400" target="_blank" rel="noopener noreferrer">#14400</a></li><li>[PIP-81]<!-- --> Split createNewMetadataLedger into multiple methods for reuse <a href="https://github.com/apache/pulsar/pull/15425" target="_blank" rel="noopener noreferrer">#15425</a></li><li>[PIP 97]<!-- --> Update Authentication Interfaces to Include Async Authentication Methods <a href="https://github.com/apache/pulsar/pull/12104" target="_blank" rel="noopener noreferrer">#12104</a></li><li>[PIP-100]<!-- --> Support pluggable topic factory <a href="https://github.com/apache/pulsar/pull/12235" target="_blank" rel="noopener noreferrer">#12235</a></li><li>[PIP-105]<!-- --> Store Subscription properties <a href="https://github.com/apache/pulsar/pull/15757" target="_blank" rel="noopener noreferrer">#15757</a></li><li>[PIP-117]<!-- --> Change Pulsar standalone defaults <a href="https://github.com/apache/pulsar/pull/15478" target="_blank" rel="noopener noreferrer">#15478</a></li><li>[PIP-132]<!-- --> Include message header size when checking maxMessageSize for non-batch messages on the client side <a href="https://github.com/apache/pulsar/pull/14007" target="_blank" rel="noopener noreferrer">#14007</a></li><li>[PIP-136]<!-- --> Sync Pulsar metadata across multiple clouds <a href="https://github.com/apache/pulsar/pull/16425" target="_blank" rel="noopener noreferrer">#16425</a></li><li>[PIP-143]<!-- --> Support split bundle by specified boundaries <a href="https://github.com/apache/pulsar/pull/13796" target="_blank" rel="noopener noreferrer">#13796</a></li><li>[PIP-145]<!-- --> Improve performance of regex subscriptions <a href="https://github.com/apache/pulsar/pull/14505" target="_blank" rel="noopener noreferrer">#14505</a></li><li>[PIP-146]<!-- --> ManagedCursorInfo compression <a href="https://github.com/apache/pulsar/pull/14542" target="_blank" rel="noopener noreferrer">#14542</a></li><li>[PIP 149]<!-- --> Make the REST Admin API fully async <a href="https://github.com/apache/pulsar/issues/14365" target="_blank" rel="noopener noreferrer">#14365</a></li><li>[PIP-152]<!-- --> Support subscription level dispatch rate limiter setting <a href="https://github.com/apache/pulsar/issues/15295" target="_blank" rel="noopener noreferrer">#15295</a></li><li>[PIP-153]<!-- --> Optimize metadataPositions in MLPendingAckStore <a href="https://github.com/apache/pulsar/pull/15137" target="_blank" rel="noopener noreferrer">#15137</a></li><li>[PIP-160]<!-- --> Make transactions work more efficiently by aggregation operation for transaction log and pending ack store <a href="https://github.com/apache/pulsar/issues/15370" target="_blank" rel="noopener noreferrer">#15370</a></li><li>[PIP-161]<!-- --> Exclusive Producer: ability to fence out an existing Producer <a href="https://github.com/apache/pulsar/pull/15488" target="_blank" rel="noopener noreferrer">#15488</a></li><li>[PIP-163]<!-- --> Add lowWaterMark check before appending entry to TB <a href="https://github.com/apache/pulsar/pull/15424" target="_blank" rel="noopener noreferrer">#15424</a></li><li>[PIP-166]<!-- --> Add MANUAL delivery semantics for Functions <a href="https://github.com/apache/pulsar/pull/16279" target="_blank" rel="noopener noreferrer">#16279</a></li><li>[PIP-179]<!-- --> Support the admin API to check unknown request parameters <a href="https://github.com/apache/pulsar/issues/16135" target="_blank" rel="noopener noreferrer">#16135</a></li><li>[PIP-181]<!-- --> Pulsar Shell <a href="https://github.com/apache/pulsar/issues/16250" target="_blank" rel="noopener noreferrer">#16250</a></li><li>[PIP-184]<!-- --> Topic specific consumer priorityLevel <a href="https://github.com/apache/pulsar/issues/16715" target="_blank" rel="noopener noreferrer">#16715</a></li><li>[PIP-187]<!-- --> Add API to analyze a subscription backlog and provide an accurate value <a href="https://github.com/apache/pulsar/issues/16545" target="_blank" rel="noopener noreferrer">#16545</a></li><li>[PIP-189]<!-- --> No batching if only one message in batch <a href="https://github.com/apache/pulsar/issues/18548" target="_blank" rel="noopener noreferrer">#18548</a></li><li>[PIP-201]<!-- --> Extensions mechanism for Pulsar Admin CLI tools <a href="https://github.com/apache/pulsar/issues/17158" target="_blank" rel="noopener noreferrer">#17158</a></li></ul><h3 class="anchor anchorWithStickyNavbar_LWe7" id="broker">Broker<a href="#broker" class="hash-link" aria-label="Direct link to Broker" title="Direct link to Broker"></a></h3><ul><li><p>[PIP 81]<!-- --> Split the individual acknowledgments into multiple entries</p><ul><li>Add range set wrapper to support record dirty ledgers <a href="https://github.com/apache/pulsar/pull/15607" target="_blank" rel="noopener noreferrer">#15607</a></li><li>Notifications for faster topic discovery <a href="https://github.com/apache/pulsar/pull/16062" target="_blank" rel="noopener noreferrer">#16062</a></li><li>Split createNewMetadataLedger into multiple methods for reuse <a href="https://github.com/apache/pulsar/pull/15425" target="_blank" rel="noopener noreferrer">#15425</a></li></ul></li><li><p>[PIP 105]<!-- --> Store Subscription properties</p><ul><li>Store Subscription properties <a href="https://github.com/apache/pulsar/pull/15757" target="_blank" rel="noopener noreferrer">#15757</a></li><li>Pulsar Admin: create subscription with Properties <a href="https://github.com/apache/pulsar/pull/15503" target="_blank" rel="noopener noreferrer">#15503</a></li><li>Fix error on recycled SubscriptionPropertiesList <a href="https://github.com/apache/pulsar/pull/15335" target="_blank" rel="noopener noreferrer">#15335</a></li></ul></li><li><p>[PIP 160]<!-- --> Make transactions work more efficiently by aggregation operation for transaction log and pending ack store</p><ul><li>Pending ack log store enables the batch feature <a href="https://github.com/apache/pulsar/pull/16707" target="_blank" rel="noopener noreferrer">#16707</a></li><li>Metrics stats of Transaction buffered writer <a href="https://github.com/apache/pulsar/pull/16758" target="_blank" rel="noopener noreferrer">#16758</a></li><li>Transaction buffered writer supports Timer <a href="https://github.com/apache/pulsar/pull/16727" target="_blank" rel="noopener noreferrer">#16727</a></li><li>Transaction log store enables the batch feature <a href="https://github.com/apache/pulsar/pull/16685" target="_blank" rel="noopener noreferrer">#16685</a></li><li>Protocol changes and configuration changes for transaction batch log <a href="https://github.com/apache/pulsar/pull/16617" target="_blank" rel="noopener noreferrer">#16617</a></li><li>Txn buffered writer for transaction log batch <a href="https://github.com/apache/pulsar/pull/16428" target="_blank" rel="noopener noreferrer">#16428</a></li></ul></li><li><p>[PIP 145]<!-- --> Improve performance of regex subscriptions</p><ul><li>Enable evaluating subscription pattern on broker side <a href="https://github.com/apache/pulsar/pull/14804" target="_blank" rel="noopener noreferrer">#14804</a></li><li>Notifications for faster topic discovery <a href="https://github.com/apache/pulsar/pull/16062" target="_blank" rel="noopener noreferrer">#16062</a></li></ul></li><li><p>[PIP-156]<!-- --> Build Pulsar Server on Java 17</p><ul><li>Build changes by dropping some required checks <a href="https://github.com/apache/pulsar/pull/15496" target="_blank" rel="noopener noreferrer">#15496</a></li><li>Build Pulsar Server on Java 17 <a href="https://github.com/apache/pulsar/pull/15264" target="_blank" rel="noopener noreferrer">#15264</a></li></ul></li><li><p>Add logs for why namespace bundle been split <a href="https://github.com/apache/pulsar/pull/19003" target="_blank" rel="noopener noreferrer">#19003</a></p></li><li><p>Omit making a copy of CommandAck when there are no broker interceptors <a href="https://github.com/apache/pulsar/pull/18997" target="_blank" rel="noopener noreferrer">#18997</a></p></li><li><p>Fix deadlock in PendingAckHandleImpl <a href="https://github.com/apache/pulsar/pull/18989" target="_blank" rel="noopener noreferrer">#18989</a></p></li><li><p>Copy proto command fields into final variables in ServerCnx <a href="https://github.com/apache/pulsar/pull/18987" target="_blank" rel="noopener noreferrer">#18987</a></p></li><li><p>Transaction pending ack store future not completely problem <a href="https://github.com/apache/pulsar/pull/18943" target="_blank" rel="noopener noreferrer">#18943</a></p></li><li><p>Update interceptor handler exception <a href="https://github.com/apache/pulsar/pull/18940" target="_blank" rel="noopener noreferrer">#18940</a></p></li><li><p>Do not require encryption on system topics <a href="https://github.com/apache/pulsar/pull/18898" target="_blank" rel="noopener noreferrer">#18898</a></p></li><li><p>Fix incorrect Nic usage collected by pulsar <a href="https://github.com/apache/pulsar/pull/18882" target="_blank" rel="noopener noreferrer">#18882</a></p></li><li><p>Fix PendingAckHandleImpl when pendingAckStoreProvider.checkInitializedBefore failed <a href="https://github.com/apache/pulsar/pull/18859" target="_blank" rel="noopener noreferrer">#18859</a></p></li><li><p>Ignore the exception of creating namespace <a href="https://github.com/apache/pulsar/pull/18837" target="_blank" rel="noopener noreferrer">#18837</a></p></li><li><p>Fixing can not delete namespace by force <a href="https://github.com/apache/pulsar/pull/18826" target="_blank" rel="noopener noreferrer">#18826</a></p></li><li><p>Avoid OOM not trigger PulsarByteBufAllocator outOfMemoryListener when use ByteBufAllocator.DEFAULT.heapBuffer <a href="https://github.com/apache/pulsar/pull/18747" target="_blank" rel="noopener noreferrer">#18747</a></p></li><li><p>System topic writer/reader connection not counted <a href="https://github.com/apache/pulsar/pull/18603" target="_blank" rel="noopener noreferrer">#18603</a></p></li><li><p>DnsResolverUtil.TTL should be greater than zero <a href="https://github.com/apache/pulsar/pull/18565" target="_blank" rel="noopener noreferrer">#18565</a></p></li><li><p>Persist correct markDeletePosition to prevent message loss <a href="https://github.com/apache/pulsar/pull/18237" target="_blank" rel="noopener noreferrer">#18237</a></p></li><li><p>Fix delete_when_subscriptions_caught_up doesn&#x27;t work while have active consumers <a href="https://github.com/apache/pulsar/pull/18320" target="_blank" rel="noopener noreferrer">#18320</a></p></li><li><p>Read local cookie when start pulsar standalone <a href="https://github.com/apache/pulsar/pull/18260" target="_blank" rel="noopener noreferrer">#18260</a></p></li><li><p>Remove the redundant judgment logic of ManagedCursorImpl <a href="https://github.com/apache/pulsar/pull/18205" target="_blank" rel="noopener noreferrer">#18205</a></p></li><li><p>Fix unexpected behaviour by invoke PulsarConfigurationLoader#convertFrom <a href="https://github.com/apache/pulsar/pull/18816" target="_blank" rel="noopener noreferrer">#18816</a></p></li><li><p>Fix the wrong behaviour when set overrideBrokerNicSpeedGbps <a href="https://github.com/apache/pulsar/pull/18818" target="_blank" rel="noopener noreferrer">#18818</a></p></li><li><p>Fix the breaking change of standalone metadata initialization <a href="https://github.com/apache/pulsar/pull/18909" target="_blank" rel="noopener noreferrer">#18909</a></p></li><li><p>Transaction buffer recover blocked by readNext <a href="https://github.com/apache/pulsar/pull/18969" target="_blank" rel="noopener noreferrer">#18969</a></p></li><li><p>Fix duplicated schemas creation <a href="https://github.com/apache/pulsar/pull/18701" target="_blank" rel="noopener noreferrer">#18701</a></p></li><li><p>Read local cookie when start pulsar standalone <a href="https://github.com/apache/pulsar/pull/18260" target="_blank" rel="noopener noreferrer">#18260</a></p></li><li><p>The Pulsar standalone bookie is not getting passed the config from standalone.conf <a href="https://github.com/apache/pulsar/pull/18126" target="_blank" rel="noopener noreferrer">#18126</a></p></li><li><p>Reduce unnecessary calling span() when filtering read entries <a href="https://github.com/apache/pulsar/pull/18106" target="_blank" rel="noopener noreferrer">#18106</a></p></li><li><p>Change update schema auth from tenant to produce <a href="https://github.com/apache/pulsar/pull/18074" target="_blank" rel="noopener noreferrer">#18074</a></p></li><li><p>Fixed delayed delivery after read operation error <a href="https://github.com/apache/pulsar/pull/18098" target="_blank" rel="noopener noreferrer">#18098</a></p></li><li><p>Fix memory leak while Offloading ledgers <a href="https://github.com/apache/pulsar/pull/18500" target="_blank" rel="noopener noreferrer">#18500</a></p></li><li><p>Cache invalidation due to concurrent access <a href="https://github.com/apache/pulsar/pull/18076" target="_blank" rel="noopener noreferrer">#18076</a></p></li><li><p>Fix unable to start multiple bookies for BKCluster <a href="https://github.com/apache/pulsar/pull/18072" target="_blank" rel="noopener noreferrer">#18072</a></p></li><li><p>Compare batch index when accumulating acks and updating batchDeletedIndexes <a href="https://github.com/apache/pulsar/pull/18042" target="_blank" rel="noopener noreferrer">#18042</a></p></li><li><p>Limit the memory used by reads end-to-end <a href="https://github.com/apache/pulsar/pull/18245" target="_blank" rel="noopener noreferrer">#18245</a></p></li><li><p>Consumer backlog eviction policy should not reset read position for consumer <a href="https://github.com/apache/pulsar/pull/18037" target="_blank" rel="noopener noreferrer">#18037</a></p></li><li><p>Allow to configure and disable the size of lookahead for detecting fixed delays in messages <a href="https://github.com/apache/pulsar/pull/17907" target="_blank" rel="noopener noreferrer">#17907</a></p></li><li><p>Fix create ns <a href="https://github.com/apache/pulsar/pull/17864" target="_blank" rel="noopener noreferrer">#17864</a></p></li><li><p>Fix the wrong NIC speed rate unit <a href="https://github.com/apache/pulsar/pull/17890" target="_blank" rel="noopener noreferrer">#17890</a></p></li><li><p>Fix numerical overflow bug while reading data from tiered storage <a href="https://github.com/apache/pulsar/pull/18595" target="_blank" rel="noopener noreferrer">#18595</a></p></li><li><p>Support lower boundary shedding for ThresholdShedder <a href="https://github.com/apache/pulsar/pull/17456" target="_blank" rel="noopener noreferrer">#17456</a></p></li><li><p>Avoid unnecessary creation of BitSetRecyclable objects <a href="https://github.com/apache/pulsar/pull/17998" target="_blank" rel="noopener noreferrer">#17998</a></p></li><li><p>Fix broker cache eviction of entries read by active cursors <a href="https://github.com/apache/pulsar/pull/17273" target="_blank" rel="noopener noreferrer">#17273</a></p></li><li><p>Fix issue where leader broker information isn&#x27;t available after 10 minutes <a href="https://github.com/apache/pulsar/pull/17401" target="_blank" rel="noopener noreferrer">#17401</a></p></li><li><p>Fix NPE when ResourceGroupService execute scheduled task <a href="https://github.com/apache/pulsar/pull/17840" target="_blank" rel="noopener noreferrer">#17840</a></p></li><li><p>Make BookieId work with PulsarRegistrationDriver <a href="https://github.com/apache/pulsar/pull/17762" target="_blank" rel="noopener noreferrer">#17762</a></p></li><li><p>Fix namespace backlog quota check with retention <a href="https://github.com/apache/pulsar/pull/17706" target="_blank" rel="noopener noreferrer">#17706</a></p></li><li><p>Cleanup state when lock revalidation gets LockBusyException <a href="https://github.com/apache/pulsar/pull/17700" target="_blank" rel="noopener noreferrer">#17700</a></p></li><li><p>Fix parsing partitionedKey with Base64 encode issue <a href="https://github.com/apache/pulsar/pull/17687" target="_blank" rel="noopener noreferrer">#17687</a></p></li><li><p>Standalone Add param of --metadata-url for runing with metadata <a href="https://github.com/apache/pulsar/pull/17077" target="_blank" rel="noopener noreferrer">#17077</a></p></li><li><p>Correctly set byte and message out totals per subscription <a href="https://github.com/apache/pulsar/pull/18451" target="_blank" rel="noopener noreferrer">#18451</a></p></li><li><p>Implementation of Delayed Transaction Messages <a href="https://github.com/apache/pulsar/pull/17548" target="_blank" rel="noopener noreferrer">#17548</a></p></li><li><p>Set revalidateAfterReconnection true for certain failures <a href="https://github.com/apache/pulsar/pull/17664" target="_blank" rel="noopener noreferrer">#17664</a></p></li><li><p>Unregister topic policy listener if managed ledger close failed <a href="https://github.com/apache/pulsar/pull/17652" target="_blank" rel="noopener noreferrer">#17652</a></p></li><li><p>Correctly handle list configuration values <a href="https://github.com/apache/pulsar/pull/17661" target="_blank" rel="noopener noreferrer">#17661</a></p></li><li><p>Cancel the loadShedding task when closing pulsar service <a href="https://github.com/apache/pulsar/pull/17632" target="_blank" rel="noopener noreferrer">#17632</a></p></li><li><p>Consumer can&#x27;t consume messages because there has two sames topics in one broker <a href="https://github.com/apache/pulsar/pull/17526" target="_blank" rel="noopener noreferrer">#17526</a></p></li><li><p>Prevent partitioned metadata lookup request when broker is closing <a href="https://github.com/apache/pulsar/pull/17315" target="_blank" rel="noopener noreferrer">#17315</a></p></li><li><p>Prevent new connection request when broker is closing <a href="https://github.com/apache/pulsar/pull/17314" target="_blank" rel="noopener noreferrer">#17314</a></p></li><li><p>Ledger handle leak when update schema <a href="https://github.com/apache/pulsar/pull/17283" target="_blank" rel="noopener noreferrer">#17283</a></p></li><li><p>Add metrics for entry cache insertion, eviction <a href="https://github.com/apache/pulsar/pull/17248" target="_blank" rel="noopener noreferrer">#17248</a></p></li><li><p>Do not send duplicate reads to BK/offloaders <a href="https://github.com/apache/pulsar/pull/17241" target="_blank" rel="noopener noreferrer">#17241</a></p></li><li><p>Fix system service namespace create internal event topic <a href="https://github.com/apache/pulsar/pull/17867" target="_blank" rel="noopener noreferrer">#17867</a></p></li><li><p>Fix getPositionAfterN infinite loop <a href="https://github.com/apache/pulsar/pull/17971" target="_blank" rel="noopener noreferrer">#17971</a></p></li><li><p>Fix memory leak in case of error conditions in PendingReadsManager <a href="https://github.com/apache/pulsar/pull/17995" target="_blank" rel="noopener noreferrer">#17995</a></p></li><li><p>After the broker is restarted, the cache dynamic configuration is invalid <a href="https://github.com/apache/pulsar/pull/17035" target="_blank" rel="noopener noreferrer">#17035</a></p></li><li><p>Fix if dynamicConfig item in ZK do not exist in broker cause NPE <a href="https://github.com/apache/pulsar/pull/17705" target="_blank" rel="noopener noreferrer">#17705</a></p></li><li><p>Fix the broker shutdown issue after Zookeeper node crashed <a href="https://github.com/apache/pulsar/pull/17909" target="_blank" rel="noopener noreferrer">#17909</a></p></li><li><p>Fix broker irrational behavior when it is closing <a href="https://github.com/apache/pulsar/pull/17085" target="_blank" rel="noopener noreferrer">#17085</a></p></li><li><p>ServerCnx: log at warning level when topic not found <a href="https://github.com/apache/pulsar/pull/16225" target="_blank" rel="noopener noreferrer">#16225</a></p></li><li><p>Optimize getting ledger and entry id from entry <a href="https://github.com/apache/pulsar/pull/17108" target="_blank" rel="noopener noreferrer">#17108</a></p></li><li><p>Topic policy reader can&#x27;t recover when get any exception <a href="https://github.com/apache/pulsar/pull/17562" target="_blank" rel="noopener noreferrer">#17562</a></p></li><li><p>Multiple consumer dispatcher stuck when unackedMessages greater than maxUnackedMessages <a href="https://github.com/apache/pulsar/pull/17483" target="_blank" rel="noopener noreferrer">#17483</a></p></li><li><p>Fix memoryLimitController currentUsage and MaxQueueSize semaphore leak when batchMessageContainer add message exception <a href="https://github.com/apache/pulsar/pull/17276" target="_blank" rel="noopener noreferrer">#17276</a></p></li><li><p>Fix arithmetic exception for LeastResourceUsageWithWeight strategy <a href="https://github.com/apache/pulsar/pull/17149" target="_blank" rel="noopener noreferrer">#17149</a></p></li><li><p>Fix update topic remove properties <a href="https://github.com/apache/pulsar/pull/17231" target="_blank" rel="noopener noreferrer">#17231</a></p></li><li><p>Fix ack with txn compute ackedCount error <a href="https://github.com/apache/pulsar/pull/17016" target="_blank" rel="noopener noreferrer">#17016</a></p></li><li><p>Improve cursor.getNumberOfEntries if isUnackedRangesOpenCacheSetEnabled=true <a href="https://github.com/apache/pulsar/pull/17465" target="_blank" rel="noopener noreferrer">#17465</a></p></li><li><p>Fix dispatch duplicated messages with Exclusive mode <a href="https://github.com/apache/pulsar/pull/17237" target="_blank" rel="noopener noreferrer">#17237</a></p></li><li><p>Remove internalUpdateOffloadPolicies to keep the same behavior update topic policy <a href="https://github.com/apache/pulsar/pull/17236" target="_blank" rel="noopener noreferrer">#17236</a></p></li><li><p>Fix update topic remove properties <a href="https://github.com/apache/pulsar/pull/17231" target="_blank" rel="noopener noreferrer">#17231</a></p></li><li><p>Fix arithmetic exception for LeastResourceUsageWithWeight strategy <a href="https://github.com/apache/pulsar/pull/17149" target="_blank" rel="noopener noreferrer">#17149</a></p></li><li><p>Fix pulsarLedgerIdGenerator can&#x27;t delete index path when zk metadata store config rootPath <a href="https://github.com/apache/pulsar/pull/17192" target="_blank" rel="noopener noreferrer">#17192</a></p></li><li><p>Avoid messages being repeatedly replayed with SHARED subscriptions (streaming dispatcher) <a href="https://github.com/apache/pulsar/pull/17163" target="_blank" rel="noopener noreferrer">#17163</a></p></li><li><p>Add ServerCnx state check before server handle request <a href="https://github.com/apache/pulsar/pull/17084" target="_blank" rel="noopener noreferrer">#17084</a></p></li><li><p>Pass subscriptionName to auth service <a href="https://github.com/apache/pulsar/pull/17123" target="_blank" rel="noopener noreferrer">#17123</a></p></li><li><p>Support loadBalancerSheddingIntervalMinutes dynamic configuration <a href="https://github.com/apache/pulsar/pull/16408" target="_blank" rel="noopener noreferrer">#16408</a></p></li><li><p>Fix out of order data replication <a href="https://github.com/apache/pulsar/pull/17154" target="_blank" rel="noopener noreferrer">#17154</a></p></li><li><p>Fix schema does not replicate successfully <a href="https://github.com/apache/pulsar/pull/17049" target="_blank" rel="noopener noreferrer">#17049</a></p></li><li><p>Optimize the shutdown sequence of broker service when it close <a href="https://github.com/apache/pulsar/pull/16756" target="_blank" rel="noopener noreferrer">#16756</a></p></li><li><p>Modernizer managed ledger <a href="https://github.com/apache/pulsar/pull/16363" target="_blank" rel="noopener noreferrer">#16363</a></p></li><li><p>Make deleteTopicPolicies serialized is executed when close topic <a href="https://github.com/apache/pulsar/pull/15811" target="_blank" rel="noopener noreferrer">#15811</a></p></li><li><p>Streaming dispatcher stuck after reading the first entry with SHARED subscriptions <a href="https://github.com/apache/pulsar/pull/17143" target="_blank" rel="noopener noreferrer">#17143</a></p></li><li><p>Fix calculate avg message per entry <a href="https://github.com/apache/pulsar/pull/17046" target="_blank" rel="noopener noreferrer">#17046</a></p></li><li><p>Fix bundle-data metadata leak because bundle stats was not cleaned up <a href="https://github.com/apache/pulsar/pull/17095" target="_blank" rel="noopener noreferrer">#17095</a></p></li><li><p>Duplicate ByteBuffer when Caching Backlogged Consumers <a href="https://github.com/apache/pulsar/pull/17105" target="_blank" rel="noopener noreferrer">#17105</a></p></li><li><p>Fix offload read handle NPE <a href="https://github.com/apache/pulsar/pull/17056" target="_blank" rel="noopener noreferrer">#17056</a></p></li><li><p>Increment topic stats outbound message counters and update rate after messages have been written to the TCP/IP connection <a href="https://github.com/apache/pulsar/pull/17043" target="_blank" rel="noopener noreferrer">#17043</a></p></li><li><p>Move the state check forward <a href="https://github.com/apache/pulsar/pull/17020" target="_blank" rel="noopener noreferrer">#17020</a></p></li><li><p>Follow up on #16968 to restore some behavior in PersistentDispatcherMultipleConsumers <a href="https://github.com/apache/pulsar/pull/17018" target="_blank" rel="noopener noreferrer">#17018</a></p></li><li><p>Remove exception log when access status.html <a href="https://github.com/apache/pulsar/pull/17025" target="_blank" rel="noopener noreferrer">#17025</a></p></li><li><p>Not allow terminating system topic <a href="https://github.com/apache/pulsar/pull/17006" target="_blank" rel="noopener noreferrer">#17006</a></p></li><li><p>Fix memory leak if entry exists in cache <a href="https://github.com/apache/pulsar/pull/16996" target="_blank" rel="noopener noreferrer">#16996</a></p></li><li><p>Remove unnecessary lock on the stats thread <a href="https://github.com/apache/pulsar/pull/16983" target="_blank" rel="noopener noreferrer">#16983</a></p></li><li><p>Prevent StackOverFlowException in SHARED subscription <a href="https://github.com/apache/pulsar/pull/16968" target="_blank" rel="noopener noreferrer">#16968</a></p></li><li><p>Improve naming for delete topic error <a href="https://github.com/apache/pulsar/pull/16965" target="_blank" rel="noopener noreferrer">#16965</a></p></li><li><p>Fix ConcurrentModificationException when ModularLoadManagerImpl start <a href="https://github.com/apache/pulsar/pull/16953" target="_blank" rel="noopener noreferrer">#16953</a></p></li><li><p>Skip mis-configured resource usage(&gt;100%) in load balancer <a href="https://github.com/apache/pulsar/pull/16937" target="_blank" rel="noopener noreferrer">#16937</a></p></li><li><p>Adapt basic authentication configuration with prefix <a href="https://github.com/apache/pulsar/pull/16935" target="_blank" rel="noopener noreferrer">#16935</a></p></li><li><p>Change delete pending ack position from foreach to firstKey <a href="https://github.com/apache/pulsar/pull/16927" target="_blank" rel="noopener noreferrer">#16927</a></p></li><li><p>Fix MaxQueueSize semaphore release leak in createOpSendMsg <a href="https://github.com/apache/pulsar/pull/16915" target="_blank" rel="noopener noreferrer">#16915</a></p></li><li><p>PulsarLedgerManager to pass correct error code to BK client <a href="https://github.com/apache/pulsar/pull/16857" target="_blank" rel="noopener noreferrer">#16857</a></p></li><li><p>Support start multiple bookies for BKCluster <a href="https://github.com/apache/pulsar/pull/16847" target="_blank" rel="noopener noreferrer">#16847</a></p></li><li><p>Split TLS transport encryption support from authentication <a href="https://github.com/apache/pulsar/pull/16819" target="_blank" rel="noopener noreferrer">#16819</a></p></li><li><p>Fix misleading -c option in pulsar standalone <a href="https://github.com/apache/pulsar/pull/16838" target="_blank" rel="noopener noreferrer">#16838</a></p></li><li><p>Fix rack awareness cache expiration data race <a href="https://github.com/apache/pulsar/pull/16825" target="_blank" rel="noopener noreferrer">#16825</a></p></li><li><p>Fix Repeated messages of shared dispatcher <a href="https://github.com/apache/pulsar/pull/16812" target="_blank" rel="noopener noreferrer">#16812</a></p></li><li><p>Avoid IllegalStateException while client_version is not set <a href="https://github.com/apache/pulsar/pull/16788" target="_blank" rel="noopener noreferrer">#16788</a></p></li><li><p>Optimize concurrent collection&#x27;s shrink logic <a href="https://github.com/apache/pulsar/pull/16754" target="_blank" rel="noopener noreferrer">#16754</a></p></li><li><p>Fix consumer does not abide by the max unacks limitation for Key_Shared subscription <a href="https://github.com/apache/pulsar/pull/16718" target="_blank" rel="noopener noreferrer">#16718</a></p></li><li><p>Support clear old bookie data for BKCluster <a href="https://github.com/apache/pulsar/pull/16744" target="_blank" rel="noopener noreferrer">#16744</a></p></li><li><p>Avoid ConcurrentModificationException for ModularLoadManagerImpl.cleanupDeadBrokersData() <a href="https://github.com/apache/pulsar/pull/16690" target="_blank" rel="noopener noreferrer">#16690</a></p></li><li><p>Improve get the basic authentication config <a href="https://github.com/apache/pulsar/pull/16526" target="_blank" rel="noopener noreferrer">#16526</a></p></li><li><p>Retry to delete the namespace if new topics created during the namespace deletion <a href="https://github.com/apache/pulsar/pull/16676" target="_blank" rel="noopener noreferrer">#16676</a></p></li><li><p>Fix consumer does not abide by the max unacks limitation for Shared subscription <a href="https://github.com/apache/pulsar/pull/16670" target="_blank" rel="noopener noreferrer">#16670</a></p></li><li><p>Add decode InputStream for Schema <a href="https://github.com/apache/pulsar/pull/16659" target="_blank" rel="noopener noreferrer">#16659</a></p></li><li><p>Support for get token from HTTP params <a href="https://github.com/apache/pulsar/pull/16650" target="_blank" rel="noopener noreferrer">#16650</a></p></li><li><p>Make defaultOffloader create after offloaderStats overrides <a href="https://github.com/apache/pulsar/pull/16638" target="_blank" rel="noopener noreferrer">#16638</a></p></li><li><p>BadVersionException when splitting bundles, delay 100ms and try again <a href="https://github.com/apache/pulsar/pull/16612" target="_blank" rel="noopener noreferrer">#16612</a></p></li><li><p>The configuration loadBalancerNamespaceMaximumBundles is invalid <a href="https://github.com/apache/pulsar/pull/16552" target="_blank" rel="noopener noreferrer">#16552</a></p></li><li><p>PulsarLedgerManager: add missed return statement <a href="https://github.com/apache/pulsar/pull/16607" target="_blank" rel="noopener noreferrer">#16607</a></p></li><li><p>Retry when DistributedIdGenerator has BadVersion error <a href="https://github.com/apache/pulsar/pull/16491" target="_blank" rel="noopener noreferrer">#16491</a></p></li><li><p>Fixed error when delayed messages trackers state grows to &gt;1.5GB <a href="https://github.com/apache/pulsar/pull/16490" target="_blank" rel="noopener noreferrer">#16490</a></p></li><li><p>Fix RawReader hasMessageAvailable returns true when no messages <a href="https://github.com/apache/pulsar/pull/16443" target="_blank" rel="noopener noreferrer">#16443</a></p></li><li><p>Fix No such ledger exception <a href="https://github.com/apache/pulsar/pull/16420" target="_blank" rel="noopener noreferrer">#16420</a></p></li><li><p>Improve the package download process <a href="https://github.com/apache/pulsar/pull/16365" target="_blank" rel="noopener noreferrer">#16365</a></p></li><li><p>Add config maxUnloadBundleNumPerShedding for UniformLoadShedder <a href="https://github.com/apache/pulsar/pull/16409" target="_blank" rel="noopener noreferrer">#16409</a></p></li><li><p>Skip reading more entries for a pending read with no more entries <a href="https://github.com/apache/pulsar/pull/16400" target="_blank" rel="noopener noreferrer">#16400</a></p></li><li><p>Recycle OpReadEntry in some corner cases <a href="https://github.com/apache/pulsar/pull/16399" target="_blank" rel="noopener noreferrer">#16399</a></p></li><li><p>Add dynamic configuration for UniformLoadShedder <a href="https://github.com/apache/pulsar/pull/16391" target="_blank" rel="noopener noreferrer">#16391</a></p></li><li><p>Fix RawReader out of order <a href="https://github.com/apache/pulsar/pull/16390" target="_blank" rel="noopener noreferrer">#16390</a></p></li><li><p>Create the cursor ledger lazily to improve the subscribe performance <a href="https://github.com/apache/pulsar/pull/16389" target="_blank" rel="noopener noreferrer">#16389</a></p></li><li><p>Release the entry in getEarliestMessagePublishTimeOfPos <a href="https://github.com/apache/pulsar/pull/16386" target="_blank" rel="noopener noreferrer">#16386</a></p></li><li><p>Update CPU ResourceUsage before updating SystemResourceUsage usage <a href="https://github.com/apache/pulsar/pull/16366" target="_blank" rel="noopener noreferrer">#16366</a></p></li><li><p>Use shared broker client scheduled executor provider <a href="https://github.com/apache/pulsar/pull/16338" target="_blank" rel="noopener noreferrer">#16338</a></p></li><li><p>Fix etcd cluster error and add test for etcd cluster <a href="https://github.com/apache/pulsar/pull/16309" target="_blank" rel="noopener noreferrer">#16309</a></p></li><li><p>Do not use IO thread for consumerFlow in Shared subscription <a href="https://github.com/apache/pulsar/pull/16304" target="_blank" rel="noopener noreferrer">#16304</a></p></li><li><p>Provide new load balance placement strategy implementation based on the least resource usage with weight <a href="https://github.com/apache/pulsar/pull/16281" target="_blank" rel="noopener noreferrer">#16281</a></p></li><li><p>Fix TopicTransactionBuffer ledger apend marker throw ManagedLedgerAlreadyClosedException <a href="https://github.com/apache/pulsar/pull/16265" target="_blank" rel="noopener noreferrer">#16265</a></p></li><li><p>Avoid go through all the consumers to get the message ack owner <a href="https://github.com/apache/pulsar/pull/16245" target="_blank" rel="noopener noreferrer">#16245</a></p></li><li><p>Reduce the consumers list sort by priority level <a href="https://github.com/apache/pulsar/pull/16243" target="_blank" rel="noopener noreferrer">#16243</a></p></li><li><p>Reduce the re-schedule message read operation for PersistentDispatcherMultipleConsumers <a href="https://github.com/apache/pulsar/pull/16241" target="_blank" rel="noopener noreferrer">#16241</a></p></li><li><p>Fix NPE when invoke replaceBookie. <a href="https://github.com/apache/pulsar/pull/16239" target="_blank" rel="noopener noreferrer">#16239</a></p></li><li><p>Fix getInternalStats occasional lack of LeaderInfo again <a href="https://github.com/apache/pulsar/pull/16238" target="_blank" rel="noopener noreferrer">#16238</a></p></li><li><p>Fix NPE when drop backlog for time limit <a href="https://github.com/apache/pulsar/pull/16235" target="_blank" rel="noopener noreferrer">#16235</a></p></li><li><p>Improve error msg when client is unauthorized <a href="https://github.com/apache/pulsar/pull/16224" target="_blank" rel="noopener noreferrer">#16224</a></p></li><li><p>Fix compaction subscription acknowledge Marker msg issue <a href="https://github.com/apache/pulsar/pull/16205" target="_blank" rel="noopener noreferrer">#16205</a></p></li><li><p>Fix subscribe dispatcher limiter not be initialized <a href="https://github.com/apache/pulsar/pull/16175" target="_blank" rel="noopener noreferrer">#16175</a></p></li><li><p>Using handle instead of handleAsync to avoid using common pool thread <a href="https://github.com/apache/pulsar/pull/17403" target="_blank" rel="noopener noreferrer">#17403</a></p></li><li><p>Use LinkedHashSet for config items of type Set to preserve elements order <a href="https://github.com/apache/pulsar/pull/16138" target="_blank" rel="noopener noreferrer">#16138</a></p></li><li><p>Fix topic dispatch rate limiter not init on broker-level <a href="https://github.com/apache/pulsar/pull/16084" target="_blank" rel="noopener noreferrer">#16084</a></p></li><li><p>Fix NPE when get /admin/v2/namespaces/public/default/maxTopicsPerNamespace <a href="https://github.com/apache/pulsar/pull/16076" target="_blank" rel="noopener noreferrer">#16076</a></p></li><li><p>Add config to allow deliverAt time to be strictly honored <a href="https://github.com/apache/pulsar/pull/16068" target="_blank" rel="noopener noreferrer">#16068</a></p></li><li><p>Add switch for enable/disable distribute bundles evenly in LoadManager <a href="https://github.com/apache/pulsar/pull/16059" target="_blank" rel="noopener noreferrer">#16059</a></p></li><li><p>Fix thread safety issues in accessing ManagedCursorContainer.heap ArrayList <a href="https://github.com/apache/pulsar/pull/16049" target="_blank" rel="noopener noreferrer">#16049</a></p></li><li><p>Make invalid namespace and topic name logs more descriptive <a href="https://github.com/apache/pulsar/pull/16047" target="_blank" rel="noopener noreferrer">#16047</a></p></li><li><p>Terminate JVM when initialize-cluster-metadata command fails <a href="https://github.com/apache/pulsar/pull/16039" target="_blank" rel="noopener noreferrer">#16039</a></p></li><li><p>Avoid storing MessageMetadata instances returned by peekMessageMetadata <a href="https://github.com/apache/pulsar/pull/15983" target="_blank" rel="noopener noreferrer">#15983</a></p></li><li><p>Fix topic policies update not check message expiry <a href="https://github.com/apache/pulsar/pull/15941" target="_blank" rel="noopener noreferrer">#15941</a></p></li><li><p>Fix reach max tenants error if the tenant already exists <a href="https://github.com/apache/pulsar/pull/15932" target="_blank" rel="noopener noreferrer">#15932</a></p></li><li><p>Close transactionBufferClient before closing the internal Pulsar client <a href="https://github.com/apache/pulsar/pull/15922" target="_blank" rel="noopener noreferrer">#15922</a></p></li><li><p>Remove topic -&gt; namespace cache of LedgerOffloaderStatsImpl <a href="https://github.com/apache/pulsar/pull/15869" target="_blank" rel="noopener noreferrer">#15869</a></p></li><li><p>Fix NPE when ledger id not found in OpReadEntry <a href="https://github.com/apache/pulsar/pull/15837" target="_blank" rel="noopener noreferrer">#15837</a></p></li><li><p>Fix topic-level replicator rate limiter not init <a href="https://github.com/apache/pulsar/pull/15825" target="_blank" rel="noopener noreferrer">#15825</a></p></li><li><p>Fix NPE in MessageDeduplication <a href="https://github.com/apache/pulsar/pull/15820" target="_blank" rel="noopener noreferrer">#15820</a></p></li><li><p>Configure DLog Bookie, Pulsar, and Admin clients via pass through config <a href="https://github.com/apache/pulsar/pull/15818" target="_blank" rel="noopener noreferrer">#15818</a></p></li><li><p>Fix the broker close hanged issue <a href="https://github.com/apache/pulsar/pull/15755" target="_blank" rel="noopener noreferrer">#15755</a></p></li><li><p>Disable memory limit controller in internal Pulsar clients <a href="https://github.com/apache/pulsar/pull/15752" target="_blank" rel="noopener noreferrer">#15752</a></p></li><li><p>Add timeout for unload namespace bundle <a href="https://github.com/apache/pulsar/pull/15719" target="_blank" rel="noopener noreferrer">#15719</a></p></li><li><p>Support schemaValidationEnforced on topic level <a href="https://github.com/apache/pulsar/pull/15712" target="_blank" rel="noopener noreferrer">#15712</a></p></li><li><p>Fix NPE when put value to RangeCache <a href="https://github.com/apache/pulsar/pull/15707" target="_blank" rel="noopener noreferrer">#15707</a></p></li><li><p>Fast return if ack cumulative illegal <a href="https://github.com/apache/pulsar/pull/15695" target="_blank" rel="noopener noreferrer">#15695</a></p></li><li><p>Fix creating producer failure when set backlog quota <a href="https://github.com/apache/pulsar/pull/15663" target="_blank" rel="noopener noreferrer">#15663</a></p></li><li><p>Fix logging in shutdown when broker shutdown <a href="https://github.com/apache/pulsar/pull/15626" target="_blank" rel="noopener noreferrer">#15626</a></p></li><li><p>Fix MetadataStoreException$NotFoundException while doing topic lookup <a href="https://github.com/apache/pulsar/pull/15633" target="_blank" rel="noopener noreferrer">#15633</a></p></li><li><p>Use dispatchRateLimiterLock to update dispatchRateLimiter <a href="https://github.com/apache/pulsar/pull/15601" target="_blank" rel="noopener noreferrer">#15601</a></p></li><li><p>Add .yaml suffix support for broker filter config file <a href="https://github.com/apache/pulsar/pull/15600" target="_blank" rel="noopener noreferrer">#15600</a></p></li><li><p>Add newline to the end of standalone.conf <a href="https://github.com/apache/pulsar/pull/15591" target="_blank" rel="noopener noreferrer">#15591</a></p></li><li><p>Create &quot;standalone&quot; cluster when starting standalone server <a href="https://github.com/apache/pulsar/pull/15583" target="_blank" rel="noopener noreferrer">#15583</a></p></li><li><p>Close publishLimiter when disable it <a href="https://github.com/apache/pulsar/pull/15520" target="_blank" rel="noopener noreferrer">#15520</a></p></li><li><p>Enable SO_REUSEADDR on listen sockets for broker,proxy <a href="https://github.com/apache/pulsar/pull/15517" target="_blank" rel="noopener noreferrer">#15517</a></p></li><li><p>Fix to avoid TopicStatsImpl NPE even if producerName is null <a href="https://github.com/apache/pulsar/pull/15502" target="_blank" rel="noopener noreferrer">#15502</a></p></li><li><p>Close connection if a ping or pong message cannot be sent <a href="https://github.com/apache/pulsar/pull/15382" target="_blank" rel="noopener noreferrer">#15382</a></p></li><li><p>Introduce BitRateUnit for calculate bitrate <a href="https://github.com/apache/pulsar/pull/15435" target="_blank" rel="noopener noreferrer">#15435</a></p></li><li><p>Add verification for configured default backlog quota and retention <a href="https://github.com/apache/pulsar/pull/15441" target="_blank" rel="noopener noreferrer">#15441</a></p></li><li><p>Change unnecessary atomic to basic type <a href="https://github.com/apache/pulsar/pull/15369" target="_blank" rel="noopener noreferrer">#15369</a></p></li><li><p>Support shrink for ConcurrentSortedLongPairSet <a href="https://github.com/apache/pulsar/pull/15354" target="_blank" rel="noopener noreferrer">#15354</a></p></li><li><p>Use shrink map for message redelivery <a href="https://github.com/apache/pulsar/pull/15342" target="_blank" rel="noopener noreferrer">#15342</a></p></li><li><p>Fix precision error in UsageUnit <a href="https://github.com/apache/pulsar/pull/15322" target="_blank" rel="noopener noreferrer">#15322</a></p></li><li><p>Optimized namespace-level dispatcherRateLimiter update <a href="https://github.com/apache/pulsar/pull/15315" target="_blank" rel="noopener noreferrer">#15315</a></p></li><li><p>Fix wrong unit of NIC speed on Linux <a href="https://github.com/apache/pulsar/pull/15304" target="_blank" rel="noopener noreferrer">#15304</a></p></li><li><p>Fix totalEntries calculation problem in AbstractBaseDispatcher#filterEntriesForConsumere <a href="https://github.com/apache/pulsar/pull/15298" target="_blank" rel="noopener noreferrer">#15298</a></p></li><li><p>Fix resource group does not report usage <a href="https://github.com/apache/pulsar/pull/15292" target="_blank" rel="noopener noreferrer">#15292</a></p></li><li><p>Tidy up the system topic <a href="https://github.com/apache/pulsar/pull/15252" target="_blank" rel="noopener noreferrer">#15252</a></p></li><li><p>Fix race condition between timeout and completion in OpAddEntry <a href="https://github.com/apache/pulsar/pull/15233" target="_blank" rel="noopener noreferrer">#15233</a></p></li><li><p>Improve skipping of DNS resolution when creating AuthenticationDataHttp instance <a href="https://github.com/apache/pulsar/pull/15228" target="_blank" rel="noopener noreferrer">#15228</a></p></li><li><p>Skip unnecessary DNS resolution when creating AuthenticationDataHttp instance <a href="https://github.com/apache/pulsar/pull/15221" target="_blank" rel="noopener noreferrer">#15221</a></p></li><li><p>Fix MessageDeduplication#inactiveProducers may not be persistence correctly <a href="https://github.com/apache/pulsar/pull/15206" target="_blank" rel="noopener noreferrer">#15206</a></p></li><li><p>Cancel fencedTopicMonitoringTask when topic closed normally <a href="https://github.com/apache/pulsar/pull/15202" target="_blank" rel="noopener noreferrer">#15202</a></p></li><li><p>Fix npe when doCacheEviction <a href="https://github.com/apache/pulsar/pull/15184" target="_blank" rel="noopener noreferrer">#15184</a></p></li><li><p>Make health check fail if dead locked threads are detected <a href="https://github.com/apache/pulsar/pull/15155" target="_blank" rel="noopener noreferrer">#15155</a></p></li><li><p>Fix parameter saslJaasBrokerSectionName in broker.conf <a href="https://github.com/apache/pulsar/pull/15110" target="_blank" rel="noopener noreferrer">#15110</a></p></li><li><p>Fix potential to add duplicated consumer <a href="https://github.com/apache/pulsar/pull/15051" target="_blank" rel="noopener noreferrer">#15051</a></p></li><li><p>Fix rewind failed when redeliverUnacknowledgedMessages <a href="https://github.com/apache/pulsar/pull/15046" target="_blank" rel="noopener noreferrer">#15046</a></p></li><li><p>Fix race condition in updating lastMarkDeleteEntry field <a href="https://github.com/apache/pulsar/pull/15031" target="_blank" rel="noopener noreferrer">#15031</a></p></li><li><p>Avoid heartbeat topic to offload <a href="https://github.com/apache/pulsar/pull/15008" target="_blank" rel="noopener noreferrer">#15008</a></p></li><li><p>Evict cache data according to the slowest markDeletedPosition <a href="https://github.com/apache/pulsar/pull/14985" target="_blank" rel="noopener noreferrer">#14985</a></p></li><li><p>Return if reset in progress <a href="https://github.com/apache/pulsar/pull/14978" target="_blank" rel="noopener noreferrer">#14978</a></p></li><li><p>Dynamic update broker-level subscribe-rate limter <a href="https://github.com/apache/pulsar/pull/14890" target="_blank" rel="noopener noreferrer">#14890</a></p></li><li><p>Fix wrong state for non-durable cursor <a href="https://github.com/apache/pulsar/pull/14869" target="_blank" rel="noopener noreferrer">#14869</a></p></li><li><p>Support advertised listeners for HTTP and HTTPS services <a href="https://github.com/apache/pulsar/pull/14839" target="_blank" rel="noopener noreferrer">#14839</a></p></li><li><p>Support dynamic update between non-zero values of topicPublisherThrottlingTickTimeMillis <a href="https://github.com/apache/pulsar/pull/14782" target="_blank" rel="noopener noreferrer">#14782</a></p></li><li><p>Support dynamic update between non-zero values of brokerPublisherThrottlingTickTimeMillis <a href="https://github.com/apache/pulsar/pull/14759" target="_blank" rel="noopener noreferrer">#14759</a></p></li><li><p>Fix incorrect entryId in warn log when reading entry from tiered storage <a href="https://github.com/apache/pulsar/pull/14685" target="_blank" rel="noopener noreferrer">#14685</a></p></li><li><p>Optimize PositionImpl toString, compareTo and hashCode methods <a href="https://github.com/apache/pulsar/pull/14678" target="_blank" rel="noopener noreferrer">#14678</a></p></li><li><p>Improve readability of ManagedCursorImpl source code <a href="https://github.com/apache/pulsar/pull/14617" target="_blank" rel="noopener noreferrer">#14617</a></p></li><li><p>Intercept ACK command by BrokerInterceptor <a href="https://github.com/apache/pulsar/pull/14616" target="_blank" rel="noopener noreferrer">#14616</a></p></li><li><p>Add filteredMsgCount for pulsar-admin broker-stats topics <a href="https://github.com/apache/pulsar/pull/14531" target="_blank" rel="noopener noreferrer">#14531</a></p></li><li><p>Fix NPE when subscription is already removed <a href="https://github.com/apache/pulsar/pull/14363" target="_blank" rel="noopener noreferrer">#14363</a></p></li><li><p>Fix backpressure handling in Jetty web server configuration <a href="https://github.com/apache/pulsar/pull/14353" target="_blank" rel="noopener noreferrer">#14353</a></p></li><li><p>Optimize find nics process <a href="https://github.com/apache/pulsar/pull/14340" target="_blank" rel="noopener noreferrer">#14340</a></p></li><li><p>Support pass http auth status <a href="https://github.com/apache/pulsar/pull/14044" target="_blank" rel="noopener noreferrer">#14044</a></p></li><li><p>Support caching to drain backlog consumers <a href="https://github.com/apache/pulsar/pull/12258" target="_blank" rel="noopener noreferrer">#12258</a></p></li><li><p>Strict bookie affinity group strategy <a href="https://github.com/apache/pulsar/pull/12025" target="_blank" rel="noopener noreferrer">#12025</a></p></li></ul><h3 class="anchor anchorWithStickyNavbar_LWe7" id="clients">Clients<a href="#clients" class="hash-link" aria-label="Direct link to Clients" title="Direct link to Clients"></a></h3><ul><li>[PIP 74]<!-- --> Pulsar client memory limits<ul><li>Support auto scaled consumer receiver queue <a href="https://github.com/apache/pulsar/pull/14494" target="_blank" rel="noopener noreferrer">#14494</a></li><li>Support dynamic limit of consumer receiver queue <a href="https://github.com/apache/pulsar/pull/14400" target="_blank" rel="noopener noreferrer">#14400</a></li><li>Support consumer client memory limit <a href="https://github.com/apache/pulsar/pull/15216" target="_blank" rel="noopener noreferrer">#15216</a></li></ul></li><li>[Java]<!-- --> Fix multi-topic consumer stuck after redeliver messages <a href="https://github.com/apache/pulsar/pull/18491" target="_blank" rel="noopener noreferrer">#18491</a></li><li>[Java]<!-- --> Fix NPE of MultiTopicsConsumerImpl due to race condition <a href="https://github.com/apache/pulsar/pull/18287" target="_blank" rel="noopener noreferrer">#18287</a></li><li>[Java]<!-- --> Refactor SchemaHash to reduce call of hashFunction in SchemaHash <a href="https://github.com/apache/pulsar/pull/17948" target="_blank" rel="noopener noreferrer">#17948</a></li><li>[Java]<!-- --> Fix pendingLookupRequestSemaphore leak when channel inactive <a href="https://github.com/apache/pulsar/pull/17856" target="_blank" rel="noopener noreferrer">#17856</a></li><li>[Java]<!-- --> Unwrap completion exception for Lookup Services <a href="https://github.com/apache/pulsar/pull/17717" target="_blank" rel="noopener noreferrer">#17717</a></li><li>[Java]<!-- --> Fixed ack failure in ReaderImpl due to null messageId <a href="https://github.com/apache/pulsar/pull/17728" target="_blank" rel="noopener noreferrer">#17728</a></li><li>[Java]<!-- --> Fix scheduledExecutorProvider not shutdown <a href="https://github.com/apache/pulsar/pull/17527" target="_blank" rel="noopener noreferrer">#17527</a></li><li>[Java]<!-- --> LastBatchSendNanoTime initialization <a href="https://github.com/apache/pulsar/pull/17058" target="_blank" rel="noopener noreferrer">#17058</a></li><li>[Java]<!-- --> Fix inactive cnx channel causing the request to fail to time out and fail to return <a href="https://github.com/apache/pulsar/pull/17051" target="_blank" rel="noopener noreferrer">#17051</a></li><li>[Java]<!-- --> Release semaphore before discarding messages in batchMessageContainer <a href="https://github.com/apache/pulsar/pull/17019" target="_blank" rel="noopener noreferrer">#17019</a></li><li>[Java]<!-- --> Fix client memory limit currentUsage leak and semaphore release duplicated in ProducerImpl <a href="https://github.com/apache/pulsar/pull/16837" target="_blank" rel="noopener noreferrer">#16837</a></li><li>[Java]<!-- --> Remove redundant check for chunked message TotalChunkMsgSize in ConsumerImpl <a href="https://github.com/apache/pulsar/pull/16797" target="_blank" rel="noopener noreferrer">#16797</a></li><li>[Java]<!-- --> Reduce code duplication in admin client <a href="https://github.com/apache/pulsar/pull/16377" target="_blank" rel="noopener noreferrer">#16377</a></li><li>[Java]<!-- --> Release memory usage for invalid messages <a href="https://github.com/apache/pulsar/pull/16835" target="_blank" rel="noopener noreferrer">#16835</a></li><li>[Java]<!-- --> Fix subscription topic name error <a href="https://github.com/apache/pulsar/pull/16719" target="_blank" rel="noopener noreferrer">#16719</a></li><li>[Java]<!-- --> Send CloseConsumer on client timeout <a href="https://github.com/apache/pulsar/pull/16616" target="_blank" rel="noopener noreferrer">#16616</a></li><li>[Java]<!-- --> Add message key if exists to deadLetter messages <a href="https://github.com/apache/pulsar/pull/16615" target="_blank" rel="noopener noreferrer">#16615</a></li><li>[Java]<!-- --> Make DeadLetterPolicy deserializable <a href="https://github.com/apache/pulsar/pull/16513" target="_blank" rel="noopener noreferrer">#16513</a></li><li>[Java]<!-- --> Improve performance of multi-topic consumer with more than one IO thread <a href="https://github.com/apache/pulsar/pull/16336" target="_blank" rel="noopener noreferrer">#16336</a></li><li>[Java]<!-- --> Add initialization for the OpSendMsg <a href="https://github.com/apache/pulsar/pull/16256" target="_blank" rel="noopener noreferrer">#16256</a></li><li>[Java]<!-- --> Replace ScheduledExecutor to improve performance of message consumption <a href="https://github.com/apache/pulsar/pull/16236" target="_blank" rel="noopener noreferrer">#16236</a></li><li>[Java]<!-- --> Fix large messages sometimes cannot be split into chunks <a href="https://github.com/apache/pulsar/pull/16196" target="_blank" rel="noopener noreferrer">#16196</a></li><li>[Java]<!-- --> Only trigger the batch receive timeout when having pending batch receives requests <a href="https://github.com/apache/pulsar/pull/16160" target="_blank" rel="noopener noreferrer">#16160</a></li><li>[Java]<!-- --> Fix the startMessageId can&#x27;t be respected as the ChunkMessageID <a href="https://github.com/apache/pulsar/pull/16154" target="_blank" rel="noopener noreferrer">#16154</a></li><li>[Java]<!-- --> Fix auto cluster failover can&#x27;t resolve host bug <a href="https://github.com/apache/pulsar/pull/16152" target="_blank" rel="noopener noreferrer">#16152</a></li><li>[Java]<!-- --> Switch to rely on Netty for Hostname Verification <a href="https://github.com/apache/pulsar/pull/15824" target="_blank" rel="noopener noreferrer">#15824</a></li><li>[Java]<!-- --> Prevent the trigger from running concurrently in the memory limit controller <a href="https://github.com/apache/pulsar/pull/15737" target="_blank" rel="noopener noreferrer">#15737</a></li><li>[Java]<!-- --> Fix messages sent by producers without schema cannot be decoded <a href="https://github.com/apache/pulsar/pull/15622" target="_blank" rel="noopener noreferrer">#15622</a></li><li>[Java]<!-- --> Remove sensitive msg from consumer/producer stats log <a href="https://github.com/apache/pulsar/pull/15483" target="_blank" rel="noopener noreferrer">#15483</a></li><li>[Java]<!-- --> Add pending messages information while printing the producer stats <a href="https://github.com/apache/pulsar/pull/15440" target="_blank" rel="noopener noreferrer">#15440</a></li><li>[Java]<!-- --> Fix flaky BatchMessageTest by initializing lastBatchSendNanoTime <a href="https://github.com/apache/pulsar/pull/15406" target="_blank" rel="noopener noreferrer">#15406</a></li><li>[Java]<!-- --> Check consumer schema null in advance <a href="https://github.com/apache/pulsar/pull/15327" target="_blank" rel="noopener noreferrer">#15327</a></li><li>[Java]<!-- --> Fix inconsistent parameter of TopicPolicies.getSubscriptionDispatchRate <a href="https://github.com/apache/pulsar/pull/15293" target="_blank" rel="noopener noreferrer">#15293</a></li><li>[Java]<!-- --> Fix typo in ConsumerBuilder <a href="https://github.com/apache/pulsar/pull/15194" target="_blank" rel="noopener noreferrer">#15194</a></li><li>[Java]<!-- --> Fix performance regression with message listener <a href="https://github.com/apache/pulsar/pull/15162" target="_blank" rel="noopener noreferrer">#15162</a></li><li>[Java]<!-- --> ConsumerBuilderImpl can not set null to deadLetterPolicy <a href="https://github.com/apache/pulsar/pull/14980" target="_blank" rel="noopener noreferrer">#14980</a></li><li>[Java]<!-- --> Fix message publishing stuck when enabling batch <a href="https://github.com/apache/pulsar/pull/14870" target="_blank" rel="noopener noreferrer">#14870</a></li><li>[Java]<!-- --> Return immutable data set when using TableView <a href="https://github.com/apache/pulsar/pull/14833" target="_blank" rel="noopener noreferrer">#14833</a></li><li>[Java]<!-- --> Avoid timer task run before previous subscribe complete <a href="https://github.com/apache/pulsar/pull/14818" target="_blank" rel="noopener noreferrer">#14818</a></li><li>[Java]<!-- --> Support Reader Interceptor <a href="https://github.com/apache/pulsar/pull/14729" target="_blank" rel="noopener noreferrer">#14729</a></li><li>[Java]<!-- --> Support aggregate metrics for partition topic stats <a href="https://github.com/apache/pulsar/pull/18214" target="_blank" rel="noopener noreferrer">#18214</a></li><li>[Java]<!-- --> Add api to get producer/consumer stats for partition topic <a href="https://github.com/apache/pulsar/pull/18212" target="_blank" rel="noopener noreferrer">#18212</a></li><li>[Java]<!-- --> Optimize pause when creating sub consumers in multi-topic consumer <a href="https://github.com/apache/pulsar/pull/14566" target="_blank" rel="noopener noreferrer">#14566</a></li></ul><h3 class="anchor anchorWithStickyNavbar_LWe7" id="pulsar-io-and-pulsar-functions">Pulsar IO and Pulsar Functions<a href="#pulsar-io-and-pulsar-functions" class="hash-link" aria-label="Direct link to Pulsar IO and Pulsar Functions" title="Direct link to Pulsar IO and Pulsar Functions"></a></h3><ul><li>[Functions]<!-- --> Fix function failed to start if no typeClassName provided in FunctionDetails <a href="https://github.com/apache/pulsar/pull/18111" target="_blank" rel="noopener noreferrer">#18111</a></li><li>[Functions]<!-- --> Do not delete managed package when delete function <a href="https://github.com/apache/pulsar/pull/18030" target="_blank" rel="noopener noreferrer">#18030</a></li><li>[Functions]<!-- --> Fix the download of builtin Functions <a href="https://github.com/apache/pulsar/pull/17877" target="_blank" rel="noopener noreferrer">#17877</a></li><li>[Functions]<!-- --> Ensure InternalConfigurationData data model is compatible across different versions <a href="https://github.com/apache/pulsar/pull/17690" target="_blank" rel="noopener noreferrer">#17690</a></li><li>[Functions]<!-- --> Use the schema set by the Function when it returns a Record <a href="https://github.com/apache/pulsar/pull/17142" target="_blank" rel="noopener noreferrer">#17142</a></li><li>[Functions]<!-- --> Make mandatory to provide a schema in Context::newOutputRecordBuilder <a href="https://github.com/apache/pulsar/pull/17118" target="_blank" rel="noopener noreferrer">#17118</a></li><li>[Functions]<!-- --> Add the ability to customize logging level for Go &amp; Python functions <a href="https://github.com/apache/pulsar/pull/16939" target="_blank" rel="noopener noreferrer">#16939</a></li><li>[Functions]<!-- --> Fixed error when user starts with the pulsar functions local runner <a href="https://github.com/apache/pulsar/pull/16565" target="_blank" rel="noopener noreferrer">#16565</a></li><li>[Functions]<!-- --> Fix netty.DnsResolverUtil compat issue on JDK9+ for the function Runtimes <a href="https://github.com/apache/pulsar/pull/16423" target="_blank" rel="noopener noreferrer">#16423</a></li><li>[Functions]<!-- --> Ensure bytes are a well-formed UTF-8 byte sequence when decoding the FunctionState bytes to string <a href="https://github.com/apache/pulsar/pull/16199" target="_blank" rel="noopener noreferrer">#16199</a></li><li>[Functions]<!-- --> Support Record&lt;?&gt; as Function output type <a href="https://github.com/apache/pulsar/pull/16041" target="_blank" rel="noopener noreferrer">#16041</a></li><li>[Functions]<!-- --> Configure DLog Bookie, Pulsar, and Admin clients via pass through config <a href="https://github.com/apache/pulsar/pull/15818" target="_blank" rel="noopener noreferrer">#15818</a></li><li>[Functions]<!-- --> Disable memory limit controller in internal Pulsar clients <a href="https://github.com/apache/pulsar/pull/15752" target="_blank" rel="noopener noreferrer">#15752</a></li><li>[Functions]<!-- --> Provide default error handler for function log appender <a href="https://github.com/apache/pulsar/pull/15728" target="_blank" rel="noopener noreferrer">#15728</a></li><li>[Functions]<!-- --> Support disabling non-TLS service port <a href="https://github.com/apache/pulsar/pull/15328" target="_blank" rel="noopener noreferrer">#15328</a></li><li>[Functions]<!-- --> Check executor null when close the FileSource <a href="https://github.com/apache/pulsar/pull/15247" target="_blank" rel="noopener noreferrer">#15247</a></li><li>[Functions]<!-- --> Fix UserConfigFunction example <a href="https://github.com/apache/pulsar/pull/15240" target="_blank" rel="noopener noreferrer">#15240</a></li><li>[Functions]<!-- --> Add a cache of versioned KeyValueSchemaImpl <a href="https://github.com/apache/pulsar/pull/15122" target="_blank" rel="noopener noreferrer">#15122</a></li><li>[Functions]<!-- --> Add KeyStore support in WebSocket, Function Worker HTTPS Servers <a href="https://github.com/apache/pulsar/pull/15084" target="_blank" rel="noopener noreferrer">#15084</a></li><li>[Functions]<!-- --> Handle NPE when getLeader returns null <a href="https://github.com/apache/pulsar/pull/15058" target="_blank" rel="noopener noreferrer">#15058</a></li><li>[Functions]<!-- --> Remove internal dependency: pulsar-functions-instance <a href="https://github.com/apache/pulsar/pull/14925" target="_blank" rel="noopener noreferrer">#14925</a></li><li>[Functions]<!-- --> Allow a Function&lt;GenericObject,?&gt; to access the original Schema of the Message and use it <a href="https://github.com/apache/pulsar/pull/14847" target="_blank" rel="noopener noreferrer">#14847</a></li><li>[Functions]<!-- --> Fix pulsar-managed runtimes failed start function with package URL from package management service <a href="https://github.com/apache/pulsar/pull/14814" target="_blank" rel="noopener noreferrer">#14814</a></li><li>[Functions]<!-- --> Set function channel to idle to prevent DNS resolution of deleted pod <a href="https://github.com/apache/pulsar/pull/14750" target="_blank" rel="noopener noreferrer">#14750</a></li><li>[Functions]<!-- --> Remove extra call to gi.stats.incrTotalProcessedSuccessfully() <a href="https://github.com/apache/pulsar/pull/12316" target="_blank" rel="noopener noreferrer">#12316</a></li><li>[Functions]<!-- --> Fix python instance not process zip file correctly <a href="https://github.com/apache/pulsar/pull/16697" target="_blank" rel="noopener noreferrer">#16697</a></li><li>[Functions]<!-- --> Missing assertion in KubernetesRuntimeTest::verifyJavaInstance <a href="https://github.com/apache/pulsar/pull/16747" target="_blank" rel="noopener noreferrer">#16747</a></li><li>[IO Connector]<!-- --> Only bundle kafka schema registry client <a href="https://github.com/apache/pulsar/pull/18931" target="_blank" rel="noopener noreferrer">#18931</a></li><li>[IO Connector]<!-- --> Fix message without schema issue <a href="https://github.com/apache/pulsar/pull/18745" target="_blank" rel="noopener noreferrer">#18745</a></li><li>[IO Connector]<!-- --> Kinesis sink: fix NPE with KeyValue schema and no value <a href="https://github.com/apache/pulsar/pull/17959" target="_blank" rel="noopener noreferrer">#17959</a></li><li>[IO Connector]<!-- --> Provide a HTTP Sink <a href="https://github.com/apache/pulsar/pull/17581" target="_blank" rel="noopener noreferrer">#17581</a></li><li>[IO Connector]<!-- --> IOConfigUtils support required and defaultValue annotations <a href="https://github.com/apache/pulsar/pull/16785" target="_blank" rel="noopener noreferrer">#16785</a></li><li>[IO Connector]<!-- --> Fixed Kafka source config for pulsar-io-kafka when consumerConfigProperties is null <a href="https://github.com/apache/pulsar/pull/16731" target="_blank" rel="noopener noreferrer">#16731</a></li><li>[IO Connector]<!-- --> Add reader config to pulsar-io-debezium and pulsar-io-kafka-connect-adaptor <a href="https://github.com/apache/pulsar/pull/16675" target="_blank" rel="noopener noreferrer">#16675</a></li><li>[IO Connector]<!-- --> Support transactions for JDBC connector <a href="https://github.com/apache/pulsar/pull/16468" target="_blank" rel="noopener noreferrer">#16468</a></li><li>[IO Connector]<!-- --> JDBC sinks: support upsert and row deletion <a href="https://github.com/apache/pulsar/pull/16448" target="_blank" rel="noopener noreferrer">#16448</a></li><li>[IO Connector]<!-- --> Add getSourceConfig method on SourceContext <a href="https://github.com/apache/pulsar/pull/16305" target="_blank" rel="noopener noreferrer">#16305</a></li><li>[IO Connector]<!-- --> KCA sinks: fix offset mapping when sanitizeTopicName=true <a href="https://github.com/apache/pulsar/pull/15950" target="_blank" rel="noopener noreferrer">#15950</a></li><li>[IO Connector]<!-- --> Allow pulsar_tool_env.sh PULSAR_MEM to be Overridden <a href="https://github.com/apache/pulsar/pull/15868" target="_blank" rel="noopener noreferrer">#15868</a></li><li>[IO Connector]<!-- --> JDBC sinks: support Avro specific datatypes <a href="https://github.com/apache/pulsar/pull/15845" target="_blank" rel="noopener noreferrer">#15845</a></li><li>[IO Connector]<!-- --> Sink support custom acknowledge type <a href="https://github.com/apache/pulsar/pull/15491" target="_blank" rel="noopener noreferrer">#15491</a></li><li>[IO Connector]<!-- --> Add getSinkConfig method to SinkContext <a href="https://github.com/apache/pulsar/pull/15482" target="_blank" rel="noopener noreferrer">#15482</a></li><li>[IO Connector]<!-- --> Handle Avro collections native types (GenericData.Array and Utf8 map keys) <a href="https://github.com/apache/pulsar/pull/15432" target="_blank" rel="noopener noreferrer">#15432</a></li><li>[IO Connector]<!-- --> Handle Avro collections native types (GenericData.Array and Utf8 map keys) <a href="https://github.com/apache/pulsar/pull/15430" target="_blank" rel="noopener noreferrer">#15430</a></li><li>[IO Connector]<!-- --> Add hashed id support <a href="https://github.com/apache/pulsar/pull/15428" target="_blank" rel="noopener noreferrer">#15428</a></li><li>[IO Connector]<!-- --> ElasticSearch Sink: option to output canonical key fields (JSON and Avro) <a href="https://github.com/apache/pulsar/pull/15426" target="_blank" rel="noopener noreferrer">#15426</a></li><li>[IO Connector]<!-- --> Replaced &quot;Device&quot; with &quot;measurement&quot; <a href="https://github.com/apache/pulsar/pull/15416" target="_blank" rel="noopener noreferrer">#15416</a></li><li>[IO Connector]<!-- --> Enable bulk flushing scheduling by default <a href="https://github.com/apache/pulsar/pull/15244" target="_blank" rel="noopener noreferrer">#15244</a></li><li>[IO Connector]<!-- --> Set sinkType in config file <a href="https://github.com/apache/pulsar/pull/15174" target="_blank" rel="noopener noreferrer">#15174</a></li><li>[IO Connector]<!-- --> Add a cache of versioned KeyValueSchemaImpl <a href="https://github.com/apache/pulsar/pull/15122" target="_blank" rel="noopener noreferrer">#15122</a></li><li>[IO Connector]<!-- --> Support 4paradigm/OpenMLDB jdbc sink connector <a href="https://github.com/apache/pulsar/pull/15064" target="_blank" rel="noopener noreferrer">#15064</a></li><li>[IO Connector]<!-- --> ElasticSearch Sink: option to disable SSL certificate validation <a href="https://github.com/apache/pulsar/pull/14997" target="_blank" rel="noopener noreferrer">#14997</a></li><li>[IO Connector]<!-- --> Add FULL_MESSAGE_IN_JSON_EXPAND_VALUE message format to Kinesis sink <a href="https://github.com/apache/pulsar/pull/14929" target="_blank" rel="noopener noreferrer">#14929</a></li></ul><h3 class="anchor anchorWithStickyNavbar_LWe7" id="observability">Observability<a href="#observability" class="hash-link" aria-label="Direct link to Observability" title="Direct link to Observability"></a></h3><ul><li>[Broker]<!-- --> Fix metrics string encoding <a href="https://github.com/apache/pulsar/pull/18138" target="_blank" rel="noopener noreferrer">#18138</a></li><li>[Broker]<!-- --> Fix EntryFilter stats <a href="https://github.com/apache/pulsar/pull/17605" target="_blank" rel="noopener noreferrer">#17605</a></li><li>[Broker]<!-- --> Add per-subscription EntryFilter metrics <a href="https://github.com/apache/pulsar/pull/16932" target="_blank" rel="noopener noreferrer">#16932</a></li><li>[Broker]<!-- --> Expose topic level storage write and read rate metrics <a href="https://github.com/apache/pulsar/pull/16855" target="_blank" rel="noopener noreferrer">#16855</a></li><li>[Broker]<!-- --> Rename Pulsar lb metrics to specify OpenMetrics <a href="https://github.com/apache/pulsar/pull/16611" target="_blank" rel="noopener noreferrer">#16611</a></li><li>[Broker]<!-- --> Rename Pulsar schema metrics to specify OpenMetrics <a href="https://github.com/apache/pulsar/pull/16610" target="_blank" rel="noopener noreferrer">#16610</a></li><li>[Broker]<!-- --> Rename Pulsar txn metrics to specify OpenMetrics <a href="https://github.com/apache/pulsar/pull/16581" target="_blank" rel="noopener noreferrer">#16581</a></li><li>[Broker]<!-- --> Optimise msgOutCounter and bytesOutCounter <a href="https://github.com/apache/pulsar/pull/16214" target="_blank" rel="noopener noreferrer">#16214</a></li><li>[Broker]<!-- --> Fail to expose managed ledger client stats to prometheus if bookkeeperClientExposeStatsToPrometheus is true <a href="https://github.com/apache/pulsar/pull/16219" target="_blank" rel="noopener noreferrer">#16219</a></li><li>[Broker]<!-- --> Add metrics for pulsar web service thread pool <a href="https://github.com/apache/pulsar/pull/14742" target="_blank" rel="noopener noreferrer">#14742</a></li><li>[Broker]<!-- --> Add support of PrometheusRawMetricsProvider for the Pulsar-Proxy <a href="https://github.com/apache/pulsar/pull/14681" target="_blank" rel="noopener noreferrer">#14681</a></li><li>[Broker]<!-- --> Add filteredMsgCount for pulsar-admin broker-stats topics <a href="https://github.com/apache/pulsar/pull/14531" target="_blank" rel="noopener noreferrer">#14531</a></li><li>[Broker]<!-- --> Improve /metrics endpoint performance <a href="https://github.com/apache/pulsar/pull/14453" target="_blank" rel="noopener noreferrer">#14453</a></li><li>[Broker]<!-- --> Offloader metrics <a href="https://github.com/apache/pulsar/pull/13833" target="_blank" rel="noopener noreferrer">#13833</a></li><li>[Broker]<!-- --> Improve /metrics endpoint performance <a href="https://github.com/apache/pulsar/pull/14453" target="_blank" rel="noopener noreferrer">#14453</a></li><li>[Broker]<!-- --> Add metrics for InMemoryDelayedDeliveryTracker&#x27;s memory usage <a href="https://github.com/apache/pulsar/pull/15867" target="_blank" rel="noopener noreferrer">#15867</a></li></ul><h3 class="anchor anchorWithStickyNavbar_LWe7" id="cli">CLI<a href="#cli" class="hash-link" aria-label="Direct link to CLI" title="Direct link to CLI"></a></h3><ul><li>[Pulsar Admin]<!-- --> Fix NPE when get OffloadThreshold on namespace <a href="https://github.com/apache/pulsar/pull/18061" target="_blank" rel="noopener noreferrer">#18061</a></li><li>[Pulsar Admin]<!-- --> Add SNI header when tlsHostnameVerification is not enabled <a href="https://github.com/apache/pulsar/pull/17543" target="_blank" rel="noopener noreferrer">#17543</a></li><li>[Pulsar Admin]<!-- --> Unset namespace policy to improve deleting namespace <a href="https://github.com/apache/pulsar/pull/17033" target="_blank" rel="noopener noreferrer">#17033</a></li><li>[Pulsar Admin]<!-- --> Reduce PartitionedStats local REST call <a href="https://github.com/apache/pulsar/pull/16916" target="_blank" rel="noopener noreferrer">#16916</a></li><li>[Pulsar Admin]<!-- --> Make some police methods async in Namespaces <a href="https://github.com/apache/pulsar/pull/16881" target="_blank" rel="noopener noreferrer">#16881</a></li><li>[Pulsar Admin]<!-- --> Expose the last consumed flow timestamp for consumer stats <a href="https://github.com/apache/pulsar/pull/16817" target="_blank" rel="noopener noreferrer">#16817</a></li><li>[Pulsar Admin]<!-- --> Make some methods async in Namespaces <a href="https://github.com/apache/pulsar/pull/16814" target="_blank" rel="noopener noreferrer">#16814</a></li><li>[Pulsar Admin]<!-- --> Dynamic configuration for check unknown request parameters <a href="https://github.com/apache/pulsar/pull/16781" target="_blank" rel="noopener noreferrer">#16781</a></li><li>[Pulsar Admin]<!-- --> Make offload police methods async in Namespaces <a href="https://github.com/apache/pulsar/pull/16760" target="_blank" rel="noopener noreferrer">#16760</a></li><li>[Pulsar Admin]<!-- --> Support the admin API to check unknown request <a href="https://github.com/apache/pulsar/pull/16577" target="_blank" rel="noopener noreferrer">#16577</a></li><li>[Pulsar Admin]<!-- --> Make getBacklogQuotaMap method async in Namespaces <a href="https://github.com/apache/pulsar/pull/16504" target="_blank" rel="noopener noreferrer">#16504</a></li><li>[Pulsar Admin]<!-- --> Make GetMessageIdByTimestamp pure async <a href="https://github.com/apache/pulsar/pull/16446" target="_blank" rel="noopener noreferrer">#16446</a></li><li>[Pulsar Admin]<!-- --> Make splitNamespaceBundle and getTopicHashPositions async <a href="https://github.com/apache/pulsar/pull/16411" target="_blank" rel="noopener noreferrer">#16411</a></li><li>[Pulsar Admin]<!-- --> Make AutoSubscriptionCreation async <a href="https://github.com/apache/pulsar/pull/16329" target="_blank" rel="noopener noreferrer">#16329</a></li><li>[Pulsar Admin]<!-- --> Make SubscriptionExpirationTime method async <a href="https://github.com/apache/pulsar/pull/16328" target="_blank" rel="noopener noreferrer">#16328</a></li><li>[Pulsar Admin]<!-- --> Make some method on permission async <a href="https://github.com/apache/pulsar/pull/16324" target="_blank" rel="noopener noreferrer">#16324</a></li><li>[Pulsar Admin]<!-- --> Make unloadNamespaceBundle async <a href="https://github.com/apache/pulsar/pull/16313" target="_blank" rel="noopener noreferrer">#16313</a></li><li>[Pulsar Admin]<!-- --> Make Namespaces.deleteNamespaceBundle async <a href="https://github.com/apache/pulsar/pull/16287" target="_blank" rel="noopener noreferrer">#16287</a></li><li>[Pulsar Admin]<!-- --> Make deleteTopic method async <a href="https://github.com/apache/pulsar/pull/16232" target="_blank" rel="noopener noreferrer">#16232</a></li><li>[Pulsar Admin]<!-- --> Make compactionStatus method async <a href="https://github.com/apache/pulsar/pull/16231" target="_blank" rel="noopener noreferrer">#16231</a></li><li>[Pulsar Admin]<!-- --> Make terminate method async <a href="https://github.com/apache/pulsar/pull/16227" target="_blank" rel="noopener noreferrer">#16227</a></li><li>[Pulsar Admin]<!-- --> Make getList async <a href="https://github.com/apache/pulsar/pull/16221" target="_blank" rel="noopener noreferrer">#16221</a></li><li>[Pulsar Admin]<!-- --> Make getPartitionedTopicList method async <a href="https://github.com/apache/pulsar/pull/16217" target="_blank" rel="noopener noreferrer">#16217</a></li><li>[Pulsar Admin]<!-- --> Improve documentation for unackedMessages stat <a href="https://github.com/apache/pulsar/pull/16213" target="_blank" rel="noopener noreferrer">#16213</a></li><li>[Pulsar Admin]<!-- --> Make internalPeekNthMessage method async <a href="https://github.com/apache/pulsar/pull/16192" target="_blank" rel="noopener noreferrer">#16192</a></li><li>[Pulsar Admin]<!-- --> Fix get non-persistent topics issue in Namespaces <a href="https://github.com/apache/pulsar/pull/16170" target="_blank" rel="noopener noreferrer">#16170</a></li><li>[Pulsar Admin]<!-- --> Make getInternalStats method async <a href="https://github.com/apache/pulsar/pull/16141" target="_blank" rel="noopener noreferrer">#16141</a></li><li>[Pulsar Admin]<!-- --> Fix get-publish-rete Admin API handle exception behavior <a href="https://github.com/apache/pulsar/pull/16001" target="_blank" rel="noopener noreferrer">#16001</a></li><li>[Pulsar Admin]<!-- --> Release LookupRequestSemaphore before returning data <a href="https://github.com/apache/pulsar/pull/13549" target="_blank" rel="noopener noreferrer">#15974</a></li><li>[Pulsar Admin]<!-- --> Fix producer/consume permission can’t get schema <a href="https://github.com/apache/pulsar/pull/15956" target="_blank" rel="noopener noreferrer">#15956</a></li><li>[Pulsar Admin]<!-- --> Make publish rate and dispatch rate operation async <a href="https://github.com/apache/pulsar/pull/15946" target="_blank" rel="noopener noreferrer">#15946</a></li><li>[Pulsar Admin]<!-- --> Support to get topic properties <a href="https://github.com/apache/pulsar/pull/15944" target="_blank" rel="noopener noreferrer">#15944</a></li><li>[Pulsar Admin]<!-- --> New API to get subscription properties <a href="https://github.com/apache/pulsar/pull/16095" target="_blank" rel="noopener noreferrer">#16095</a></li><li>[Pulsar Admin]<!-- --> Make some operation subscription dispatchRate methods in Namespaces async <a href="https://github.com/apache/pulsar/pull/15880" target="_blank" rel="noopener noreferrer">#15880</a></li><li>[Pulsar Admin]<!-- --> Make some methods in SchemasResourceBase async <a href="https://github.com/apache/pulsar/pull/15821" target="_blank" rel="noopener noreferrer">#15821</a></li><li>[Pulsar Admin]<!-- --> Make some operation replication clusters async <a href="https://github.com/apache/pulsar/pull/15760" target="_blank" rel="noopener noreferrer">#15760</a></li><li>[Pulsar Admin]<!-- --> Make some methods of ClusterBase pure async <a href="https://github.com/apache/pulsar/pull/15685" target="_blank" rel="noopener noreferrer">#15685</a></li><li>[Pulsar Admin]<!-- --> Allow creating builtin functions in pulsar-admin CLI <a href="https://github.com/apache/pulsar/pull/15671" target="_blank" rel="noopener noreferrer">#15671</a></li><li>[Pulsar Admin]<!-- --> Enable users to specify TTL options in units other than seconds <a href="https://github.com/apache/pulsar/pull/15657" target="_blank" rel="noopener noreferrer">#15657</a></li><li>[Pulsar Admin]<!-- --> Make some operation SubscribeRate methods in Namespaces async <a href="https://github.com/apache/pulsar/pull/15656" target="_blank" rel="noopener noreferrer">#15656</a></li><li>[Pulsar Admin]<!-- --> Add transaction admin to get recover time in stats <a href="https://github.com/apache/pulsar/pull/15654" target="_blank" rel="noopener noreferrer">#15654</a></li><li>[Pulsar Admin]<!-- --> Make some operation auto topic creation in Namespaces async <a href="https://github.com/apache/pulsar/pull/15621" target="_blank" rel="noopener noreferrer">#15621</a></li><li>[Pulsar Admin]<!-- --> Add topic name and sub name for NotFound error message <a href="https://github.com/apache/pulsar/pull/15606" target="_blank" rel="noopener noreferrer">#15606</a></li><li>[Pulsar Admin]<!-- --> Make some methods in ResourceQuotasBase async <a href="https://github.com/apache/pulsar/pull/15605" target="_blank" rel="noopener noreferrer">#15605</a></li><li>[Pulsar Admin]<!-- --> Make some methods in TenantsBase async <a href="https://github.com/apache/pulsar/pull/15603" target="_blank" rel="noopener noreferrer">#15603</a></li><li>[Pulsar Admin]<!-- --> Make some operation messageTTL methods in Namespaces async <a href="https://github.com/apache/pulsar/pull/15577" target="_blank" rel="noopener noreferrer">#15577</a></li><li>[Pulsar Admin]<!-- --> Enable users to specify some time options in units other than seconds <a href="https://github.com/apache/pulsar/pull/15563" target="_blank" rel="noopener noreferrer">#15563</a></li><li>[Pulsar Admin]<!-- --> Make some methods of ClusterBase pure async <a href="https://github.com/apache/pulsar/pull/15527" target="_blank" rel="noopener noreferrer">#15527</a></li><li>[Pulsar Admin]<!-- --> Support filtering system topic when get list <a href="https://github.com/apache/pulsar/pull/15410" target="_blank" rel="noopener noreferrer">#15410</a></li><li>[Pulsar Admin]<!-- --> Make some methods of ClusterBase pure async <a href="https://github.com/apache/pulsar/pull/15358" target="_blank" rel="noopener noreferrer">#15358</a></li><li>[Pulsar Admin]<!-- --> Make some methods of ClusterBase pure async <a href="https://github.com/apache/pulsar/pull/15318" target="_blank" rel="noopener noreferrer">#15318</a></li><li>[Pulsar Admin]<!-- --> Add admin api updateTransactionCoordinatorNumber <a href="https://github.com/apache/pulsar/pull/15296" target="_blank" rel="noopener noreferrer">#15296</a></li><li>[Pulsar Admin]<!-- --> Put validateTopicOwnershipAsync before validateTopicOperationAsync <a href="https://github.com/apache/pulsar/pull/15265" target="_blank" rel="noopener noreferrer">#15265</a></li><li>[Pulsar Admin]<!-- --> Remove duplication validateTopicOwnershipAsync <a href="https://github.com/apache/pulsar/pull/15410" target="_blank" rel="noopener noreferrer">#15120</a></li><li>[Pulsar Admin]<!-- --> Fix pulsar-admin not prompting message when there is a 500 error <a href="https://github.com/apache/pulsar/pull/14856" target="_blank" rel="noopener noreferrer">#14856</a></li><li>[Pulsar Admin]<!-- --> Add get active brokers api without cluster name <a href="https://github.com/apache/pulsar/pull/14702" target="_blank" rel="noopener noreferrer">#14702</a></li><li>[Pulsar Admin]<!-- --> Grab contextual stacktrace for sync methods <a href="https://github.com/apache/pulsar/pull/14620" target="_blank" rel="noopener noreferrer">#14620</a></li><li>[Pulsar Admin]<!-- --> Correct status message prompt <a href="https://github.com/apache/pulsar/pull/14603" target="_blank" rel="noopener noreferrer">#14603</a></li><li>[Pulsar CLI]<!-- --> Fix NPE in admin-CLI topic stats command <a href="https://github.com/apache/pulsar/pull/18326" target="_blank" rel="noopener noreferrer">#18326</a></li><li>[Pulsar CLI]<!-- --> Fix CLI client produce don&#x27;t able to use multiple -m send multiple messages <a href="https://github.com/apache/pulsar/pull/18238" target="_blank" rel="noopener noreferrer">#18238</a></li><li>[Pulsar CLI]<!-- --> Pulsar shell: allow to create a new config (--file) with a relative path <a href="https://github.com/apache/pulsar/pull/17675" target="_blank" rel="noopener noreferrer">#17675</a></li><li>[Pulsar CLI]<!-- --> Pulsar shell: do not exit on user interrupt during commands <a href="https://github.com/apache/pulsar/pull/18615" target="_blank" rel="noopener noreferrer">#18615</a></li><li>[Pulsar CLI]<!-- --> Pulsar shell: allow cloning an existing config <a href="https://github.com/apache/pulsar/pull/18608" target="_blank" rel="noopener noreferrer">#18608</a></li><li>[Pulsar CLI]<!-- --> Pulsar shell: support relative paths <a href="https://github.com/apache/pulsar/pull/17648" target="_blank" rel="noopener noreferrer">#17648</a></li><li>[Pulsar CLI]<!-- --> Pulsar shell, Pulsar admin, Pulsar client and Pulsar perf: support for Windows <a href="https://github.com/apache/pulsar/pull/17243" target="_blank" rel="noopener noreferrer">#17243</a></li><li>[Pulsar CLI]<!-- --> Pulsar shell: add command to set/get property of a config <a href="https://github.com/apache/pulsar/pull/17651" target="_blank" rel="noopener noreferrer">#17651</a></li><li>[Pulsar CLI]<!-- --> Fix Pulsar shell custom commands execution <a href="https://github.com/apache/pulsar/pull/17479" target="_blank" rel="noopener noreferrer">#17479</a></li><li>[Pulsar CLI]<!-- --> CLI extensions: rename default location to &#x27;cliextensions&#x27; <a href="https://github.com/apache/pulsar/pull/17435" target="_blank" rel="noopener noreferrer">#17435</a></li><li>[Pulsar CLI]<!-- --> Exclude windows script from the docker image <a href="https://github.com/apache/pulsar/pull/17404" target="_blank" rel="noopener noreferrer">#17404</a></li><li>[Pulsar CLI]<!-- --> Add a separate TLS transport encryption configuration <a href="https://github.com/apache/pulsar/pull/16930" target="_blank" rel="noopener noreferrer">#16930</a></li><li>[Pulsar CLI]<!-- --> Fix incorrect description for producing messages <a href="https://github.com/apache/pulsar/pull/16876" target="_blank" rel="noopener noreferrer">#16876</a></li><li>[Pulsar CLI]<!-- --> Use NoSplitter for subscription properties <a href="https://github.com/apache/pulsar/pull/16862" target="_blank" rel="noopener noreferrer">#16862</a></li><li>[Pulsar CLI]<!-- --> Add TLS provider support <a href="https://github.com/apache/pulsar/pull/16700" target="_blank" rel="noopener noreferrer">#16700</a></li><li>[Pulsar CLI]<!-- --> Support getEarliestTimeInBacklog at getPartitionedStats method <a href="https://github.com/apache/pulsar/pull/16388" target="_blank" rel="noopener noreferrer">#16388</a></li><li>[Pulsar CLI]<!-- --> Add query options to the get topics in Namespace <a href="https://github.com/apache/pulsar/pull/16167" target="_blank" rel="noopener noreferrer">#16167</a></li><li>[Pulsar CLI]<!-- --> Add cli cmd for subscription level dispatch-rate-limiter <a href="https://github.com/apache/pulsar/pull/15862" target="_blank" rel="noopener noreferrer">#15862</a></li><li>[Pulsar CLI]<!-- --> Disable Pulsar client memory limit by default <a href="https://github.com/apache/pulsar/pull/15748" target="_blank" rel="noopener noreferrer">#15748</a></li><li>[Pulsar CLI]<!-- --> Fix check on create function class name <a href="https://github.com/apache/pulsar/pull/15862" target="_blank" rel="noopener noreferrer">#15700</a></li><li>[Pulsar CLI]<!-- --> Support filtering system topic when get list <a href="https://github.com/apache/pulsar/pull/15410" target="_blank" rel="noopener noreferrer">#15410</a></li><li>[Pulsar CLI]<!-- --> Change the default for max-connections from 100 to 1 <a href="https://github.com/apache/pulsar/pull/15387" target="_blank" rel="noopener noreferrer">#15387</a></li><li>[Pulsar CLI]<!-- --> Add short name for full name in admin cli <a href="https://github.com/apache/pulsar/pull/14301" target="_blank" rel="noopener noreferrer">#14301</a></li><li>[Client Tool]<!-- --> Using int instead of long in python scripts <a href="https://github.com/apache/pulsar/pull/17215" target="_blank" rel="noopener noreferrer">#17215</a></li><li>[Client Tool]<!-- --> Fix using directory &#x27;?&#x27; in the docker image <a href="https://github.com/apache/pulsar/pull/17185" target="_blank" rel="noopener noreferrer">#17185</a></li><li>[Client Tool]<!-- --> Handle ctrl-d and exit the shell <a href="https://github.com/apache/pulsar/pull/17204" target="_blank" rel="noopener noreferrer">#17204</a></li><li>[Client Tool]<!-- --> Add tlsTrustCertFilePath as CLI argument for pulsar-client-tool <a href="https://github.com/apache/pulsar/pull/16961" target="_blank" rel="noopener noreferrer">#16961</a></li><li>[Perf Tool]<!-- --> Able to set maxLookupRequest for pulsar-perf <a href="https://github.com/apache/pulsar/pull/16967" target="_blank" rel="noopener noreferrer">#16967</a></li><li>[Perf Tool]<!-- --> Pulsar-perf fails on jdk17 <a href="https://github.com/apache/pulsar/pull/18806" target="_blank" rel="noopener noreferrer">#18806</a></li></ul><h3 class="anchor anchorWithStickyNavbar_LWe7" id="others">Others<a href="#others" class="hash-link" aria-label="Direct link to Others" title="Direct link to Others"></a></h3><ul><li>[Proxy]<!-- --> Fix refresh client auth <a href="https://github.com/apache/pulsar/pull/17831" target="_blank" rel="noopener noreferrer">#17831</a></li><li>[Proxy]<!-- --> Update proxy lookup throw exception type <a href="https://github.com/apache/pulsar/pull/17600" target="_blank" rel="noopener noreferrer">#17600</a></li><li>[Proxy]<!-- --> Add TLS transport encryption for broker client <a href="https://github.com/apache/pulsar/pull/16833" target="_blank" rel="noopener noreferrer">#16833</a></li><li>[Proxy]<!-- --> Fix client service URL <a href="https://github.com/apache/pulsar/pull/16834" target="_blank" rel="noopener noreferrer">#16834</a></li><li>[Proxy]<!-- --> Consolidate Netty channel flushes to mitigate syscall overhead <a href="https://github.com/apache/pulsar/pull/16372" target="_blank" rel="noopener noreferrer">#16372</a></li><li>[Proxy]<!-- --> Do not preserve host when forwarding admin requests <a href="https://github.com/apache/pulsar/pull/16342" target="_blank" rel="noopener noreferrer">#16342</a></li><li>[Proxy]<!-- --> Switch to rely on Netty for Hostname Verification <a href="https://github.com/apache/pulsar/pull/15824" target="_blank" rel="noopener noreferrer">#15824</a></li><li>[Proxy]<!-- --> Support zero-copy of NIC to NIC on Proxy <a href="https://github.com/apache/pulsar/pull/15678" target="_blank" rel="noopener noreferrer">#15678</a></li><li>[Proxy]<!-- --> Suggestion put brokerProxyAllowedTargetPorts in proxy.conf <a href="https://github.com/apache/pulsar/pull/15069" target="_blank" rel="noopener noreferrer">#15069</a></li><li>[Proxy]<!-- --> Exit if proxy service fails to start <a href="https://github.com/apache/pulsar/pull/15076" target="_blank" rel="noopener noreferrer">#15076</a></li><li>[Proxy]<!-- --> Add support of PrometheusRawMetricsProvider for the Pulsar-Proxy <a href="https://github.com/apache/pulsar/pull/14681" target="_blank" rel="noopener noreferrer">#14681</a></li><li>[Proxy]<!-- --> Fail proxy startup if brokerServiceURL is missing scheme <a href="https://github.com/apache/pulsar/pull/14682" target="_blank" rel="noopener noreferrer">#14682</a></li><li>[Proxy]<!-- --> Fix DNS server denial-of-service issue when DNS entry expires <a href="https://github.com/apache/pulsar/pull/15403" target="_blank" rel="noopener noreferrer">#15403</a></li><li>[Proxy]<!-- --> Remove unnecessary blocking DNS lookup in LookupProxyHandler <a href="https://github.com/apache/pulsar/pull/15415" target="_blank" rel="noopener noreferrer">#15415</a></li><li>[WebSocket]<!-- --> Support encryption in websocket proxy <a href="https://github.com/apache/pulsar/pull/16234" target="_blank" rel="noopener noreferrer">#16234</a></li><li>[WebSocket]<!-- --> Fix MultiTopicReader#getConsumer ClassCastException <a href="https://github.com/apache/pulsar/pull/15534" target="_blank" rel="noopener noreferrer">#15534</a></li><li>[WebSocket]<!-- --> Add KeyStore support in WebSocket, Function Worker HTTPS Servers <a href="https://github.com/apache/pulsar/pull/15084" target="_blank" rel="noopener noreferrer">#15084</a></li><li>[WebSocket]<!-- --> Fix ClassCastException when user create MultiTopicReader <a href="https://github.com/apache/pulsar/pull/14316" target="_blank" rel="noopener noreferrer">#14316</a></li><li>[Package Management]<!-- --> Fix the new path /data introduced regression <a href="https://github.com/apache/pulsar/pull/15367" target="_blank" rel="noopener noreferrer">#15367</a></li><li>[Schema]<!-- --> Add decode InputStream for Schema <a href="https://github.com/apache/pulsar/pull/16659" target="_blank" rel="noopener noreferrer">#16659</a></li><li>[Schema]<!-- --> Expose timestamp field for SchemaData&amp;SchemaInfo <a href="https://github.com/apache/pulsar/pull/16380" target="_blank" rel="noopener noreferrer">#16380</a></li><li>[Schema]<!-- --> Add classLoader field for SchemaDefinition <a href="https://github.com/apache/pulsar/pull/15915" target="_blank" rel="noopener noreferrer">#15915</a></li><li>[Schema]<!-- --> Fix conversion of TimestampMillisConversion has no effect when Jsr310Conversion enabled <a href="https://github.com/apache/pulsar/pull/15863" target="_blank" rel="noopener noreferrer">#15863</a></li><li>[Schema]<!-- --> Ensure the deletion consistency of topic and schema <a href="https://github.com/apache/pulsar/pull/14608" target="_blank" rel="noopener noreferrer">#14608</a></li><li>[Tiered Storage]<!-- --> Shared subscription: improvement with offloaded ledgers <a href="https://github.com/apache/pulsar/pull/16417" target="_blank" rel="noopener noreferrer">#16417</a></li><li>[Tiered Storage]<!-- --> Fix the wrong secret key name get from env <a href="https://github.com/apache/pulsar/pull/15814" target="_blank" rel="noopener noreferrer">#15814</a></li><li>[Tiered Storage]<!-- --> Add pure S3 provider for the offloader <a href="https://github.com/apache/pulsar/pull/15710" target="_blank" rel="noopener noreferrer">#15710</a></li><li>[Tiered Storage]<!-- --> Autorecovery default reppDnsResolverClass to ZkBookieRackAffinityMapping <a href="https://github.com/apache/pulsar/pull/15640" target="_blank" rel="noopener noreferrer">#15640</a></li><li>[Tiered Storage]<!-- --> Reduce CPU usage when offloading ledgers <a href="https://github.com/apache/pulsar/pull/15063" target="_blank" rel="noopener noreferrer">#15063</a></li><li>[Tiered Storage]<!-- --> Fix potential NPE in MockManagedLedger <a href="https://github.com/apache/pulsar/pull/15006" target="_blank" rel="noopener noreferrer">#15006</a></li><li>[Tiered Storage]<!-- --> Add API to scan objects on Tiered Storage <a href="https://github.com/apache/pulsar/pull/14930" target="_blank" rel="noopener noreferrer">#14930</a></li><li>[Tiered Storage]<!-- --> Fix incorrect entryId in warn log when reading entry from tiered storage <a href="https://github.com/apache/pulsar/pull/14685" target="_blank" rel="noopener noreferrer">#14685</a></li><li>Include Pulsar shell in the released artifacts <a href="https://github.com/apache/pulsar/pull/18583" target="_blank" rel="noopener noreferrer">#18583</a></li><li>Add lombok plugin to solve Javadoc issue <a href="https://github.com/apache/pulsar/pull/18520" target="_blank" rel="noopener noreferrer">#18520</a></li><li>Remove cmd-line level test retries <a href="https://github.com/apache/pulsar/pull/16524" target="_blank" rel="noopener noreferrer">#16524</a></li><li>Fix potentially incompatible Java opts caused by IS_JAVA_8 <a href="https://github.com/apache/pulsar/pull/15444" target="_blank" rel="noopener noreferrer">#15444</a></li><li>Remove obsolete jdk11 and errorprone-jdk11 maven profiles <a href="https://github.com/apache/pulsar/pull/15505" target="_blank" rel="noopener noreferrer">#15505</a></li><li>Remove internal dependency: pulsar-functions-instance <a href="https://github.com/apache/pulsar/pull/14925" target="_blank" rel="noopener noreferrer">#14925</a></li><li>Enable retries for apt-get when building Pulsar docker image <a href="https://github.com/apache/pulsar/pull/15505" target="_blank" rel="noopener noreferrer">#14513</a></li><li>Migrate Docker images and CI to Java 17 <a href="https://github.com/apache/pulsar/pull/14355" target="_blank" rel="noopener noreferrer">#14355</a></li></ul><h3 class="anchor anchorWithStickyNavbar_LWe7" id="library-updates">Library updates<a href="#library-updates" class="hash-link" aria-label="Direct link to Library updates" title="Direct link to Library updates"></a></h3><ul><li>Remove versions that are handled by netty-bom <a href="https://github.com/apache/pulsar/pull/18629" target="_blank" rel="noopener noreferrer">#18629</a></li><li>Upgrade Netty to 4.1.86.Final and Netty Tcnative to 2.0.54.Final <a href="https://github.com/apache/pulsar/pull/18599" target="_blank" rel="noopener noreferrer">#18599</a></li><li>Upgrade jackson-databind to 2.13.4.2 to get rid of CVE-2022-42003 <a href="https://github.com/apache/pulsar/pull/18394" target="_blank" rel="noopener noreferrer">#18394</a></li><li>Bump bookkeeper version to 4.15.3 <a href="https://github.com/apache/pulsar/pull/18455" target="_blank" rel="noopener noreferrer">#18455</a></li><li>Upgrade jackson-databind to 2.13.4.2 to get rid of CVE-2022-42003 <a href="https://github.com/apache/pulsar/pull/18394" target="_blank" rel="noopener noreferrer">#18394</a></li><li>Upgrade protobuf to 3.19.6 to get rid of CVE-2022-3171 <a href="https://github.com/apache/pulsar/pull/18086" target="_blank" rel="noopener noreferrer">#18086</a></li><li>Bump commons-text to 1.10.0 fix CVE-2022-42889 <a href="https://github.com/apache/pulsar/pull/18053" target="_blank" rel="noopener noreferrer">#18053</a></li><li>File tiered storage: upgrade jettison to get rid of CVE-2022-40149 <a href="https://github.com/apache/pulsar/pull/18022" target="_blank" rel="noopener noreferrer">#18022</a></li><li>Upgrade scala-library to get rid of CVE-2022-36944 <a href="https://github.com/apache/pulsar/pull/18021" target="_blank" rel="noopener noreferrer">#18021</a></li><li>Upgrade JacksonXML to 2.13.4 <a href="https://github.com/apache/pulsar/pull/18020" target="_blank" rel="noopener noreferrer">#18020</a></li><li>Upgrade to Jetty to 9.4.48.v20220622 <a href="https://github.com/apache/pulsar/pull/16520" target="_blank" rel="noopener noreferrer">#16520</a></li><li>Bump maven-dependency-plugin to 3.3.0 <a href="https://github.com/apache/pulsar/pull/16318" target="_blank" rel="noopener noreferrer">#16318</a></li><li>Bump os-maven-plugin version from 1.4.1.Final to 1.7.0 <a href="https://github.com/apache/pulsar/pull/16308" target="_blank" rel="noopener noreferrer">#16308</a></li><li>Bump presto.version to run PrestoServer on JDK11+ <a href="https://github.com/apache/pulsar/pull/16163" target="_blank" rel="noopener noreferrer">#16163</a></li><li>Update fastjson version to 1.2.83 <a href="https://github.com/apache/pulsar/pull/16148" target="_blank" rel="noopener noreferrer">#16148</a></li><li>Bump PyYAML from 5.3.1 to 5.4.1 to solve CVE-2020-14343 <a href="https://github.com/apache/pulsar/pull/15989" target="_blank" rel="noopener noreferrer">#15989</a></li><li>Bump spring version to 5.3.20 to solve CVE-2022-22970 <a href="https://github.com/apache/pulsar/pull/15699" target="_blank" rel="noopener noreferrer">#15699</a></li><li>Bump snappy zstd version to fix CompressorCodecBackwardCompatTest on Apple M1 <a href="https://github.com/apache/pulsar/pull/15698" target="_blank" rel="noopener noreferrer">#15698</a></li><li>Athenz: do not use uber-jar and bump to 1.10.50 to remove jackson-databind shaded dependency <a href="https://github.com/apache/pulsar/pull/14884" target="_blank" rel="noopener noreferrer">#14884</a></li><li>Remove --illegal-access errors resulting from Google Guice - Pulsar IO, Offloaders and Pulsar SQL - Bump Guice to 5.1.0 <a href="https://github.com/apache/pulsar/pull/14300" target="_blank" rel="noopener noreferrer">#14300</a></li><li>Bump prometheus client version from 0.5.0 to 0.15.0 <a href="https://github.com/apache/pulsar/pull/13785" target="_blank" rel="noopener noreferrer">#13785</a></li><li>Upgrade log4j2 version to 2.18.0 <a href="https://github.com/apache/pulsar/pull/16884" target="_blank" rel="noopener noreferrer">#16884</a></li></ul><h3 class="anchor anchorWithStickyNavbar_LWe7" id="documentation">Documentation<a href="#documentation" class="hash-link" aria-label="Direct link to Documentation" title="Direct link to Documentation"></a></h3><p>This section only highlights the availability of docs serving existing features.</p><ul><li>Add docs about <a href="https://pulsar.apache.org/docs/2.11.x/concepts-messaging#system-topic" target="_blank" rel="noopener noreferrer">system topic</a> <a href="https://github.com/apache/pulsar/pull/14795" target="_blank" rel="noopener noreferrer">#14795</a></li><li>Add a comprehensive reference table about <a href="https://pulsar.apache.org/docs/2.11.x/functions-cli" target="_blank" rel="noopener noreferrer">YAML configurations</a> of Pulsar Functions <a href="https://github.com/apache/pulsar/pull/15389" target="_blank" rel="noopener noreferrer">#15389</a></li><li>Add instructions about <a href="https://pulsar.apache.org/contributing/#ci-testing-in-your-fork" target="_blank" rel="noopener noreferrer">how to run CI from fork</a> to the Contribution Guide <a href="https://github.com/apache/pulsar/pull/15535" target="_blank" rel="noopener noreferrer">#15535</a></li><li>Add docs about <a href="https://pulsar.apache.org/docs/2.11.x/security-basic-auth" target="_blank" rel="noopener noreferrer">basic authentication</a> <a href="https://github.com/apache/pulsar/pull/15734" target="_blank" rel="noopener noreferrer">#15734</a></li><li>Add docs about <a href="https://pulsar.apache.org/docs/2.11.x/administration-isolation" target="_blank" rel="noopener noreferrer">isolation deployments</a> <a href="https://github.com/apache/pulsar/pull/15802" target="_blank" rel="noopener noreferrer">#15802</a></li><li>Redesign the information architecture and improve the content of <a href="https://pulsar.apache.org/docs/2.11.x/functions-overview" target="_blank" rel="noopener noreferrer">Pulsar Functions</a> and add a new topic about <a href="https://pulsar.apache.org/docs/2.11.x/functions-quickstart" target="_blank" rel="noopener noreferrer">how to get started</a> <a href="https://github.com/apache/pulsar/pull/15975" target="_blank" rel="noopener noreferrer">#15975</a></li><li>Add docs about <a href="https://pulsar.apache.org/docs/2.11.x/administration-load-balance#distribute-anti-affinity-namespaces-across-failure-domains" target="_blank" rel="noopener noreferrer">anti-affinity namespace distribution across failure domains</a> <a href="https://github.com/apache/pulsar/pull/16069" target="_blank" rel="noopener noreferrer">#16069</a></li><li>Add an introductory table about <a href="https://pulsar.apache.org/docs/2.11.x/reference-metrics#replication-metrics" target="_blank" rel="noopener noreferrer">BookKeeper recovery metrics</a> <a href="https://github.com/apache/pulsar/pull/16554" target="_blank" rel="noopener noreferrer">#16554</a></li><li>Publish REST API docs for <a href="https://pulsar.apache.org/lookup-rest-api/?version=master" target="_blank" rel="noopener noreferrer">lookup</a> related operations <a href="https://github.com/apache/pulsar/pull/16621" target="_blank" rel="noopener noreferrer">#16621</a></li><li>Add more concepts and user tasks about <a href="https://pulsar.apache.org/docs/2.11.x/administration-isolation-bookie" target="_blank" rel="noopener noreferrer">bookie isolation</a> <a href="https://github.com/apache/pulsar/pull/16843" target="_blank" rel="noopener noreferrer">#16843</a></li><li>Use 2.8.x/2.9.x/2.10.x doc set instead of version-specific doc set <a href="https://github.com/apache/pulsar/pull/17074" target="_blank" rel="noopener noreferrer">#17074</a></li></ul><p>For the comprehensive list of doc-related improvements in 2.11.0, you can go to <a href="https://github.com/apache/pulsar/pulls?q=is%3Apr+milestone%3A2.11.0+label%3Adoc+is%3Aclosed" target="_blank" rel="noopener noreferrer">GitHub</a>.</p><blockquote><p>A special thanks to the following contributors (alphabetic Github IDs) who helped add the docs for Pulsar 2.11.0.</p><p><a href="https://github.com/0xflotus" target="_blank" rel="noopener noreferrer">0xflotus</a>, <a href="https://github.com/315157973" target="_blank" rel="noopener noreferrer">315157973</a>, <a href="https://github.com/704237006" target="_blank" rel="noopener noreferrer">704237006</a>, <a href="https://github.com/AlphaWang" target="_blank" rel="noopener noreferrer">AlphaWang</a>, <a href="https://github.com/alpreu" target="_blank" rel="noopener noreferrer">alpreu</a>, <a href="https://github.com/AlvaroStream" target="_blank" rel="noopener noreferrer">AlvaroStream</a>, <a href="https://github.com/AnonHxy" target="_blank" rel="noopener noreferrer">AnonHxy</a>,<a href="https://github.com/Anonymitaet" target="_blank" rel="noopener noreferrer">Anonymitaet</a>, <a href="https://github.com/asafm" target="_blank" rel="noopener noreferrer">asafm</a>, <a href="https://github.com/cbornet" target="_blank" rel="noopener noreferrer">cbornet</a>, <a href="https://github.com/codelipenghui" target="_blank" rel="noopener noreferrer">codelipenghui</a>, <a href="https://github.com/coderzc" target="_blank" rel="noopener noreferrer">coderzc</a>, <a href="https://github.com/D-2-Ed" target="_blank" rel="noopener noreferrer">D-2-Ed</a>, <a href="https://github.com/DaveDuggins" target="_blank" rel="noopener noreferrer">DaveDuggins</a>, <a href="https://github.com/Demogorgon314" target="_blank" rel="noopener noreferrer">Demogorgon314</a>, <a href="https://github.com/ericsyh" target="_blank" rel="noopener noreferrer">ericsyh</a>, <a href="https://github.com/fantapsody" target="_blank" rel="noopener noreferrer">fantapsody</a>, <a href="https://github.com/futeng" target="_blank" rel="noopener noreferrer">futeng</a>, <a href="https://github.com/hangc0276" target="_blank" rel="noopener noreferrer">hangc0276</a>, <a href="https://github.com/heesung-sn" target="_blank" rel="noopener noreferrer">heesung-sn</a>, <a href="https://github.com/hrsakai" target="_blank" rel="noopener noreferrer">hrsakai</a>, <a href="https://github.com/HQebupt" target="_blank" rel="noopener noreferrer">HQebupt</a>, <a href="https://github.com/horizonzy" target="_blank" rel="noopener noreferrer">horizonzy</a>, <a href="https://github.com/Huanli-Meng" target="_blank" rel="noopener noreferrer">Huanli-Meng</a>, <a href="https://github.com/gaozhangmin" target="_blank" rel="noopener noreferrer">gaozhangmin</a>, <a href="https://github.com/ikilobyte" target="_blank" rel="noopener noreferrer">ikilobyte</a>, <a href="https://github.com/Jason918" target="_blank" rel="noopener noreferrer">Jason918</a>, <a href="https://github.com/komalatammal" target="_blank" rel="noopener noreferrer">komalatammal</a>, <a href="https://github.com/labuladong" target="_blank" rel="noopener noreferrer">labuladong</a>, <a href="https://github.com/larshp" target="_blank" rel="noopener noreferrer">larshp</a>, <a href="https://github.com/lgxbslgx" target="_blank" rel="noopener noreferrer">lgxbslgx</a>, <a href="https://github.com/lhotari" target="_blank" rel="noopener noreferrer">lhotari</a>, <a href="https://github.com/liangyepianzhou" target="_blank" rel="noopener noreferrer">liangyepianzhou</a>, <a href="https://github.com/lin-zhao" target="_blank" rel="noopener noreferrer">lin-zhao</a>, <a href="https://github.com/liudezhi2098" target="_blank" rel="noopener noreferrer">liudezhi2098</a>, <a href="https://github.com/liuzhuang2017" target="_blank" rel="noopener noreferrer">liuzhuang2017</a>, <a href="https://github.com/mans2singh" target="_blank" rel="noopener noreferrer">Mans2singh</a>, <a href="https://github.com/massakam" target="_blank" rel="noopener noreferrer">massakam</a>, <a href="https://github.com/mattisonchao" target="_blank" rel="noopener noreferrer">mattisonchao</a>, <a href="https://github.com/maxsxu" target="_blank" rel="noopener noreferrer">maxsxu</a>, <a href="/release-notes/versioned/pulsar-2.11.0/mendonk/">mendonk</a>, <a href="https://github.com/merlimat" target="_blank" rel="noopener noreferrer">merlimat</a>, <a href="https://github.com/michaeljmarshall" target="_blank" rel="noopener noreferrer">michaeljmarshall</a>, <a href="https://github.com/misselvexu" target="_blank" rel="noopener noreferrer">misselvexu</a>, <a href="https://github.com/momo-jun" target="_blank" rel="noopener noreferrer">momo-jun</a>, <a href="https://github.com/MTwz" target="_blank" rel="noopener noreferrer">MTwz</a>, <a href="https://github.com/nahguam" target="_blank" rel="noopener noreferrer">nahguam</a>,<a href="https://github.com/nicoloboschi" target="_blank" rel="noopener noreferrer">nicoloboschi</a>, <a href="https://github.com/nodece" target="_blank" rel="noopener noreferrer">nodece</a>, <a href="https://github.com/poorbarcode" target="_blank" rel="noopener noreferrer">poorbarcode</a>, <a href="https://github.com/pradhyumnakashyap" target="_blank" rel="noopener noreferrer">Pradhyumnakashyap</a>, <a href="https://github.com/rdhabalia" target="_blank" rel="noopener noreferrer">rdhabalia</a>, <a href="https://github.com/RobertIndie" target="_blank" rel="noopener noreferrer">RobertIndie</a>, <a href="https://github.com/samredai" target="_blank" rel="noopener noreferrer">samredai</a>, <a href="https://github.com/Shawyeok" target="_blank" rel="noopener noreferrer">Shawyeok</a>, <a href="https://github.com/Sherlock113" target="_blank" rel="noopener noreferrer">Sherlock113</a>, <a href="https://github.com/shibd" target="_blank" rel="noopener noreferrer">shibd</a>, <a href="https://github.com/Shoothzj" target="_blank" rel="noopener noreferrer">Shoothzj</a>, <a href="https://github.com/SignorMercurio" target="_blank" rel="noopener noreferrer">SignorMercurio</a>, <a href="https://github.com/Technoboy-" target="_blank" rel="noopener noreferrer">Technoboy-</a>, <a href="https://github.com/tjiuming" target="_blank" rel="noopener noreferrer">tjiuming</a>, <a href="https://github.com/tisonkun" target="_blank" rel="noopener noreferrer">tisonkun</a>, <a href="https://github.com/urfreespace" target="_blank" rel="noopener noreferrer">urfreespace</a>, <a href="https://github.com/wangjialing218" target="_blank" rel="noopener noreferrer">wangjialing218</a>, <a href="https://github.com/wenbingshen" target="_blank" rel="noopener noreferrer">wenbingshen</a>, <a href="https://github.com/youzipi" target="_blank" rel="noopener noreferrer">youzipi</a>, and <a href="https://github.com/zwOvO" target="_blank" rel="noopener noreferrer">zwOvO</a>.</p></blockquote></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/pulsar-site/edit/main/release-notes/versioned/pulsar-2.11.0.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_vwxv"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages navigation"></nav></div></div><div class="col col--3"><div class="tableOfContents_jeP5 thin-scrollbar theme-doc-toc-desktop"><div class="border"><div style="color:var(--ifm-toc-link-color)">Was this helpful?</div><div style="border-width:1px;padding:3px;display:flex"><div style="justify-content:center;display:flex;border-radius:99999px;width:2.5rem;height:2.5rem;cursor:pointer;background:;color:"><svg style="width:initial;height:initial" width="12" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M10.086 1.594A1 1 0 0 1 11 1a4 4 0 0 1 4 4v3h4.655a3 3 0 0 1 2.994 3.45l-1.38 9A3.002 3.002 0 0 1 18.275 23H4a3 3 0 0 1-3-3v-7a3 3 0 0 1 3-3h2.35l3.736-8.406ZM8 11.212l3.608-8.117A2 2 0 0 1 13 5v4a1 1 0 0 0 1 1h5.671a1 1 0 0 1 1 1.15l-1.38 9a1 1 0 0 1-1 .85H8v-9.788ZM6 21v-9H4a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h2Z" fill="currentColor"></path></svg></div><div style="justify-content:center;display:flex;border-radius:99999px;width:2.5rem;height:2.5rem;cursor:pointer;background:;color:"><svg style="width:initial;height:initial" width="12" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M20.563 3.316A1.31 1.31 0 0 0 19.687 3h-1.688v9h1.688a1.31 1.31 0 0 0 1.312-1.077V4.077a1.31 1.31 0 0 0-.436-.761ZM16 12.788l-3.608 8.117A1.999 1.999 0 0 1 11 19v-4a1 1 0 0 0-1-1H4.328a1.002 1.002 0 0 1-1-1.15l1.38-9a1 1 0 0 1 1-.85h10.291v9.788ZM19.661 1a3.31 3.31 0 0 1 3.329 2.866c.006.044.01.09.01.134v7c0 .045-.004.09-.01.134A3.31 3.31 0 0 1 19.661 14h-2.012l-3.736 8.406a1 1 0 0 1-.914.594 4 4 0 0 1-4-4v-3H4.344a3 3 0 0 1-2.994-3.45l1.38-9A3.002 3.002 0 0 1 5.724 1h13.937Z" fill="currentColor"></path></svg></div></div><div class="Actions_uugI"><a target="_blank" class="Action_iBHd" href="https://github.com/apache/pulsar/issues/new?assignees=&amp;labels=doc-required&amp;projects=&amp;template=doc.yml&amp;title=%5BDoc%5D+">💡 Suggest changes</a><a target="_blank" class="Action_iBHd" href="https://github.com/apache/pulsar/discussions/new?category=q-a">🛟 Get support</a></div></div><ul class="table-of-contents table-of-contents__left-border"><li><a href="#important-notice" class="table-of-contents__link toc-highlight">Important notice</a></li><li><a href="#pips" class="table-of-contents__link toc-highlight">PIPs</a></li><li><a href="#broker" class="table-of-contents__link toc-highlight">Broker</a></li><li><a href="#clients" class="table-of-contents__link toc-highlight">Clients</a></li><li><a href="#pulsar-io-and-pulsar-functions" class="table-of-contents__link toc-highlight">Pulsar IO and Pulsar Functions</a></li><li><a href="#observability" class="table-of-contents__link toc-highlight">Observability</a></li><li><a href="#cli" class="table-of-contents__link toc-highlight">CLI</a></li><li><a href="#others" class="table-of-contents__link toc-highlight">Others</a></li><li><a href="#library-updates" class="table-of-contents__link toc-highlight">Library updates</a></li><li><a href="#documentation" class="table-of-contents__link toc-highlight">Documentation</a></li></ul></div></div></div></div></main></div></div><footer class="footer"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title"></div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://www.apache.org/" target="_blank" rel="noopener noreferrer" class="footer__link-item">Foundation<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://www.apache.org/events/current-event.html" target="_blank" rel="noopener noreferrer" class="footer__link-item">Events<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title"></div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://www.apache.org/licenses/" target="_blank" rel="noopener noreferrer" class="footer__link-item">License<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://www.apache.org/foundation/thanks" target="_blank" rel="noopener noreferrer" class="footer__link-item">Thanks<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://www.apache.org/foundation/sponsorship" target="_blank" rel="noopener noreferrer" class="footer__link-item">Sponsorship<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title"></div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/security/">Security</a></li><li class="footer__item"><a href="https://www.apache.org/foundation/policies/privacy.html" target="_blank" rel="noopener noreferrer" class="footer__link-item">Privacy<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a class="footer__link-item" href="/contact/">Contact</a></li></ul></div><div class="col footer__col"><div class="footer__title"></div><ul class="footer__items clean-list"><li class="footer__item">
<div class="social-icons">
<a target="_blank" href="https://communityinviter.com/apps/apache-pulsar/apache-pulsar" aria-label="Join the Apache Pulsar Slack workspace">
<img alt="Slack logo" src="/img/slack-white.svg" width="26">
</a>
<a target="_blank" href="https://github.com/apache/pulsar/" aria-label="View the Apache Pulsar project on GitHub">
<img alt="GitHub logo" src="/img/github-white.svg" width="26">
</a>
</div>
</li></ul></div></div><div class="footer__bottom text--center"><div class="margin-bottom--sm"><a class="footerLogoLink_BH7S" href="/"><img src="/img/pulsar-white.svg" alt="Pulsar Logo" class="themedImage_ToTc themedImage--light_HNdA footer__logo"><img src="/img/pulsar-white.svg" alt="Pulsar Logo" class="themedImage_ToTc themedImage--dark_i4oU footer__logo"></a></div><div class="footer__copyright">
<div>
<img class="footer-apache-logo" src="/img/feather-logo-white.svg" alt="" width="20">
The Apache Software Foundation
</div>
<p>Apache Pulsar is available under the Apache License, version 2.0. Apache Pulsar is an open-source, distributed messaging and streaming platform built for the cloud.</p>
<p>Copyright © 2024 The Apache Software Foundation. All Rights Reserved. Apache, Pulsar, Apache Pulsar, and the Apache feather logo are trademarks or registered trademarks of The Apache Software Foundation.</p>
</div></div></div></footer></div>
<script src="/assets/js/runtime~main.1d0ed2a7.js"></script>
<script src="/assets/js/main.e07a0c68.js"></script>
</body>
</html>