(#27117) [cleanup][test] Fix deprecation warnings in tests(#27115) [cleanup][test] Replace the deprecated URL(String) constructor in tests(#27114) [cleanup][build] Put swagger annotations on test compile classpaths to fix RequiredMode javac warnings(#27116) [cleanup][test] Replace Netty’s deprecated NioEventLoopGroup and DefaultEventLoopGroup in tests(#27118) [cleanup][test] Fix unchecked warnings in tests(#27090) [fix][test] Fix Mockito stubbing race in NamespaceServiceSplitFailureTest(#27086) [fix][client] Keep non-serialized builder settings across loadConf(#26257) [cleanup][misc] Fix javac deprecation and unchecked warnings in main sources(#27097) [fix][client] Preserve pooled heap message data across repeated reads(#27092) [improve][test] Reduce SchemaServiceTest wall time from 152.5s to 75.0s(#27095) [fix][build] Upgrade RoaringBitmap to 1.6.25 to fix LongBitmap range contains and previousAbsentValue(#27068) [fix][client] Fix double-counted permits when the receiver queue grows during reconnect(#20453) [improve][pip] PIP-273: Enable hostname verification by default(#16647) [fix][ml] Discard a ledger created after its creation was given up on(#25189) [improve][broker] Add http produce backlog quota check(#27078) [fix][client] Fail transaction coordinator requests after close instead of throwing NullPointerException(#27081) [fix][client] Ignore superseded subscribe and producer attempts(#27083) [fix][ws] Release WebSocket consumer pending slots only for pending message ids(#27087) [fix][client] Flush the pending acks before the zero-queue permits on reconnect(#22323) [improve][fn] Support OAuth2 in Go instance(#22978) [improve][txn] Allow transaction owners to abort their own transactions via the abortTransaction admin API(#27073) [fix][client] Fail pending transaction coordinator requests when TransactionMetaStoreHandler closes(#27082) [fix][txn] Keep plain publishes behind the transactional ones TopicTransactionBuffer holds back(#15363) [fix][broker] Retry the dedup cursor delete after a failure while disabling at topic load(#13280) [fix][client] Fix DLQ sending a released message when poolMessages is enabled(#16502) [fix][broker] Start packages management before the function worker service(#27084) [fix][cli] Make pulsar-perf consume and transaction end and await every transaction they open(#20737) [fix][broker] Close the existing consumer when the same consumer subscribes again(#27079) [fix][client] Keep non-transactional messages out of transactional batches on scalable topics(#27080) [fix][txn] Keep plain publishes to scalable-topic segments behind pending transactional ones(#16133) [Functions] fix upload nar file to start function task failed(#19260) [fix][broker] Keep the bundle affinity broker for every lookup until the bundle is owned(#18937) [fix][admin] Read the error response body once when extracting the server’s reason(#20246) [fix][broker] Don’t share the dispatcher’s FilterContext with analyzeBacklog(#19883) [improve][admin] Include schema ledger ids in topic internal-info(#16325) [fix][broker] Fall back to the broker isolation groups after a namespace bookie affinity group is removed(#16563) [fix][broker] Don’t count the target namespace in its own anti-affinity group(#27077) [fix][cli] Make pulsar-perf produce end and await every transaction it opens(#20032) [fix][client] Fix consumer discarding all messages after redelivering during a reconnection(#27066) [fix][client] Fix pattern consumers that stop updating topics when subscribing to a new topic fails(#27067) [fix][client] Fix stale batch ACKs causing skipped messages after seek(#27062) [fix][client] Flush the pending acks before the flow command when the consumer reconnects(#26087) [improve][admin] Validate dynamic configuration updates against FieldContext constraints(#15144) [fix] [client] NotifyPendingReceivedCallback when zeroConsumerImpl received batch message firstly then close consumer(#27070) [fix][test] Fix flaky V5CumulativeAckTest.testRetryingAnAckThatFailedWhileDisconnectedAdvancesTheCursor(#20053) [fix][txn] Treat a concurrent duplicate transaction status update as success(#27058) [improve][misc] PIP-351: Add options to Pulsar-Test client to support KeyStore based TLS(#17946) [fix][broker] Copy subscriptions to the partitions created by createMissedPartitions(#19679) [improve][fn] PIP-237: Expose PulsarAdmin in SinkContext and SourceContext(#19867) [improve][client] Log the stack trace when MessageCryptoBc fails to load a key or encrypt/decrypt a data key(#19352) [fix][ml] Fix off-by-one backlog of cursors created while an entry is being added(#27061) [fix][client] Stop the partition update timer of a partitioned producer that ended during creation(#21013) [fix][fn] Use TLS urls for the embedded function worker when brokerClientTlsEnabled is set(#27052) [fix][meta] Reload the bookie info on a cache miss in PulsarRegistrationClient(#19602) [fix][client] Make ackTimeoutRedeliveryBackoff work on Exclusive and Failover subscriptions(#27060) [fix][ml] Fix the estimated backlog of lazily recovered cursors(#27055) [fix][proxy] Copy GetTopicsOfNamespace properties before the broker connection completes(#26969) [improve][broker] Index topic watcher notifications by namespace(#27024) [fix][client] Close the producer when its encryption key cannot be loaded(#20824) [fix][client] Read the OAuth2 private key without requiring a content type(#22577) [fix][broker] Reject namespace-level partitioned topic creation on a remote partition conflict(#20814) [fix][ml] Don’t trim ledgers while cursors are lazily recovering(#22695) [fix][broker] Don’t swap the local metadata store’s synchronizer when configurationMetadataSyncEventTopic is updated on a shared store(#21928) [fix][client] Queue acks without grouping while the consumer is reconnecting(#20929) [improve][conf] Add BookKeeper DirectIO entry logger settings to bookkeeper.conf(#22166) [fix][txn] Fix PendingAckHandleImpl potential thread safety issue(#22516) [fix][fn] Send Go function logs to the log topic periodically and on shutdown(#22021) [fix][broker] Fix ‘rewinded’ typos in PersistentDispatcherSingleActiveConsumer logs(#27054) [fix][broker] Serialize outgoing commands before passing them to broker interceptors(#27057) [fix][txn] Fix reuse of recycled pooled objects in transaction code paths(#27056) [fix][ml] Run the add-entry timeout check on the managed ledger executor(#27053) [fix][broker] Reply to failed GetLastMessageId with the original request id(#23495) [fix][broker] Don’t redeliver individually acknowledged messages from the compacted ledger(#23353) [fix][broker] Don’t count unread fixed-delay entries in msgBacklogNoDelayed(#22803) [fix][ml] Move the read position atomically when a replay is at it(#26607) [fix][proxy] Answer failed partition metadata and lookup requests with their own response type(#23488) [fix][broker] Don’t allow creating a non-persistent partitioned topic with ‘-partition-’ in name(#23830) [fix][client] Client interceptors close method not called after producer/consumer/reader close(#24672) [improve][conf] Document managedLedgerForceRecovery and schemaLedgerForceRecovery in broker.conf and standalone.conf(#27050) [fix][ml] Materialize compressed ManagedCursorInfo before releasing the decompressed buffer(#23470) [fix][ml] Fix races in managed ledger initialization timeout handling(#26401) [fix][broker] Manage in-flight bucket work during clear(#20540) [fix][broker] Don’t continue loading a topic after its load has timed out(#24783) [fix][fn] Only load crypto_key_reader for python function when cryptoKeyReaderConfig is provided(#24342) [fix][test] Fix flaky NegativeAcksTest.testNegativeAcksWithBackoff(#26458) [feat][fn] Expose the Prometheus metrics registry to Go functions via FunctionContext(#27037) [fix][broker] Reject replicated status for the compaction subscription(#27041) [improve][test] Add deduplication contract coverage across broker restart(#27039) [improve][ml] Read ahead the next range of a cursor’s read into the entry cache(#26911) [fix][broker] Honor secondary tenant admin roles in HTTP admin requests(#27003) [fix][broker] Fix non-persistent subscribe cleanup during migration(#26631) [fix][broker] Fail compacted reads when the compacted ledger is missing(#26553) [fix][managed-ledger] Honor batch-index cap in isCursorDataFullyPersistable(#26490) [fix][fn] Honour consumerCryptoFailureAction in the Python function runtime(#26305) [fix][ml] Don’t drop a durable cursor reset when an ack is queued behind it(#26277) [improve][broker] improve readability for the class TopicPolicyListenerWrapper(#26953) [fix][broker] Keep the topic-level permissions of a topic migrated to a scalable topic(#26396) [fix][broker] Shared subscription stalls forever on a chunked message(#26542) [improve][broker] Add a random value upto 5% to avoid rollover multiple cursor ledgers(#27040) [fix][test] Fix flaky OffloadPrefixTest.terminateTriggersAutomaticOffloadForLastLedger(#27032) [fix][broker] Ignore replicated subscription updates for the compaction subscription(#27035) [fix][build] Include the java.compiler module in the Pulsar image JVM(#27028) [improve][test] Add IoT telemetry scenarios with partitioned topics to the performance tests(#27009) [improve][broker] Upgrade bookkeeper to 4.18.2(#27026) [fix][broker] Retry incompatible replication schemas without topic unload(#21767) [fix][client] Fix message leaks and size and permit accounting races when clearing the consumer’s incoming queue(#27025) [fix][test] Stub the cancellable listener in PulsarLedgerCreateRecoveryTest(#27021) [fix][broker] Reset fixed delay detection when the in-memory delayed delivery tracker is cleared(#26972) [fix][broker] Fix managed-ledger scheduler thread stalls when estimating offline backlog(#26956) [improve][broker] Reduce allocations on dispatch and managed-ledger read hot paths(#26960) [improve][broker] Cache schema payloads to stop re-reading BookKeeper history on every explicit-version request(#27001) [fix][client] Skip zero-queue permits for completed async receives(#26998) [fix][ml] Preserve individual batch ACKs when merging cumulative ACKs(#26986) [fix][client] Complete a TableView refresh waiting for a message that could not be applied(#26845) [fix][meta] Fix repeated metadata recovery failures after a ZooKeeper session expires(#26900) [fix][broker] Prevent changing shadow sources through topic properties(#26896) [fix][meta] Recover ambiguous ledger metadata creation using cToken(#26913) [fix][test] Make transaction buffer recovery placement deterministic(#26906) [fix][broker] Reject unsupported subscription-only backlog requests(#26996) [fix][broker] Resume snapshots after re-enabling deduplication(#26889) [fix][client] Release the output buffer when a compression codec fails to decode(#27018) [fix][ml] Don’t fail an add on a terminated managed ledger before the adds in flight ahead of it(#27006) [improve][ml] Read a cursor’s close replay positions with one range read(#27017) [fix][broker] Don’t continue the REST topic listings that waited for a size estimate one after another on a metadata store thread(#17411) [improve][broker] Let authorization providers restrict topic auto-creation(#26988) [improve][doc] Note in CODING.md that a delayedExecutor() task cannot be taken back(#27013) [fix][test] Fix flaky PulsarLedgerUnderreplicationManagerCloseTest.testCloseAggregatesFailuresAndRetriesOnlyUnreleasedLocks(#26979) [improve][broker] Enable Log4j2 async loggers again(#27015) [fix][broker] Fix the broker’s WebSocket service ignoring configurationStoreConfigPath(#20488) [fix][ml] Fix race in ManagedCursorImpl skip and getNthEntry that could skip unacknowledged entries(#26925) [fix][broker] Preserve non-durable cursor ownership during cleanup(#26999) [fix][proxy] Fix Proxy Protocol forwarding for UNKNOWN and IPv6(#27012) [improve][test] Add TLS and JWT authentication to the performance testing framework(#26825) [improve][broker] Default numIOThreads to half the available processors, at least 8(#24256) [fix][meta] Unregister metadata store listeners when their owners are closed(#26945) [fix][broker] Fix topic listing memory limit enforcement(#26822) [improve][broker] Record the deduplication’s persisted sequence IDs in place(#27011) [improve][doc] Warn about /tmp cleanup in narExtractionDirectory docs(#26968) [improve][broker] Hash Key_Shared sticky keys without allocation(#26984) [improve][broker] Add scalable topic stats diagnostics(#27007) [fix][broker] Don’t dispatch a replay read that was pending when all consumers of a Shared subscription disconnected(#27008) [improve][bk] Partition index and filter blocks in the entry location RocksDB config(#26267) [fix][broker] Authorize cluster listing requests(#26983) [improve][broker] Add scalable-topic controller and layout metrics(#27004) [improve][bk] Lower the bookies’ read-ahead after a read cache miss from 1,000 to 100 entries(#27005) [improve][ml] Don’t visit a ledger’s other single-entry pending reads for a read of a single entry(#26982) [feat][broker] Add scalable topic consumer coordination metrics(#26981) [improve][broker] Add scalable topic segment-owner metrics(#26980) [feat][broker] Add scalable-topic session and request metrics(#26701) [fix][broker] Fix spurious placement failures when IsolatedBookieEnsemblePlacementPolicy counts unavailable secondary bookies(#26991) [fix][broker] Fence non-persistent subscriptions before asynchronous …(#26995) [improve][test] Add a script that builds and installs hsdis for perfasm(#26990) [fix][client] Fix the embedded native image configuration and make its smoke test run(#26994) [fix][build] Cap test compilation release at the server Java baseline(#26993) [improve][test] Add IoT scenarios for Failover, compaction, retries, delayed delivery, chunking, pattern subscriptions and TTL to the performance tests(#26975) [improve][test] Add Key_Shared replay queue and stuck consumer scenarios to the performance tests(#26989) [fix][ci] Fix flaky native image build caused by a GraalVM class initializer simulation race
(#27023) [fix][sec] Bump github.com/klauspost/compress from 1.18.0 to 1.18.7 in /pulsar-function-go
Was this page helpful?
⌘I
{"docsConfig":{"theme":"luma","$schema":"https://mintlify.com/docs.json","name":"StreamNative Documentation","colors":{"primary":"#177bed","light":"#B9D7FA","dark":"#0e4a8e"},"logo":{"light":"https://mintcdn.com/streamnative/SC0zqekRwf8nvf5H/logo/light.svg?fit=max\u0026auto=format\u0026n=SC0zqekRwf8nvf5H\u0026q=85\u0026s=a0e61dd3a50e9c0288bf4e3ea0a398be","dark":"https://mintcdn.com/streamnative/SC0zqekRwf8nvf5H/logo/dark.svg?fit=max\u0026auto=format\u0026n=SC0zqekRwf8nvf5H\u0026q=85\u0026s=7f1091351e4896879ce3b26d2363e4f4"},"favicon":"https://mintcdn.com/streamnative/_E3AfN6vzMatrPox/favicon.svg?fit=max\u0026auto=format\u0026n=_E3AfN6vzMatrPox\u0026q=85\u0026s=dac7639f549cf27f910111f7ac2d02dd","background":{"color":{"dark":"#0A0B0D"}},"navbar":{"links":[{"href":"/support/get-support","label":"Support"}],"primary":{"type":"button","label":"Console","href":"https://console.streamnative.cloud"}},"footer":{"socials":{"x":"https://x.com/streamnative.io","github":"https://github.com/streamnative","linkedin":"https://linkedin.com/company/streamnative"}},"seo":{"metatags":{"canonical":"https://docs.streamnative.io","og:site_name":"StreamNative Documentation","og:type":"website","og:image":"https://docs.streamnative.io/logo/light.svg","twitter:card":"summary_large_image","twitter:site":"@streamnativeio"},"indexing":"all"},"fonts":{"heading":{"family":"Funnel Display","weight":500},"body":{"family":"Funnel Sans","weight":400}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"streamnative","hasAudioNarration":false,"actualSubdomain":"streamnative","customDomains":["docs.streamnative.io"],"gitSource":{"type":"github","owner":"streamnative","repo":"sn-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae2a52bada8b60e043cdc83","collectionId":"d370d7af-af6e-4363-b622-efac282e4400","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae2a52bada8b60e043cdc83"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"DISABLED"},"CONTEXTUAL_FEEDBACK":{"status":"DISABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"DISABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae2a52bada8b60e043cdc83","clientVersion":"0.0.4006","searchFilterCounts":[{"language":"default","tag":"StreamNative Cloud","count":814},{"language":"default","tag":"Pulsar","count":665},{"language":"default","tag":"StreamNative Private Cloud","count":300},{"language":"default","tag":"Pulsar Changelogs","count":273},{"language":"default","tag":"Kafka","count":163},{"language":"default","tag":"References","count":150},{"language":"default","tag":"Resources","count":146},{"language":"default","tag":"Streamnative Pulsar Changelogs","count":117},{"language":"default","tag":"Kafka Clients","count":97},{"language":"default","tag":"Guides","count":83}]},"assistantConfig":{"deflection":{"enabled":true,"email":"support@streamnative.io","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":"/* latin-ext */\n@font-face {\n font-family: 'DM Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/dmmono/v16/aFTU7PB1QTsUX8KYthSQBLyM.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'DM Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/dmmono/v16/aFTU7PB1QTsUX8KYthqQBA.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Funnel Sans';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/funnelsans/v3/OpNfno8Dg9bX6Bsp3Wq69RB-VukSVv3aISFAp3m0d2VMrDw.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Funnel Sans';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/funnelsans/v3/OpNfno8Dg9bX6Bsp3Wq69RB-VukSVv3aISFAp3m0eWVM.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\ncode,kbd,pre,samp{font-family:'DM Mono',ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace;font-size:.875rem;line-height:1.6;letter-spacing:0}h1,h2,h3,h4{font-weight:500}h1{font-family:'Funnel Display',sans-serif;font-size:2rem;letter-spacing:-.02em}h2,h3,h4{font-family:'Funnel Sans',sans-serif}h1,h2{line-height:1.2}h2{font-size:1.5rem;letter-spacing:-.01em}h3,h4{letter-spacing:0}h2,h3{margin-top:2rem;margin-bottom:1rem}h3{font-size:1.25rem;line-height:1.3}h4{font-size:1.125rem;line-height:1.4}body{color:#485565}.dark body,.dark main{color:#9aa4b2}.dark h1,.dark h2,.dark h3,.dark h4{color:#fff}div:has(>.nav-dropdown-products-selector-trigger)>:nth-child(2){order:1}"}],"page":{"pagePath":"release-notes/pulsar/v5.0/v5.0.0.2","slug":"/release-notes/pulsar/v5.0/v5.0.0.2","pageMetadata":{"title":null,"description":null,"href":"/release-notes/pulsar/v5.0/v5.0.0.2"},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,li:`li`,p:`p`,ul:`ul`,..._provideComponents(),...props.components},{Heading}=_components;if(!Heading)_missingMdxReference(`Heading`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`1`,id:`streamnative-weekly-release-notes-v5-0-0-2`,children:`StreamNative Weekly Release Notes v5.0.0.2`}),`\n`,_jsx(Heading,{level:`2`,id:`download`,children:`Download`}),`\n`,_jsx(Heading,{level:`3`,id:`distributions`,children:`Distributions`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://github.com/streamnative/pulsar/releases/tag/v5.0.0.2`,children:`https://github.com/streamnative/pulsar/releases/tag/v5.0.0.2`})}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`packages`,children:`Packages`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://search.maven.org/artifact/io.streamnative/pulsar/5.0.0.2/pom`,children:`Maven Central`})}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`images`,children:`Images`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://hub.docker.com/layers/streamnative/sn-platform/5.0.0.2/images/sha256-d635b88f9ba16a7b44b3f597d06da26f4ba9b18923a213952d2d2eb6a95e626a`,children:`sn-platform`})}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://hub.docker.com/layers/streamnative/sn-platform-slim/5.0.0.2/images/sha256-ce2309da54fe041a8b5f1f7a46c045a9380035565932c2c52e97ed756207ab46`,children:`sn-platform-slim`})}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:_jsx(_components.a,{href:`https://hub.docker.com/layers/streamnative/private-cloud/5.0.0.2/images/sha256-ce2309da54fe041a8b5f1f7a46c045a9380035565932c2c52e97ed756207ab46`,children:`private-cloud`})}),`\n`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`general-changes`,children:`General Changes`}),`\n`,_jsx(Heading,{level:`3`,id:`apache-pulsar`,children:`Apache Pulsar`}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27117`,children:`#27117`}),`) [cleanup][test] Fix deprecation warnings in tests`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27115`,children:`#27115`}),`) [cleanup][test] Replace the deprecated URL(String) constructor in tests`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27114`,children:`#27114`}),`) [cleanup][build] Put swagger annotations on test compile classpaths to fix RequiredMode javac warnings`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27116`,children:`#27116`}),`) [cleanup][test] Replace Netty’s deprecated NioEventLoopGroup and DefaultEventLoopGroup in tests`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27118`,children:`#27118`}),`) [cleanup][test] Fix unchecked warnings in tests`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27090`,children:`#27090`}),`) [fix][test] Fix Mockito stubbing race in NamespaceServiceSplitFailureTest`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27086`,children:`#27086`}),`) [fix][client] Keep non-serialized builder settings across loadConf`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26257`,children:`#26257`}),`) [cleanup][misc] Fix javac deprecation and unchecked warnings in main sources`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27097`,children:`#27097`}),`) [fix][client] Preserve pooled heap message data across repeated reads`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27092`,children:`#27092`}),`) [improve][test] Reduce SchemaServiceTest wall time from 152.5s to 75.0s`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27095`,children:`#27095`}),`) [fix][build] Upgrade RoaringBitmap to 1.6.25 to fix LongBitmap range contains and previousAbsentValue`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27068`,children:`#27068`}),`) [fix][client] Fix double-counted permits when the receiver queue grows during reconnect`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/20453`,children:`#20453`}),`) [improve][pip] PIP-273: Enable hostname verification by default`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/16647`,children:`#16647`}),`) [fix][ml] Discard a ledger created after its creation was given up on`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/25189`,children:`#25189`}),`) [improve][broker] Add http produce backlog quota check`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27078`,children:`#27078`}),`) [fix][client] Fail transaction coordinator requests after close instead of throwing NullPointerException`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27081`,children:`#27081`}),`) [fix][client] Ignore superseded subscribe and producer attempts`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27083`,children:`#27083`}),`) [fix][ws] Release WebSocket consumer pending slots only for pending message ids`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27087`,children:`#27087`}),`) [fix][client] Flush the pending acks before the zero-queue permits on reconnect`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/22323`,children:`#22323`}),`) [improve][fn] Support OAuth2 in Go instance`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/22978`,children:`#22978`}),`) [improve][txn] Allow transaction owners to abort their own transactions via the abortTransaction admin API`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27073`,children:`#27073`}),`) [fix][client] Fail pending transaction coordinator requests when TransactionMetaStoreHandler closes`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27082`,children:`#27082`}),`) [fix][txn] Keep plain publishes behind the transactional ones TopicTransactionBuffer holds back`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/15363`,children:`#15363`}),`) [fix][broker] Retry the dedup cursor delete after a failure while disabling at topic load`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/13280`,children:`#13280`}),`) [fix][client] Fix DLQ sending a released message when poolMessages is enabled`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/16502`,children:`#16502`}),`) [fix][broker] Start packages management before the function worker service`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27084`,children:`#27084`}),`) [fix][cli] Make pulsar-perf consume and transaction end and await every transaction they open`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/20737`,children:`#20737`}),`) [fix][broker] Close the existing consumer when the same consumer subscribes again`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27079`,children:`#27079`}),`) [fix][client] Keep non-transactional messages out of transactional batches on scalable topics`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27080`,children:`#27080`}),`) [fix][txn] Keep plain publishes to scalable-topic segments behind pending transactional ones`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/16133`,children:`#16133`}),`) [Functions] fix upload nar file to start function task failed`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/19260`,children:`#19260`}),`) [fix][broker] Keep the bundle affinity broker for every lookup until the bundle is owned`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/18937`,children:`#18937`}),`) [fix][admin] Read the error response body once when extracting the server’s reason`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/20246`,children:`#20246`}),`) [fix][broker] Don’t share the dispatcher’s FilterContext with analyzeBacklog`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/19883`,children:`#19883`}),`) [improve][admin] Include schema ledger ids in topic internal-info`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/16325`,children:`#16325`}),`) [fix][broker] Fall back to the broker isolation groups after a namespace bookie affinity group is removed`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/16563`,children:`#16563`}),`) [fix][broker] Don’t count the target namespace in its own anti-affinity group`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27077`,children:`#27077`}),`) [fix][cli] Make pulsar-perf produce end and await every transaction it opens`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/20032`,children:`#20032`}),`) [fix][client] Fix consumer discarding all messages after redelivering during a reconnection`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27066`,children:`#27066`}),`) [fix][client] Fix pattern consumers that stop updating topics when subscribing to a new topic fails`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27067`,children:`#27067`}),`) [fix][client] Fix stale batch ACKs causing skipped messages after seek`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27062`,children:`#27062`}),`) [fix][client] Flush the pending acks before the flow command when the consumer reconnects`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26087`,children:`#26087`}),`) [improve][admin] Validate dynamic configuration updates against FieldContext constraints`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/15144`,children:`#15144`}),`) [fix] [client] NotifyPendingReceivedCallback when zeroConsumerImpl received batch message firstly then close consumer`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27070`,children:`#27070`}),`) [fix][test] Fix flaky V5CumulativeAckTest.testRetryingAnAckThatFailedWhileDisconnectedAdvancesTheCursor`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/20053`,children:`#20053`}),`) [fix][txn] Treat a concurrent duplicate transaction status update as success`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27058`,children:`#27058`}),`) [improve][misc] PIP-351: Add options to Pulsar-Test client to support KeyStore based TLS`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/17946`,children:`#17946`}),`) [fix][broker] Copy subscriptions to the partitions created by createMissedPartitions`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/19679`,children:`#19679`}),`) [improve][fn] PIP-237: Expose PulsarAdmin in SinkContext and SourceContext`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/19867`,children:`#19867`}),`) [improve][client] Log the stack trace when MessageCryptoBc fails to load a key or encrypt/decrypt a data key`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/19352`,children:`#19352`}),`) [fix][ml] Fix off-by-one backlog of cursors created while an entry is being added`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27061`,children:`#27061`}),`) [fix][client] Stop the partition update timer of a partitioned producer that ended during creation`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/21013`,children:`#21013`}),`) [fix][fn] Use TLS urls for the embedded function worker when brokerClientTlsEnabled is set`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27052`,children:`#27052`}),`) [fix][meta] Reload the bookie info on a cache miss in PulsarRegistrationClient`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/19602`,children:`#19602`}),`) [fix][client] Make ackTimeoutRedeliveryBackoff work on Exclusive and Failover subscriptions`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27060`,children:`#27060`}),`) [fix][ml] Fix the estimated backlog of lazily recovered cursors`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27055`,children:`#27055`}),`) [fix][proxy] Copy GetTopicsOfNamespace properties before the broker connection completes`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26969`,children:`#26969`}),`) [improve][broker] Index topic watcher notifications by namespace`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27024`,children:`#27024`}),`) [fix][client] Close the producer when its encryption key cannot be loaded`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/20824`,children:`#20824`}),`) [fix][client] Read the OAuth2 private key without requiring a content type`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/22577`,children:`#22577`}),`) [fix][broker] Reject namespace-level partitioned topic creation on a remote partition conflict`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/20814`,children:`#20814`}),`) [fix][ml] Don’t trim ledgers while cursors are lazily recovering`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/22695`,children:`#22695`}),`) [fix][broker] Don’t swap the local metadata store’s synchronizer when configurationMetadataSyncEventTopic is updated on a shared store`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/21928`,children:`#21928`}),`) [fix][client] Queue acks without grouping while the consumer is reconnecting`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/20929`,children:`#20929`}),`) [improve][conf] Add BookKeeper DirectIO entry logger settings to bookkeeper.conf`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/22166`,children:`#22166`}),`) [fix][txn] Fix PendingAckHandleImpl potential thread safety issue`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/22516`,children:`#22516`}),`) [fix][fn] Send Go function logs to the log topic periodically and on shutdown`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/22021`,children:`#22021`}),`) [fix][broker] Fix ‘rewinded’ typos in PersistentDispatcherSingleActiveConsumer logs`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27054`,children:`#27054`}),`) [fix][broker] Serialize outgoing commands before passing them to broker interceptors`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27057`,children:`#27057`}),`) [fix][txn] Fix reuse of recycled pooled objects in transaction code paths`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27056`,children:`#27056`}),`) [fix][ml] Run the add-entry timeout check on the managed ledger executor`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27053`,children:`#27053`}),`) [fix][broker] Reply to failed GetLastMessageId with the original request id`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/23495`,children:`#23495`}),`) [fix][broker] Don’t redeliver individually acknowledged messages from the compacted ledger`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/23353`,children:`#23353`}),`) [fix][broker] Don’t count unread fixed-delay entries in msgBacklogNoDelayed`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/22803`,children:`#22803`}),`) [fix][ml] Move the read position atomically when a replay is at it`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26607`,children:`#26607`}),`) [fix][proxy] Answer failed partition metadata and lookup requests with their own response type`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/23488`,children:`#23488`}),`) [fix][broker] Don’t allow creating a non-persistent partitioned topic with ‘-partition-’ in name`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/23830`,children:`#23830`}),`) [fix][client] Client interceptors close method not called after producer/consumer/reader close`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/24672`,children:`#24672`}),`) [improve][conf] Document managedLedgerForceRecovery and schemaLedgerForceRecovery in broker.conf and standalone.conf`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27050`,children:`#27050`}),`) [fix][ml] Materialize compressed ManagedCursorInfo before releasing the decompressed buffer`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/23470`,children:`#23470`}),`) [fix][ml] Fix races in managed ledger initialization timeout handling`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26401`,children:`#26401`}),`) [fix][broker] Manage in-flight bucket work during clear`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/20540`,children:`#20540`}),`) [fix][broker] Don’t continue loading a topic after its load has timed out`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/24783`,children:`#24783`}),`) [fix][fn] Only load crypto_key_reader for python function when cryptoKeyReaderConfig is provided`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/24342`,children:`#24342`}),`) [fix][test] Fix flaky NegativeAcksTest.testNegativeAcksWithBackoff`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26458`,children:`#26458`}),`) [feat][fn] Expose the Prometheus metrics registry to Go functions via FunctionContext`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27037`,children:`#27037`}),`) [fix][broker] Reject replicated status for the compaction subscription`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27041`,children:`#27041`}),`) [improve][test] Add deduplication contract coverage across broker restart`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27039`,children:`#27039`}),`) [improve][ml] Read ahead the next range of a cursor’s read into the entry cache`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26911`,children:`#26911`}),`) [fix][broker] Honor secondary tenant admin roles in HTTP admin requests`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27003`,children:`#27003`}),`) [fix][broker] Fix non-persistent subscribe cleanup during migration`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26631`,children:`#26631`}),`) [fix][broker] Fail compacted reads when the compacted ledger is missing`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26553`,children:`#26553`}),`) [fix][managed-ledger] Honor batch-index cap in isCursorDataFullyPersistable`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26490`,children:`#26490`}),`) [fix][fn] Honour consumerCryptoFailureAction in the Python function runtime`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26305`,children:`#26305`}),`) [fix][ml] Don’t drop a durable cursor reset when an ack is queued behind it`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26277`,children:`#26277`}),`) [improve][broker] improve readability for the class TopicPolicyListenerWrapper`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26953`,children:`#26953`}),`) [fix][broker] Keep the topic-level permissions of a topic migrated to a scalable topic`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26396`,children:`#26396`}),`) [fix][broker] Shared subscription stalls forever on a chunked message`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26542`,children:`#26542`}),`) [improve][broker] Add a random value upto 5% to avoid rollover multiple cursor ledgers`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27040`,children:`#27040`}),`) [fix][test] Fix flaky OffloadPrefixTest.terminateTriggersAutomaticOffloadForLastLedger`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27032`,children:`#27032`}),`) [fix][broker] Ignore replicated subscription updates for the compaction subscription`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27035`,children:`#27035`}),`) [fix][build] Include the java.compiler module in the Pulsar image JVM`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27028`,children:`#27028`}),`) [improve][test] Add IoT telemetry scenarios with partitioned topics to the performance tests`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27009`,children:`#27009`}),`) [improve][broker] Upgrade bookkeeper to 4.18.2`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27026`,children:`#27026`}),`) [fix][broker] Retry incompatible replication schemas without topic unload`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/21767`,children:`#21767`}),`) [fix][client] Fix message leaks and size and permit accounting races when clearing the consumer’s incoming queue`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27025`,children:`#27025`}),`) [fix][test] Stub the cancellable listener in PulsarLedgerCreateRecoveryTest`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27021`,children:`#27021`}),`) [fix][broker] Reset fixed delay detection when the in-memory delayed delivery tracker is cleared`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26972`,children:`#26972`}),`) [fix][broker] Fix managed-ledger scheduler thread stalls when estimating offline backlog`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26956`,children:`#26956`}),`) [improve][broker] Reduce allocations on dispatch and managed-ledger read hot paths`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26960`,children:`#26960`}),`) [improve][broker] Cache schema payloads to stop re-reading BookKeeper history on every explicit-version request`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27001`,children:`#27001`}),`) [fix][client] Skip zero-queue permits for completed async receives`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26998`,children:`#26998`}),`) [fix][ml] Preserve individual batch ACKs when merging cumulative ACKs`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26986`,children:`#26986`}),`) [fix][client] Complete a TableView refresh waiting for a message that could not be applied`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26845`,children:`#26845`}),`) [fix][meta] Fix repeated metadata recovery failures after a ZooKeeper session expires`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26900`,children:`#26900`}),`) [fix][broker] Prevent changing shadow sources through topic properties`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26896`,children:`#26896`}),`) [fix][meta] Recover ambiguous ledger metadata creation using cToken`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26913`,children:`#26913`}),`) [fix][test] Make transaction buffer recovery placement deterministic`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26906`,children:`#26906`}),`) [fix][broker] Reject unsupported subscription-only backlog requests`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26996`,children:`#26996`}),`) [fix][broker] Resume snapshots after re-enabling deduplication`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26889`,children:`#26889`}),`) [fix][client] Release the output buffer when a compression codec fails to decode`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27018`,children:`#27018`}),`) [fix][ml] Don’t fail an add on a terminated managed ledger before the adds in flight ahead of it`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27006`,children:`#27006`}),`) [improve][ml] Read a cursor’s close replay positions with one range read`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27017`,children:`#27017`}),`) [fix][broker] Don’t continue the REST topic listings that waited for a size estimate one after another on a metadata store thread`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/17411`,children:`#17411`}),`) [improve][broker] Let authorization providers restrict topic auto-creation`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26988`,children:`#26988`}),`) [improve][doc] Note in CODING.md that a delayedExecutor() task cannot be taken back`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27013`,children:`#27013`}),`) [fix][test] Fix flaky PulsarLedgerUnderreplicationManagerCloseTest.testCloseAggregatesFailuresAndRetriesOnlyUnreleasedLocks`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26979`,children:`#26979`}),`) [improve][broker] Enable Log4j2 async loggers again`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27015`,children:`#27015`}),`) [fix][broker] Fix the broker’s WebSocket service ignoring configurationStoreConfigPath`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/20488`,children:`#20488`}),`) [fix][ml] Fix race in ManagedCursorImpl skip and getNthEntry that could skip unacknowledged entries`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26925`,children:`#26925`}),`) [fix][broker] Preserve non-durable cursor ownership during cleanup`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26999`,children:`#26999`}),`) [fix][proxy] Fix Proxy Protocol forwarding for UNKNOWN and IPv6`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27012`,children:`#27012`}),`) [improve][test] Add TLS and JWT authentication to the performance testing framework`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26825`,children:`#26825`}),`) [improve][broker] Default numIOThreads to half the available processors, at least 8`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/24256`,children:`#24256`}),`) [fix][meta] Unregister metadata store listeners when their owners are closed`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26945`,children:`#26945`}),`) [fix][broker] Fix topic listing memory limit enforcement`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26822`,children:`#26822`}),`) [improve][broker] Record the deduplication’s persisted sequence IDs in place`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27011`,children:`#27011`}),`) [improve][doc] Warn about /tmp cleanup in narExtractionDirectory docs`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26968`,children:`#26968`}),`) [improve][broker] Hash Key_Shared sticky keys without allocation`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26984`,children:`#26984`}),`) [improve][broker] Add scalable topic stats diagnostics`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27007`,children:`#27007`}),`) [fix][broker] Don’t dispatch a replay read that was pending when all consumers of a Shared subscription disconnected`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27008`,children:`#27008`}),`) [improve][bk] Partition index and filter blocks in the entry location RocksDB config`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26267`,children:`#26267`}),`) [fix][broker] Authorize cluster listing requests`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26983`,children:`#26983`}),`) [improve][broker] Add scalable-topic controller and layout metrics`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27004`,children:`#27004`}),`) [improve][bk] Lower the bookies’ read-ahead after a read cache miss from 1,000 to 100 entries`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27005`,children:`#27005`}),`) [improve][ml] Don’t visit a ledger’s other single-entry pending reads for a read of a single entry`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26982`,children:`#26982`}),`) [feat][broker] Add scalable topic consumer coordination metrics`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26981`,children:`#26981`}),`) [improve][broker] Add scalable topic segment-owner metrics`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26980`,children:`#26980`}),`) [feat][broker] Add scalable-topic session and request metrics`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26701`,children:`#26701`}),`) [fix][broker] Fix spurious placement failures when IsolatedBookieEnsemblePlacementPolicy counts unavailable secondary bookies`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26991`,children:`#26991`}),`) [fix][broker] Fence non-persistent subscriptions before asynchronous …`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26995`,children:`#26995`}),`) [improve][test] Add a script that builds and installs hsdis for perfasm`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26990`,children:`#26990`}),`) [fix][client] Fix the embedded native image configuration and make its smoke test run`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26994`,children:`#26994`}),`) [fix][build] Cap test compilation release at the server Java baseline`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26993`,children:`#26993`}),`) [improve][test] Add IoT scenarios for Failover, compaction, retries, delayed delivery, chunking, pattern subscriptions and TTL to the performance tests`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26975`,children:`#26975`}),`) [improve][test] Add Key_Shared replay queue and stuck consumer scenarios to the performance tests`]}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/26989`,children:`#26989`}),`) [fix][ci] Fix flaky native image build caused by a GraalVM class initializer simulation race`]}),`\n`,_jsx(Heading,{level:`2`,id:`security-fixes`,children:`Security Fixes`}),`\n`,_jsx(Heading,{level:`3`,id:`apache-pulsar-2`,children:`Apache Pulsar`}),`\n`,_jsxs(_components.p,{children:[`(`,_jsx(_components.a,{href:`https://github.com/apache/pulsar/pull/27023`,children:`#27023`}),`) [fix][sec] Bump github.com/klauspost/compress from 1.18.0 to 1.18.7 in /pulsar-function-go`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":null,"description":null,"href":"/release-notes/pulsar/v5.0/v5.0.0.2"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"StreamNative Weekly Release Notes v5.0.0.2","slug":"streamnative-weekly-release-notes-v5-0-0-2","depth":1,"children":[]},{"title":"Download","slug":"download","depth":2,"children":[{"title":"Distributions","slug":"distributions","depth":3,"children":[]},{"title":"Packages","slug":"packages","depth":3,"children":[]},{"title":"Images","slug":"images","depth":3,"children":[]}]},{"title":"General Changes","slug":"general-changes","depth":2,"children":[{"title":"Apache Pulsar","slug":"apache-pulsar","depth":3,"children":[]}]},{"title":"Security Fixes","slug":"security-fixes","depth":2,"children":[{"title":"Apache Pulsar","slug":"apache-pulsar-2","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/streamnative/9e165e8cbf8e8808/scripts/fix-hub-meta.js","/_mintlify/custom/streamnative/c2d281dc3d246a54/scripts/fix-hub-note.js","/_mintlify/custom/streamnative/5855b8c91ee0723b/scripts/fix-hub-tab.js","/_mintlify/custom/streamnative/2ae2ad30d0ad3c68/scripts/import/importDocs.js","/_mintlify/custom/streamnative/a68a187867c1e64a/scripts/hub/fix-hub-meta.js","/_mintlify/custom/streamnative/0f92aab004f53e53/scripts/hub/fix-hub-note.js","/_mintlify/custom/streamnative/ad536b8b4d2d9ba0/scripts/hub/fix-hub-tab.js","/_mintlify/custom/streamnative/d16acfa2fc71d4c8/connect/sync.js","/_mintlify/custom/streamnative/01a1b96abbfd1fe3/scripts/sync-pulsar-release-channels.js","/_mintlify/custom/streamnative/e81c5fd9954b02fe/scripts/validate-docs-nav.js"],"subdomain":"streamnative","siteName":"StreamNative Documentation","title":"V5.0.0.2 - StreamNative Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-29T01:45:51.647Z","originalFileLocation":"release-notes/pulsar/v5.0/v5.0.0.2.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"application-name\" content=\"StreamNative Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/streamnative/jTGt9etb1f_opncu/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/streamnative/jTGt9etb1f_opncu/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/streamnative/jTGt9etb1f_opncu/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/streamnative/jTGt9etb1f_opncu/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/streamnative/jTGt9etb1f_opncu/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/streamnative/jTGt9etb1f_opncu/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/streamnative/jTGt9etb1f_opncu/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/streamnative/jTGt9etb1f_opncu/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/streamnative/jTGt9etb1f_opncu/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"V5.0.0.2 - StreamNative Documentation\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"StreamNative Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.streamnative.io/release-notes/pulsar/v5.0/v5.0.0.2\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://docs.streamnative.io/logo/light.svg\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"V5.0.0.2 - StreamNative Documentation\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://docs.streamnative.io/logo/light.svg\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/streamnative/jTGt9etb1f_opncu/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"StreamNative Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#177bed\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.streamnative.io/release-notes/pulsar/v5.0/v5.0.0.2\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/release-notes/pulsar/v5.0/v5.0.0.2.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.streamnative.io/#organization\",\"name\":\"StreamNative Documentation\",\"url\":\"https://docs.streamnative.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/streamnative/SC0zqekRwf8nvf5H/logo/light.svg?fit=max\u0026auto=format\u0026n=SC0zqekRwf8nvf5H\u0026q=85\u0026s=a0e61dd3a50e9c0288bf4e3ea0a398be\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.streamnative.io#website\",\"name\":\"StreamNative Documentation\",\"url\":\"https://docs.streamnative.io\",\"publisher\":{\"@id\":\"https://docs.streamnative.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.streamnative.io/release-notes/pulsar/v5.0/v5.0.0.2#webpage\",\"url\":\"https://docs.streamnative.io/release-notes/pulsar/v5.0/v5.0.0.2\",\"name\":\"V5.0.0.2\",\"dateModified\":\"2026-10-29T01:45:51.647Z\",\"isPartOf\":{\"@id\":\"https://docs.streamnative.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.streamnative.io/release-notes/pulsar/v5.0/v5.0.0.2#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.streamnative.io/release-notes/pulsar/v5.0/v5.0.0.2#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Pulsar Changelogs\",\"item\":\"https://docs.streamnative.io/release-notes/pulsar/v5.0/v5.0.0.106\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"V5.0\",\"item\":\"https://docs.streamnative.io/release-notes/pulsar/v5.0/v5.0.0.106\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"V5.0.0.2\",\"item\":\"https://docs.streamnative.io/release-notes/pulsar/v5.0/v5.0.0.2\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.streamnative.io/release-notes/pulsar/v5.0/v5.0.0.2#article\",\"headline\":\"V5.0.0.2\",\"name\":\"V5.0.0.2\",\"url\":\"https://docs.streamnative.io/release-notes/pulsar/v5.0/v5.0.0.2\",\"mainEntityOfPage\":{\"@id\":\"https://docs.streamnative.io/release-notes/pulsar/v5.0/v5.0.0.2#webpage\"},\"image\":\"https://docs.streamnative.io/logo/light.svg\",\"dateModified\":\"2026-10-29T01:45:51.647Z\",\"publisher\":{\"@id\":\"https://docs.streamnative.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.streamnative.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"StreamNative Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"StreamNative Documentation","nav":{"global":null,"products":[{"product":"StreamNative Cloud","icon":"cloud","description":"Serverless, Dedicated, and BYOC","tabs":[{"tab":"Welcome","pages":[{"title":"Start building with StreamNative","mode":"custom","href":"/home"}]},{"tab":"Concepts","groups":[{"group":"Overview","pages":[{"title":"Welcome to StreamNative Cloud","sidebarTitle":"Overview","href":"/cloud/overview/cloud-overview"},{"title":"StreamNative Cloud Concepts","sidebarTitle":"Concepts","href":"/cloud/overview/concepts-overview"},{"title":"Data Streaming Engine","sidebarTitle":"Engines","href":"/cloud/overview/data-streaming-engine"},{"title":"Lakestream Architecture","sidebarTitle":"Lakestream","href":"/cloud/overview/lakestream-overview"},{"title":"Choose Kafka or Pulsar","sidebarTitle":"Choose Kafka or Pulsar","href":"/cloud/overview/choose-kafka-or-pulsar"},{"title":"Kafka and Pulsar Concepts Map","sidebarTitle":"Concepts Map","href":"/cloud/overview/kafka-pulsar-concepts"}]},{"group":"Clusters","pages":[{"title":"StreamNative Cloud Clusters Overview","sidebarTitle":"Overview","href":"/cloud/clusters/streamnative-cluster-overview"},{"title":"Cluster Profiles Overview","sidebarTitle":"Cluster Profiles","href":"/cloud/clusters/cluster-profiles-overview"},{"title":"Cluster Types \u0026 Regions in StreamNative Cloud","sidebarTitle":"Cluster Types and Regions","href":"/cloud/clusters/cluster-types"}]},{"group":"Reference","pages":[{"title":"Glossary of Terms \u0026 Concepts","sidebarTitle":"Glossary","href":"/cloud/references/glossary"},{"title":"Understanding StreamNative Cloud objects","sidebarTitle":"StreamNative Cloud Objects","href":"/cloud/references/cloud-object"}]}]},{"tab":"Pulsar","groups":[{"group":"Get Started","pages":[{"title":"Quick Start for StreamNative Cloud","sidebarTitle":"Quick Start","href":"/cloud/get-started/quickstart-console"},{"title":"StreamNative Cloud Console Basics","sidebarTitle":"Cloud Console","href":"/cloud/get-started/cloud-console"},{"group":"BYOC Quick Starts","pages":[{"title":"Quick Start for BYOC Latency Optimized Cluster","sidebarTitle":"Latency Optimized Profile","href":"/cloud/get-started/quickstart-byoc-latencyprofile"},{"title":"Quick Start for BYOC Cost Optimized Cluster","sidebarTitle":"Cost Optimized Profile","href":"/cloud/get-started/quickstart-byoc-costprofile"}]}]},{"group":"Clusters","pages":[{"group":"Manage Clusters","pages":[{"title":"Manage StreamNative Clusters","sidebarTitle":"Overview","href":"/cloud/clusters/manage-clusters/cluster"},{"title":"Manage Serverless Clusters on StreamNative Cloud","sidebarTitle":"Serverless Clusters","href":"/cloud/clusters/manage-clusters/manage-serverless-clusters"},{"title":"Manage Dedicated Clusters on StreamNative Cloud","sidebarTitle":"Dedicated Clusters","href":"/cloud/clusters/manage-clusters/manage-dedicated-clusters"},{"title":"Manage BYOC Clusters on StreamNative Cloud","sidebarTitle":"BYOC Clusters","href":"/cloud/clusters/manage-clusters/manage-byoc-clusters"}]},{"group":"Configure Clusters","pages":[{"title":"Cluster Configuration Overview","sidebarTitle":"Cluster Configuration Overview","href":"/cloud/clusters/configure-clusters/cluster-configuration-overview"},{"title":"Configure Cluster Features","sidebarTitle":"Cluster Features","href":"/cloud/clusters/configure-clusters/configure-cluster-features"},{"title":"Configure Protocols","sidebarTitle":"Available Protocols","href":"/cloud/clusters/configure-clusters/configure-protocols"},{"title":"Configure Cluster Settings","sidebarTitle":"Cluster Settings","href":"/cloud/clusters/configure-clusters/configure-cluster-settings"}]},{"group":"Scale Clusters","pages":[{"title":"Resize a Cluster","sidebarTitle":"Resize a Cluster","href":"/cloud/clusters/scale-clusters/resize-a-cluster"},{"title":"Configure Auto-Scaling","sidebarTitle":"Auto Scaling","href":"/cloud/clusters/scale-clusters/cloud-autoscaling"}]},{"title":"Release Channel","sidebarTitle":"Release Channel","href":"/cloud/clusters/cloud-release-channel"},{"title":"Geo Replication on StreamNative Cloud","sidebarTitle":"Geo Replication","href":"/cloud/clusters/cloud-geo-replication"},{"title":"Maintenance Window","sidebarTitle":"Maintenance Window","href":"/cloud/clusters/cloud-maintenance-window"},{"title":"Maintenance Notification","sidebarTitle":"Maintenance Notification","href":"/cloud/clusters/cloud-maintenance-notification"}]},{"group":"Data Streams","pages":[{"title":"Manage Data Streams in StreamNative Cloud","sidebarTitle":"Overview","href":"/cloud/manage-data-streams/data-streams-overview"},{"title":"Work with Tenants in StreamNative Cloud","sidebarTitle":"Work with Tenants","href":"/cloud/manage-data-streams/tenant"},{"title":"Work with Namespaces in StreamNative Cloud","sidebarTitle":"Work with Namespaces","href":"/cloud/manage-data-streams/namespace"},{"title":"Work with Topics in StreamNative Cloud","sidebarTitle":"Work with Topics","href":"/cloud/manage-data-streams/topic"}]},{"group":"Process","pages":[{"group":"Pulsar Functions","pages":[{"title":"Pulsar Functions Overview","sidebarTitle":"Overview","href":"/cloud/process/pulsar-functions/functions-overview"},{"title":"Set up Your Environment","sidebarTitle":"Set up Your Environment","href":"/cloud/process/pulsar-functions/function-setup"},{"group":"Develop Functions","pages":[{"title":"Develop Pulsar Functions","sidebarTitle":"Overview","href":"/cloud/process/pulsar-functions/develop-functions/function-develop-overview"},{"title":"Develop Pulsar Functions in Java","sidebarTitle":"Develop Java Functions","href":"/cloud/process/pulsar-functions/develop-functions/function-develop-java"},{"title":"Develop Pulsar Functions in Python","sidebarTitle":"Develop Python Functions","href":"/cloud/process/pulsar-functions/develop-functions/function-develop-python"},{"title":"Develop Pulsar Functions in Golang(Private Preview)","sidebarTitle":"Develop Golang Functions","href":"/cloud/process/pulsar-functions/develop-functions/function-develop-golang"},{"title":"Develop Pulsar Functions in NodeJs(Private Preview)","sidebarTitle":"Develop NodeJs Functions","href":"/cloud/process/pulsar-functions/develop-functions/function-develop-nodejs"},{"title":"Develop Pulsar Functions in WASM(Private Preview)","sidebarTitle":"Develop WASM Functions","href":"/cloud/process/pulsar-functions/develop-functions/function-develop-wasm"},{"title":"Custom Runner Images for BYOC Pro","sidebarTitle":"Custom Runner Images","href":"/cloud/process/pulsar-functions/develop-functions/function-custom-images"}]},{"title":"Manage Functions","sidebarTitle":"Manage Functions","href":"/cloud/process/pulsar-functions/function-manage"},{"title":"Configure state storage (Private Preview)","sidebarTitle":"Configure state storage","href":"/cloud/process/pulsar-functions/function-state"},{"title":"Monitor and Troubleshoot Functions","sidebarTitle":"Monitor and Troubleshoot","href":"/cloud/process/pulsar-functions/function-monitoring"},{"title":"Configuration Reference","sidebarTitle":"Configuration Reference","href":"/cloud/process/pulsar-functions/function-config"}]},{"group":"Pfsql","pages":[{"title":"pfSQL (Alpha) Overview","sidebarTitle":"Overview","href":"/cloud/process/pfsql/pfsql-overview"},{"title":"Work with pfSQL on Cloud Console","sidebarTitle":"Work with Cloud Console","href":"/cloud/process/pfsql/pfsql-work-with-cloud-console"},{"title":"Work with pfSQL CLI","sidebarTitle":"Work With pfSQL CLI","href":"/cloud/process/pfsql/pfsql-work-with-cli"},{"title":"Get started with pfSQL","sidebarTitle":"Get Started","href":"/cloud/process/pfsql/pfsql-get-started"},{"title":"Understand pfSQL","sidebarTitle":"Understand pfSQL","href":"/cloud/process/pfsql/pfsql-understand"},{"title":"Built-in UDFs","sidebarTitle":"Built-in UDFs","href":"/cloud/process/pfsql/pfsql-built-in-udfs"}]}]},{"group":"Connect","pages":[{"title":"Pulsar IO Connectors","sidebarTitle":"Overview","href":"/cloud/connect/connector-index"},{"group":"Pulsar IO","pages":[{"title":"Connector Overview","sidebarTitle":"Overview","href":"/cloud/connect/pulsar-io/connector-overview"},{"group":"Deploy Connectors","pages":[{"title":"Deploy connectors","sidebarTitle":"Overview","href":"/cloud/connect/pulsar-io/deploy-connectors/deploy-connector-index"},{"title":"Set up Your Environment","sidebarTitle":"Set up Your Environment","href":"/cloud/connect/pulsar-io/deploy-connectors/connector-setup"},{"title":"Check Connector Availability","sidebarTitle":"Check Connector Availability","href":"/cloud/connect/pulsar-io/deploy-connectors/connector-check"},{"title":"Create Connectors","sidebarTitle":"Create Connectors","href":"/cloud/connect/pulsar-io/deploy-connectors/connector-create"}]},{"title":"Manage Connectors","sidebarTitle":"Manage Connectors","href":"/cloud/connect/pulsar-io/connector-manage"},{"title":"Monitor and Troubleshoot Connectors","sidebarTitle":"Monitor and Troubleshoot","href":"/cloud/connect/pulsar-io/connector-monitoring"},{"title":"Configuration Reference","sidebarTitle":"Configuration Reference","href":"/cloud/connect/pulsar-io/connector-config"}]},{"group":"Kafka Connect","pages":[{"title":"Kafka Connect Overview","sidebarTitle":"Overview","href":"/cloud/connect/kafka-connect/kafka-connect-overview"},{"group":"Deploy Kafka Connectors","pages":[{"title":"Deploy kafka connectors","sidebarTitle":"Overview","href":"/cloud/connect/kafka-connect/deploy-kafka-connectors/deploy-kafka-connect-index"},{"title":"Set up Your Environment","sidebarTitle":"Set up Your Environment","href":"/cloud/connect/kafka-connect/deploy-kafka-connectors/kafka-connect-setup"},{"title":"Check Kafka Connect Availability","sidebarTitle":"Check Kafka Connect Availability","href":"/cloud/connect/kafka-connect/deploy-kafka-connectors/kafka-connect-check"},{"title":"Create Kafka Connectors","sidebarTitle":"Create Kafka Connects","href":"/cloud/connect/kafka-connect/deploy-kafka-connectors/kafka-connect-create"}]},{"title":"Manage Kafka Connectors","sidebarTitle":"Manage Kafka Connectors","href":"/cloud/connect/kafka-connect/kafka-connect-manage"},{"title":"Monitor and Troubleshoot Kafka Connectors","sidebarTitle":"Monitor and Troubleshoot","href":"/cloud/connect/kafka-connect/kafka-connect-monitoring"},{"title":"Kafka Connect SMTs(Single Message Transformations)","sidebarTitle":"SMTs(Single Message Transforms)","href":"/cloud/connect/kafka-connect/kafka-connect-smt"}]},{"group":"Self Host Connectors","pages":[{"title":"Connect to your cluster using Kafka Connect","sidebarTitle":"Kafka Connect Quick Start","href":"/cloud/connect/self-host-connectors/cloud-connect-elasticsearch"}]}]},{"group":"Lakehouse","pages":[{"title":"Overview - Lakehouse Tables","sidebarTitle":"Overview","href":"/cloud/lakehouse/lakehouse-tables-overview"},{"title":"Lakehouse Table Overview","sidebarTitle":"Lakehouse Table Overview","href":"/cloud/lakehouse/lakehouse-table-overview"},{"title":"Enable Lakehouse Table","sidebarTitle":"Enable Lakehouse Table","href":"/cloud/lakehouse/enable-lakehouse-integration"},{"group":"Lakehouse Features","pages":[{"title":"Lakehouse Features Overview","sidebarTitle":"Overview","href":"/cloud/lakehouse/lakehouse-features"},{"title":"Schema Evolution","sidebarTitle":"Schema Evolution","href":"/cloud/lakehouse/features/schema-evolution"},{"title":"Variant Type","sidebarTitle":"Variant Type","href":"/cloud/lakehouse/features/variant-type"},{"title":"Partition Key","sidebarTitle":"Partition Key","href":"/cloud/lakehouse/features/iceberg-partition-key"},{"title":"Upsert","sidebarTitle":"Upsert","href":"/cloud/lakehouse/features/iceberg-upsert"},{"title":"Persist Key","sidebarTitle":"Persist Key","href":"/cloud/lakehouse/features/persist-key"},{"title":"Persist Extra Metadata","sidebarTitle":"Persist Extra Metadata","href":"/cloud/lakehouse/features/persist-extra-metadata"},{"title":"Data Lineage","sidebarTitle":"Data Lineage","href":"/cloud/lakehouse/features/lineage"}]},{"group":"Internal Tables","pages":[{"title":"Overview - Internal Tables","sidebarTitle":"Overview","href":"/cloud/lakehouse/internal-tables/internal-tables-overview"}]},{"group":"External Tables","pages":[{"title":"Overview - External Tables","sidebarTitle":"Overview","href":"/cloud/lakehouse/external-tables/external-tables-overview"}]},{"group":"Catalogs","pages":[{"title":"Overview of StreamNative Catalogs","sidebarTitle":"Overview","href":"/cloud/lakehouse/catalogs/catalog-overview"},{"group":"Prepare Catalogs","pages":[{"title":"Prepare Lakehouse Catalogs","sidebarTitle":"Prepare Lakehouse Catalogs","href":"/cloud/lakehouse/prepare-lakehouse-catalogs"},{"title":"BigLake for Iceberg","sidebarTitle":"BigLake for Iceberg","href":"/cloud/lakehouse/prepare-catalogs/biglake/iceberg"},{"title":"Horizon Catalog for Iceberg on AWS","sidebarTitle":"Horizon Catalog for Iceberg on AWS","href":"/cloud/lakehouse/prepare-catalogs/horizon-catalog/iceberg/aws"},{"group":"Open Catalog (Iceberg)","pages":[{"title":"Open Catalog for Iceberg on AWS","sidebarTitle":"Open Catalog for Iceberg on AWS","href":"/cloud/lakehouse/prepare-catalogs/open-catalog/iceberg/aws"},{"title":"Open Catalog for Iceberg on Azure","sidebarTitle":"Open Catalog for Iceberg on Azure","href":"/cloud/lakehouse/prepare-catalogs/open-catalog/iceberg/azure"},{"title":"Open Catalog for Iceberg on GCP","sidebarTitle":"Open Catalog for Iceberg on GCP","href":"/cloud/lakehouse/prepare-catalogs/open-catalog/iceberg/gcp"}]},{"title":"S3Table for Iceberg","sidebarTitle":"S3Table for Iceberg","href":"/cloud/lakehouse/prepare-catalogs/s3table/iceberg"},{"group":"Unity Catalog (Iceberg)","pages":[{"title":"Unity Catalog Managed Iceberg Table on AWS","sidebarTitle":"Unity Catalog Managed Iceberg Table on AWS","href":"/cloud/lakehouse/prepare-catalogs/unity-catalog/iceberg/aws"},{"title":"Unity Catalog Managed Iceberg Table on Azure","sidebarTitle":"Unity Catalog Managed Iceberg Table on Azure","href":"/cloud/lakehouse/prepare-catalogs/unity-catalog/iceberg/azure"},{"title":"Unity Catalog Managed Iceberg Table on GCP","sidebarTitle":"Unity Catalog Managed Iceberg Table on GCP","href":"/cloud/lakehouse/prepare-catalogs/unity-catalog/iceberg/gcp"}]},{"group":"Unity Catalog (Delta Lake)","pages":[{"title":"Unity Catalog for Delta Lake on AWS","sidebarTitle":"Unity Catalog for Delta Lake on AWS","href":"/cloud/lakehouse/prepare-catalogs/unity-catalog/delta-lake/aws"},{"title":"Unity Catalog for Delta Lake on Azure","sidebarTitle":"Unity Catalog for Delta Lake on Azure","href":"/cloud/lakehouse/prepare-catalogs/unity-catalog/delta-lake/azure"},{"title":"Unity Catalog for Delta Lake on GCP","sidebarTitle":"Unity Catalog for Delta Lake on GCP","href":"/cloud/lakehouse/prepare-catalogs/unity-catalog/delta-lake/gcp"}]}]},{"title":"Register Catalog","sidebarTitle":"Register catalog","href":"/cloud/lakehouse/catalogs/register-catalog"},{"title":"Manage StreamNative Catalogs","sidebarTitle":"Manage catalogs","href":"/cloud/lakehouse/catalogs/manage-catalogs"},{"group":"Private Networking","pages":[{"title":"Private Networking for Catalog Integration","sidebarTitle":"Overview","href":"/cloud/lakehouse/catalogs/private-networking/overview"},{"title":"Private Networking for Snowflake Open Catalog","sidebarTitle":"Snowflake Open Catalog","href":"/cloud/lakehouse/catalogs/private-networking/snowflake-open-catalog"},{"title":"Private Networking for Snowflake Horizon Catalog","sidebarTitle":"Snowflake Horizon Catalog","href":"/cloud/lakehouse/catalogs/private-networking/snowflake-horizon-catalog"},{"title":"Private Networking for Databricks Unity Catalog (Delta Lake)","sidebarTitle":"Databricks Delta Lake","href":"/cloud/lakehouse/catalogs/private-networking/databricks-unity-catalog"},{"title":"Private Networking for Databricks Unity Catalog (Iceberg)","sidebarTitle":"Databricks Iceberg","href":"/cloud/lakehouse/catalogs/private-networking/databricks-iceberg"},{"title":"Private Networking for Amazon S3 Tables","sidebarTitle":"Amazon S3 Tables","href":"/cloud/lakehouse/catalogs/private-networking/s3-tables"},{"title":"Private Networking for Google BigLake","sidebarTitle":"Google BigLake","href":"/cloud/lakehouse/catalogs/private-networking/google-biglake"}]}]},{"title":"Lakehouse Observability","sidebarTitle":"Lakehouse Observability","href":"/cloud/lakehouse/lakehouse-observability"},{"group":"Troubleshooting","pages":[{"title":"Troubleshoot duplicate file references in Unity Catalog","sidebarTitle":"Duplicate file references","href":"/cloud/lakehouse/unity-catalog-duplicate-file-references"}]}]},{"group":"Governance","pages":[{"title":"Data Governance on StreamNative Cloud","sidebarTitle":"Overview","href":"/cloud/governance/governance-overview"},{"group":"Pulsar Schema Registry","pages":[{"title":"Pulsar Schema Registry","sidebarTitle":"Overview","href":"/cloud/governance/sr/pulsar/overview"},{"title":"Pulsar Schema Types","sidebarTitle":"Schema Types","href":"/cloud/governance/sr/pulsar/schema-types"},{"title":"Pulsar Schema Evolution and Compatibility","sidebarTitle":"Compatibility","href":"/cloud/governance/sr/pulsar/compatibility"},{"title":"Manage Pulsar Schemas","sidebarTitle":"Manage Schemas","href":"/cloud/governance/sr/pulsar/manage-schemas"},{"title":"Use Pulsar Schemas with Clients","sidebarTitle":"Use with Clients","href":"/cloud/governance/sr/pulsar/use-with-clients"}]},{"group":"Kafka Schema Registry","pages":[{"title":"Kafka Schema Registry on Pulsar Clusters","sidebarTitle":"Overview","href":"/cloud/governance/sr/kafka-schema-registry"},{"title":"Use External Avro Schema with Pulsar clients","sidebarTitle":"External Avro Schema","href":"/cloud/governance/sr/external-schemas/external-avro-schema"},{"title":"Use External JSON Schema with Pulsar clients","sidebarTitle":"External JSON Schema","href":"/cloud/governance/sr/external-schemas/external-json-schema"},{"title":"Use External Protobuf Schema with Pulsar clients","sidebarTitle":"External Protobuf Schema","href":"/cloud/governance/sr/external-schemas/external-protobuf-schema"},{"title":"Set up active-standby replication for Kafka Schema Registry using Universal Linking","sidebarTitle":"Schema Registry Geo-Replication","href":"/cookbook/kafka-schema-registry-geo-replication"}]}]},{"group":"Pulsar Clients","pages":[{"title":"Build applications using Pulsar clients","sidebarTitle":"Overview","href":"/cloud/build/pulsar-clients/qs-connect"},{"group":"Quick Starts","pages":[{"title":"Connect to your cluster using the Pulsar Java client","sidebarTitle":"Java","href":"/cloud/build/pulsar-clients/cloud-connect-java"},{"title":"Connect to your cluster using the Pulsar Python client","sidebarTitle":"Python","href":"/cloud/build/pulsar-clients/cloud-connect-python"},{"title":"Connect to your cluster using the Pulsar Go client","sidebarTitle":"Go","href":"/cloud/build/pulsar-clients/cloud-connect-go"},{"title":"Connect to your cluster using the Pulsar C++ client","sidebarTitle":"C++","href":"/cloud/build/pulsar-clients/cloud-connect-cpp"},{"title":"Connect to your cluster using the Pulsar Node.js client","sidebarTitle":"Nodejs","href":"/cloud/build/pulsar-clients/cloud-connect-nodejs"},{"title":"Connect to your cluster using the Pulsar C# client","sidebarTitle":"C#","href":"/cloud/build/pulsar-clients/cloud-connect-dotnet"},{"title":"Connect to your cluster using the Pulsar Rust client","sidebarTitle":"Rust","href":"/cloud/build/pulsar-clients/cloud-connect-rust"},{"title":"Connect to your cluster in Spring applications","sidebarTitle":"Spring","href":"/cloud/build/pulsar-clients/cloud-connect-spring"}]},{"title":"Connect to your cluster using the Pulsar WebSocket API","sidebarTitle":"Websocket","href":"/cloud/build/pulsar-clients/cloud-connect-websocket"},{"title":"Message Rest API QuickStart","sidebarTitle":"Message Rest API","href":"/cloud/build/pulsar-clients/connect-restapi"},{"title":"Pulsar Transactions","sidebarTitle":"Transactions","href":"/cloud/build/pulsar-clients/transactions-overview"},{"group":"Guides","pages":[{"title":"Connect to StreamNative Cloud Using Pulsar Clients","sidebarTitle":"Overview","href":"/clients/pulsar-clients/pulsar-clients-overview"},{"group":"Go","pages":[{"group":"Tutorial","pages":[{"title":"Introduction","sidebarTitle":"Introduction","href":"/clients/pulsar-clients/go/tutorial/pulsar-go-introduction"},{"title":"Prerequisites","sidebarTitle":"Prerequisites","href":"/clients/pulsar-clients/go/tutorial/pulsar-go-prerequisites"},{"title":"Create Project","sidebarTitle":"Create Project","href":"/clients/pulsar-clients/go/tutorial/pulsar-go-create-project"},{"title":"Cluster Setup","sidebarTitle":"Cluster Setup","href":"/clients/pulsar-clients/go/tutorial/pulsar-go-cluster-setup"},{"title":"Create Topic","sidebarTitle":"Create Topic","href":"/clients/pulsar-clients/go/tutorial/pulsar-go-create-topic"},{"title":"Build Producer","sidebarTitle":"Build Producer","href":"/clients/pulsar-clients/go/tutorial/pulsar-go-build-producer"},{"title":"Build Consumer","sidebarTitle":"Build Consumer","href":"/clients/pulsar-clients/go/tutorial/pulsar-go-build-consumer"},{"title":"Produce Messages","sidebarTitle":"Produce Messages","href":"/clients/pulsar-clients/go/tutorial/pulsar-go-produce-messages"},{"title":"Consume Messages","sidebarTitle":"Consume Messages","href":"/clients/pulsar-clients/go/tutorial/pulsar-go-consume-messages"},{"title":"What's Next","sidebarTitle":"What's Next","href":"/clients/pulsar-clients/go/tutorial/pulsar-go-whats-next"}]}]}]}]},{"group":"MQTT Clients","pages":[{"title":"Build applications using MQTT","sidebarTitle":"Overview","href":"/cloud/build/mqtt-clients/mqtt-on-cloud-overview"}]},{"group":"Tools","pages":[{"group":"pulsarctl","pages":[{"title":"Get Started with Pulsar CLI (pulsarctl)","sidebarTitle":"Get Started","href":"/tools/cli/pulsarctl/pulsarctl-overview"},{"title":"pulsarctl Quick Reference","sidebarTitle":"Quick Reference","href":"/tools/cli/pulsarctl/pulsarctl-quick-reference"},{"title":"Configure Access to Multiple Clusters (snctl)","sidebarTitle":"Manage Multiple Clusters","href":"/tools/cli/pulsarctl/pulsarctl-configure-access-multiple-clusters"},{"title":"Tutorials: Manage Pulsar resources using pulsarctl","sidebarTitle":"pulsarctl Tutorial","href":"/tools/cli/pulsarctl/pulsarctl-tutorial"},{"title":"Extend the Pulsar CLI with Plugins","sidebarTitle":"Plugins","href":"/tools/cli/pulsarctl/pulsarctl-plugins"},{"title":"pulsarctl Command References","sidebarTitle":"Command References","href":"/tools/cli/pulsarctl/pulsarctl-command-references"}]},{"group":"Other Tools","pages":[{"title":"Use Pulsar Tools With StreamNative Cloud","sidebarTitle":"Use Pulsar Tools","href":"/tools/cli/other-tools/use-pulsar-tools-with-streamnative-cloud"},{"title":"Use Kafka Tools With StreamNative Cloud","sidebarTitle":"Use Kafka Tools","href":"/tools/cli/other-tools/use-kafka-tools-with-streamnative-cloud"},{"title":"Use kcat With StreamNative Cloud","sidebarTitle":"Use kcat","href":"/tools/cli/other-tools/use-kcat-with-streamnative-cloud"}]}]},{"group":"Pulsar Changelogs","pages":[{"group":"V5.0","pages":[{"title":null,"description":null,"href":"/release-notes/pulsar/v5.0/v5.0.0.106"},{"title":null,"href":"/release-notes/pulsar/v5.0/v5.0.0.2"},{"title":null,"description":null,"href":"/release-notes/pulsar/v5.0/v5.0.0-M1-SNAPSHOT"},{"title":null,"href":"/release-notes/pulsar/v5.0/v5.0.0-SNAPSHOT"}]},{"group":"V4.2","pages":[{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.5.3"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.5.2"},{"sidebarTitle":"v4.2.5.1 (rapid)","title":null,"href":"/release-notes/pulsar/v4.2/v4.2.5.1"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.1.18"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.1.17"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.1.16"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.1.15"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.1.14"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.1.13"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.1.12"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.1.11"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.1.10"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.1.9"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.1.8"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.1.7"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.1.6"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.1.5"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.1.4"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.1.1"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.0.10"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.0.9"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.0.8"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.0.7"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.0.6"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.0.5"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.0.3"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.0.2"},{"title":null,"href":"/release-notes/pulsar/v4.2/v4.2.0.1"}]},{"group":"V4.1","pages":[{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.3.6"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.3.5"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.3.4"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.3.3"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.3.2"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.3.1"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.0.16"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.0.15"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.0.14"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.0.13"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.0.12"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.0.11"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.0.10"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.0.9"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.0.8"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.0.7"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.0.6"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.0.5"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.0.4"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.0.3"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.0.2"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.0.1"},{"title":null,"href":"/release-notes/pulsar/v4.1/v4.1.0.0"}]},{"group":"V4.0","pages":[{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.14.3"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.14.2"},{"sidebarTitle":"v4.0.14.1 (stable)","title":null,"href":"/release-notes/pulsar/v4.0/v4.0.14.1"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.12.10"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.12.9"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.12.8"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.12.7"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.12.6"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.12.5"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.12.4"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.12.3"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.12.2"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.12.1"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.11.2"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.11.1"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.10.9"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.10.8"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.10.7"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.10.6"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.10.5"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.10.4"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.10.3"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.10.2"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.10.1"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.9.7"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.9.6"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.9.5"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.9.4"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.9.3"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.9.2"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.9.1"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.8.8"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.8.7"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.8.6"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.8.5"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.8.4"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.8.3"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.8.2"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.8.1"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.7.2"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.7.1"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.6.9"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.6.8"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.6.7"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.6.6"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.6.5"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.6.4"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.6.3"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.6.2"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.6.1"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.5.5"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.5.4"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.5.3"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.5.2"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.5.1"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.4.3"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.4.2"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.4.1"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.3.2"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.1.4"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.1.3"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.1.2"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.1.1"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.0.10"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.0.9"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.0.8"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.0.7"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.0.6"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.0.5"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.0.4"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.0.3"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.0.2"},{"title":null,"href":"/release-notes/pulsar/v4.0/v4.0.0.1"}]},{"group":"V3.3","pages":[{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.5.14"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.5.13"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.5.12"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.5.11"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.5.10"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.2.7"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.2.6"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.2.5"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.2.4"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.2.3"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.2.2"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.2.1"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.1.9"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.1.8"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.1.7"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.1.6"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.1.5"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.1.4"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.1.3"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.1.2"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.1.1"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.0.9"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.0.7"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.0.6"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.0.5"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.0.4"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.0.3"},{"title":null,"href":"/release-notes/pulsar/v3.3/v3.3.0.2"}]},{"group":"V3.2","pages":[{"title":null,"href":"/release-notes/pulsar/v3.2/v3.2.3.3"},{"title":null,"href":"/release-notes/pulsar/v3.2/v3.2.3.2"},{"title":null,"href":"/release-notes/pulsar/v3.2/v3.2.3.1"},{"title":null,"href":"/release-notes/pulsar/v3.2/v3.2.2.7"},{"title":null,"href":"/release-notes/pulsar/v3.2/v3.2.2.6"},{"title":null,"href":"/release-notes/pulsar/v3.2/v3.2.2.5"},{"title":null,"href":"/release-notes/pulsar/v3.2/v3.2.2.4"},{"title":null,"href":"/release-notes/pulsar/v3.2/v3.2.2.3"},{"title":null,"href":"/release-notes/pulsar/v3.2/v3.2.2.1"},{"title":null,"href":"/release-notes/pulsar/v3.2/v3.2.1.4"},{"title":null,"href":"/release-notes/pulsar/v3.2/v3.2.1.3"},{"title":null,"href":"/release-notes/pulsar/v3.2/v3.2.1.2"},{"title":null,"href":"/release-notes/pulsar/v3.2/v3.2.1.1"},{"title":null,"href":"/release-notes/pulsar/v3.2/v3.2.0.2"}]},{"group":"V3.1","pages":[{"title":null,"href":"/release-notes/pulsar/v3.1/v3.1.2.3"},{"title":null,"href":"/release-notes/pulsar/v3.1/v3.1.2.2"},{"title":null,"href":"/release-notes/pulsar/v3.1/v3.1.2.1"},{"title":null,"href":"/release-notes/pulsar/v3.1/v3.1.1.2"},{"title":null,"href":"/release-notes/pulsar/v3.1/v3.1.1.1"},{"title":null,"href":"/release-notes/pulsar/v3.1/v3.1.0.7"},{"title":null,"href":"/release-notes/pulsar/v3.1/v3.1.0.6"},{"title":null,"href":"/release-notes/pulsar/v3.1/v3.1.0.5"},{"title":"StreamNative Weekly Release Notes v3.1.0.4","sidebarTitle":"v3.1.0.4.md","href":"/release-notes/pulsar/v3.1/component-changelogs-v3.1.0.4"},{"title":"StreamNative Weekly Release Notes v3.1.0.3","sidebarTitle":"v3.1.0.3.md","href":"/release-notes/pulsar/v3.1/component-changelogs-v3.1.0.3"},{"title":"StreamNative Weekly Release Notes v3.1.0.2","sidebarTitle":"v3.1.0.2.md","href":"/release-notes/pulsar/v3.1/component-changelogs-v3.1.0.2"},{"title":"StreamNative Weekly Release Notes v3.1.0.1","sidebarTitle":"v3.1.0.1.md","href":"/release-notes/pulsar/v3.1/component-changelogs-v3.1.0.1"}]},{"group":"V3.0","pages":[{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.10.9"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.10.8"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.10.7"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.10.6"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.10.5"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.5.7"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.5.6"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.5.5"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.5.4"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.5.3"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.5.2"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.5.1"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.4.6"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.4.5"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.4.4"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.4.3"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.4.1"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.3.5"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.3.4"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.3.3"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.3.2"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.3.1"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.2.9"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.2.8"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.2.6"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.2.5"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.2.4"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.2.3"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.2.2"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.2.1"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.1.8"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.1.7"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.1.6"},{"title":null,"href":"/release-notes/pulsar/v3.0/v3.0.1.5"},{"title":"StreamNative Weekly Release Notes v3.0.1.2","sidebarTitle":"v3.0.1.2.md","href":"/release-notes/pulsar/v3.0/component-changelogs-v3.0.1.2"},{"title":"StreamNative Weekly Release Notes v3.0.1.1","sidebarTitle":"v3.0.1.1.md","href":"/release-notes/pulsar/v3.0/component-changelogs-v3.0.1.1"},{"title":"StreamNative Weekly Release Notes v3.0.0.4","sidebarTitle":"v3.0.0.4.md","href":"/release-notes/pulsar/v3.0/component-changelogs-v3.0.0.4"},{"title":"StreamNative Weekly Release Notes v3.0.0.3","sidebarTitle":"v3.0.0.3.md","href":"/release-notes/pulsar/v3.0/component-changelogs-v3.0.0.3"},{"title":"StreamNative Weekly Release Notes v3.0.0.2","sidebarTitle":"v3.0.0.2.md","href":"/release-notes/pulsar/v3.0/component-changelogs-v3.0.0.2"},{"title":"StreamNative Weekly Release Notes v3.0.0.1","sidebarTitle":"v3.0.0.1.md","href":"/release-notes/pulsar/v3.0/component-changelogs-v3.0.0.1"}]},{"group":"V2.11","pages":[{"title":null,"href":"/release-notes/pulsar/v2.11/v2.11.4.1"},{"title":null,"href":"/release-notes/pulsar/v2.11/v2.11.3.4"},{"title":null,"href":"/release-notes/pulsar/v2.11/v2.11.3.3"},{"title":null,"href":"/release-notes/pulsar/v2.11/v2.11.3.2"},{"title":null,"href":"/release-notes/pulsar/v2.11/v2.11.3.1"},{"title":null,"href":"/release-notes/pulsar/v2.11/v2.11.2.8"},{"title":null,"href":"/release-notes/pulsar/v2.11/v2.11.2.7"},{"title":"StreamNative Weekly Release Notes v2.11.2.6","sidebarTitle":"v2.11.2.6.md","href":"/release-notes/pulsar/v2.11/component-changelogs-v2.11.2.6"},{"title":"StreamNative Weekly Release Notes v2.11.2.5","sidebarTitle":"v2.11.2.5.md","href":"/release-notes/pulsar/v2.11/component-changelogs-v2.11.2.5"},{"title":"StreamNative Weekly Release Notes v2.11.2.4","sidebarTitle":"v2.11.2.4.md","href":"/release-notes/pulsar/v2.11/component-changelogs-v2.11.2.4"},{"title":"StreamNative Weekly Release Notes v2.11.2.3","sidebarTitle":"v2.11.2.3.md","href":"/release-notes/pulsar/v2.11/component-changelogs-v2.11.2.3"},{"title":"StreamNative Weekly Release Notes v2.11.2.2","sidebarTitle":"v2.11.2.2.md","href":"/release-notes/pulsar/v2.11/component-changelogs-v2.11.2.2"},{"title":"StreamNative Weekly Release Notes v2.11.2.1","sidebarTitle":"v2.11.2.1.md","href":"/release-notes/pulsar/v2.11/component-changelogs-v2.11.2.1"},{"title":"StreamNative Weekly Release Notes v2.11.1.4","sidebarTitle":"v2.11.1.4.md","href":"/release-notes/pulsar/v2.11/component-changelogs-v2.11.1.4"},{"title":"StreamNative Weekly Release Notes v2.11.1.3","sidebarTitle":"v2.11.1.3.md","href":"/release-notes/pulsar/v2.11/component-changelogs-v2.11.1.3"},{"title":"StreamNative Weekly Release Notes v2.11.1.2","sidebarTitle":"v2.11.1.2.md","href":"/release-notes/pulsar/v2.11/component-changelogs-v2.11.1.2"},{"title":"StreamNative Weekly Release Notes v2.11.1.1","sidebarTitle":"v2.11.1.1.md","href":"/release-notes/pulsar/v2.11/component-changelogs-v2.11.1.1"},{"title":"StreamNative Weekly Release Notes v2.11.1.0","sidebarTitle":"v2.11.1.0.md","href":"/release-notes/pulsar/v2.11/component-changelogs-v2.11.1.0"},{"title":"StreamNative Weekly Release Notes v2.11.0.5","sidebarTitle":"v2.11.0.5.md","href":"/release-notes/pulsar/v2.11/component-changelogs-v2.11.0.5"},{"title":"StreamNative Weekly Release Notes v2.11.0.4","sidebarTitle":"v2.11.0.4.md","href":"/release-notes/pulsar/v2.11/component-changelogs-v2.11.0.4"},{"title":"StreamNative Weekly Release Notes v2.11.0.3","sidebarTitle":"v2.11.0.3.md","href":"/release-notes/pulsar/v2.11/component-changelogs-v2.11.0.3"},{"title":"StreamNative Weekly Release Notes v2.11.0.2","sidebarTitle":"v2.11.0.2.md","href":"/release-notes/pulsar/v2.11/component-changelogs-v2.11.0.2"},{"title":"StreamNative Weekly Release Notes v2.11.0.1","sidebarTitle":"v2.11.0.1.md","href":"/release-notes/pulsar/v2.11/component-changelogs-v2.11.0.1"}]},{"group":"V2.10","pages":[{"title":null,"href":"/release-notes/pulsar/v2.10/v2.10.5.15"},{"title":null,"href":"/release-notes/pulsar/v2.10/v2.10.5.14"},{"title":null,"href":"/release-notes/pulsar/v2.10/v2.10.5.13"},{"title":null,"href":"/release-notes/pulsar/v2.10/v2.10.5.12"},{"title":null,"href":"/release-notes/pulsar/v2.10/v2.10.5.11"},{"title":null,"href":"/release-notes/pulsar/v2.10/v2.10.5.10"},{"title":null,"href":"/release-notes/pulsar/v2.10/v2.10.5.9"},{"title":null,"href":"/release-notes/pulsar/v2.10/v2.10.5.8"},{"title":null,"href":"/release-notes/pulsar/v2.10/v2.10.5.7"},{"title":null,"href":"/release-notes/pulsar/v2.10/v2.10.5.6"},{"title":null,"href":"/release-notes/pulsar/v2.10/v2.10.5.5"},{"title":null,"href":"/release-notes/pulsar/v2.10/v2.10.5.4"},{"title":null,"href":"/release-notes/pulsar/v2.10/v2.10.5.3"},{"title":"StreamNative Weekly Release Notes v2.10.5.1","sidebarTitle":"v2.10.5.1.md","href":"/release-notes/pulsar/v2.10/component-changelogs-v2.10.5.1"},{"title":"StreamNative Weekly Release Notes v2.10.4.8","sidebarTitle":"v2.10.4.8.md","href":"/release-notes/pulsar/v2.10/component-changelogs-v2.10.4.8"},{"title":"StreamNative Weekly Release Notes v2.10.4.7","sidebarTitle":"v2.10.4.7.md","href":"/release-notes/pulsar/v2.10/component-changelogs-v2.10.4.7"},{"title":"StreamNative Weekly Release Notes v2.10.4.6","sidebarTitle":"v2.10.4.6.md","href":"/release-notes/pulsar/v2.10/component-changelogs-v2.10.4.6"},{"title":"StreamNative Weekly Release Notes v2.10.4.5","sidebarTitle":"v2.10.4.5.md","href":"/release-notes/pulsar/v2.10/component-changelogs-v2.10.4.5"},{"title":"StreamNative Weekly Release Notes v2.10.4.4","sidebarTitle":"v2.10.4.4.md","href":"/release-notes/pulsar/v2.10/component-changelogs-v2.10.4.4"},{"title":"StreamNative Weekly Release Notes v2.10.4.3","sidebarTitle":"v2.10.4.3.md","href":"/release-notes/pulsar/v2.10/component-changelogs-v2.10.4.3"},{"title":"StreamNative Weekly Release Notes v2.10.4.2","sidebarTitle":"v2.10.4.2.md","href":"/release-notes/pulsar/v2.10/component-changelogs-v2.10.4.2"},{"title":"StreamNative Weekly Release Notes v2.10.4.1","sidebarTitle":"v2.10.4.1.md","href":"/release-notes/pulsar/v2.10/component-changelogs-v2.10.4.1"},{"title":"StreamNative Weekly Release Notes v2.10.3.7","sidebarTitle":"v2.10.3.7.md","href":"/release-notes/pulsar/v2.10/component-changelogs-v2.10.3.7"},{"title":"StreamNative Weekly Release Notes v2.10.3.6","sidebarTitle":"v2.10.3.6.md","href":"/release-notes/pulsar/v2.10/component-changelogs-v2.10.3.6"},{"title":"StreamNative Weekly Release Notes v2.10.3.5","sidebarTitle":"v2.10.3.5.md","href":"/release-notes/pulsar/v2.10/component-changelogs-v2.10.3.5"},{"title":"StreamNative Weekly Release Notes v2.10.3.4","sidebarTitle":"v2.10.3.4.md","href":"/release-notes/pulsar/v2.10/component-changelogs-v2.10.3.4"},{"title":"StreamNative Weekly Release Notes v2.10.3.3","sidebarTitle":"v2.10.3.3.md","href":"/release-notes/pulsar/v2.10/component-changelogs-v2.10.3.3"},{"title":"StreamNative Weekly Release Notes v2.10.3.2","sidebarTitle":"v2.10.3.2.md","href":"/release-notes/pulsar/v2.10/component-changelogs-v2.10.3.2"}]}]}]},{"tab":"Kafka","groups":[{"group":"Introduction","pages":[{"title":"StreamNative Kafka Service","sidebarTitle":"Overview","href":"/kafka/overview"},{"title":"Kafka Cluster vs. KSN on Pulsar Clusters","sidebarTitle":"Kafka Cluster vs. KSN","href":"/kafka/kafka-cluster-vs-ksn"}]},{"group":"Get Started","pages":[{"title":"QuickStart - Kafka Client","sidebarTitle":"Kafka APIs","href":"/cloud/get-started/quickstart-kafka"},{"title":"Get Started with Kafka Service","sidebarTitle":"Get Started","href":"/kafka/kafka-getting-started"}]},{"group":"Kafka Clusters","pages":[{"title":"Manage Kafka Clusters","sidebarTitle":"Kafka Cluster Guide","href":"/kafka/kafka-cluster-guide"}]},{"group":"Process","pages":[{"title":"Kafka Streams \u0026 KSQL","sidebarTitle":"Overview","href":"/cloud/process/kafka-streams-and-ksql/kafka-streams-and-ksql"},{"title":"Connect to your cluster using the Kafka Stream","sidebarTitle":"Kafka Streams","href":"/cloud/process/kafka-streams-and-ksql/cloud-connect-kafka-stream"},{"title":"Connect to your cluster using KSQL","sidebarTitle":"KSQL","href":"/cloud/process/kafka-streams-and-ksql/cloud-connect-ksql"}]},{"group":"Lakehouse","pages":[{"title":"Overview - Lakehouse Tables","sidebarTitle":"Overview","href":"/cloud/lakehouse/lakehouse-tables-overview"},{"title":"Lakehouse Table Overview","sidebarTitle":"Lakehouse Table Overview","href":"/cloud/lakehouse/lakehouse-table-overview"},{"title":"Enable Lakehouse Table","sidebarTitle":"Enable Lakehouse Table","href":"/cloud/lakehouse/enable-lakehouse-integration"},{"group":"Lakehouse Features","pages":[{"title":"Lakehouse Features Overview","sidebarTitle":"Overview","href":"/cloud/lakehouse/lakehouse-features"},{"title":"Schema Evolution","sidebarTitle":"Schema Evolution","href":"/cloud/lakehouse/features/schema-evolution"},{"title":"Variant Type","sidebarTitle":"Variant Type","href":"/cloud/lakehouse/features/variant-type"},{"title":"Partition Key","sidebarTitle":"Partition Key","href":"/cloud/lakehouse/features/iceberg-partition-key"},{"title":"Upsert","sidebarTitle":"Upsert","href":"/cloud/lakehouse/features/iceberg-upsert"},{"title":"Persist Key","sidebarTitle":"Persist Key","href":"/cloud/lakehouse/features/persist-key"},{"title":"Persist Extra Metadata","sidebarTitle":"Persist Extra Metadata","href":"/cloud/lakehouse/features/persist-extra-metadata"},{"title":"Data Lineage","sidebarTitle":"Data Lineage","href":"/cloud/lakehouse/features/lineage"}]},{"group":"Internal Tables","pages":[{"title":"Overview - Internal Tables","sidebarTitle":"Overview","href":"/cloud/lakehouse/internal-tables/internal-tables-overview"}]},{"group":"External Tables","pages":[{"title":"Overview - External Tables","sidebarTitle":"Overview","href":"/cloud/lakehouse/external-tables/external-tables-overview"}]},{"group":"Catalogs","pages":[{"title":"Overview of StreamNative Catalogs","sidebarTitle":"Overview","href":"/cloud/lakehouse/catalogs/catalog-overview"},{"group":"Prepare Catalogs","pages":[{"title":"Prepare Lakehouse Catalogs","sidebarTitle":"Prepare Lakehouse Catalogs","href":"/cloud/lakehouse/prepare-lakehouse-catalogs"},{"title":"BigLake for Iceberg","sidebarTitle":"BigLake for Iceberg","href":"/cloud/lakehouse/prepare-catalogs/biglake/iceberg"},{"title":"Horizon Catalog for Iceberg on AWS","sidebarTitle":"Horizon Catalog for Iceberg on AWS","href":"/cloud/lakehouse/prepare-catalogs/horizon-catalog/iceberg/aws"},{"group":"Open Catalog (Iceberg)","pages":[{"title":"Open Catalog for Iceberg on AWS","sidebarTitle":"Open Catalog for Iceberg on AWS","href":"/cloud/lakehouse/prepare-catalogs/open-catalog/iceberg/aws"},{"title":"Open Catalog for Iceberg on Azure","sidebarTitle":"Open Catalog for Iceberg on Azure","href":"/cloud/lakehouse/prepare-catalogs/open-catalog/iceberg/azure"},{"title":"Open Catalog for Iceberg on GCP","sidebarTitle":"Open Catalog for Iceberg on GCP","href":"/cloud/lakehouse/prepare-catalogs/open-catalog/iceberg/gcp"}]},{"title":"S3Table for Iceberg","sidebarTitle":"S3Table for Iceberg","href":"/cloud/lakehouse/prepare-catalogs/s3table/iceberg"},{"group":"Unity Catalog (Iceberg)","pages":[{"title":"Unity Catalog Managed Iceberg Table on AWS","sidebarTitle":"Unity Catalog Managed Iceberg Table on AWS","href":"/cloud/lakehouse/prepare-catalogs/unity-catalog/iceberg/aws"},{"title":"Unity Catalog Managed Iceberg Table on Azure","sidebarTitle":"Unity Catalog Managed Iceberg Table on Azure","href":"/cloud/lakehouse/prepare-catalogs/unity-catalog/iceberg/azure"},{"title":"Unity Catalog Managed Iceberg Table on GCP","sidebarTitle":"Unity Catalog Managed Iceberg Table on GCP","href":"/cloud/lakehouse/prepare-catalogs/unity-catalog/iceberg/gcp"}]},{"group":"Unity Catalog (Delta Lake)","pages":[{"title":"Unity Catalog for Delta Lake on AWS","sidebarTitle":"Unity Catalog for Delta Lake on AWS","href":"/cloud/lakehouse/prepare-catalogs/unity-catalog/delta-lake/aws"},{"title":"Unity Catalog for Delta Lake on Azure","sidebarTitle":"Unity Catalog for Delta Lake on Azure","href":"/cloud/lakehouse/prepare-catalogs/unity-catalog/delta-lake/azure"},{"title":"Unity Catalog for Delta Lake on GCP","sidebarTitle":"Unity Catalog for Delta Lake on GCP","href":"/cloud/lakehouse/prepare-catalogs/unity-catalog/delta-lake/gcp"}]}]},{"title":"Register Catalog","sidebarTitle":"Register catalog","href":"/cloud/lakehouse/catalogs/register-catalog"},{"title":"Manage StreamNative Catalogs","sidebarTitle":"Manage catalogs","href":"/cloud/lakehouse/catalogs/manage-catalogs"},{"group":"Private Networking","pages":[{"title":"Private Networking for Catalog Integration","sidebarTitle":"Overview","href":"/cloud/lakehouse/catalogs/private-networking/overview"},{"title":"Private Networking for Snowflake Open Catalog","sidebarTitle":"Snowflake Open Catalog","href":"/cloud/lakehouse/catalogs/private-networking/snowflake-open-catalog"},{"title":"Private Networking for Snowflake Horizon Catalog","sidebarTitle":"Snowflake Horizon Catalog","href":"/cloud/lakehouse/catalogs/private-networking/snowflake-horizon-catalog"},{"title":"Private Networking for Databricks Unity Catalog (Delta Lake)","sidebarTitle":"Databricks Delta Lake","href":"/cloud/lakehouse/catalogs/private-networking/databricks-unity-catalog"},{"title":"Private Networking for Databricks Unity Catalog (Iceberg)","sidebarTitle":"Databricks Iceberg","href":"/cloud/lakehouse/catalogs/private-networking/databricks-iceberg"},{"title":"Private Networking for Amazon S3 Tables","sidebarTitle":"Amazon S3 Tables","href":"/cloud/lakehouse/catalogs/private-networking/s3-tables"},{"title":"Private Networking for Google BigLake","sidebarTitle":"Google BigLake","href":"/cloud/lakehouse/catalogs/private-networking/google-biglake"}]}]},{"title":"Lakehouse Observability","sidebarTitle":"Lakehouse Observability","href":"/cloud/lakehouse/lakehouse-observability"},{"group":"Troubleshooting","pages":[{"title":"Troubleshoot duplicate file references in Unity Catalog","sidebarTitle":"Duplicate file references","href":"/cloud/lakehouse/unity-catalog-duplicate-file-references"}]}]},{"group":"Governance","pages":[{"title":"Kafka Schema Registry","sidebarTitle":"Overview","href":"/kafka/governance/sr/overview"},{"title":"Connect to the Kafka Schema Registry","sidebarTitle":"Connect","href":"/kafka/governance/sr/connect"},{"title":"Kafka Schema Registry Tutorial","sidebarTitle":"Tutorial","href":"/kafka/governance/sr/tutorial"},{"group":"Fundamentals","pages":[{"title":"Kafka Schema Registry Key Concepts","sidebarTitle":"Key Concepts","href":"/kafka/governance/sr/fundamentals/key-concepts"},{"title":"Kafka Schema Evolution and Compatibility","sidebarTitle":"Evolution and Compatibility","href":"/kafka/governance/sr/fundamentals/schema-evolution"},{"title":"Kafka Serializers and Deserializers","sidebarTitle":"Serializers and Deserializers","href":"/kafka/governance/sr/fundamentals/serdes"},{"group":"Schema Formats","pages":[{"title":"Use Avro Schemas","sidebarTitle":"Avro","href":"/kafka/governance/sr/fundamentals/formats/avro"},{"title":"Use Protobuf Schemas","sidebarTitle":"Protobuf","href":"/kafka/governance/sr/fundamentals/formats/protobuf"},{"title":"Use JSON Schemas","sidebarTitle":"JSON Schema","href":"/kafka/governance/sr/fundamentals/formats/json-schema"}]},{"title":"Use Kafka Schema References","sidebarTitle":"Schema References","href":"/kafka/governance/sr/fundamentals/schema-references"},{"title":"Secure Kafka Schema Registry Access","sidebarTitle":"Security","href":"/kafka/governance/sr/fundamentals/security"}]},{"group":"Manage Schemas","pages":[{"title":"Register and Manage Kafka Schemas","sidebarTitle":"Manage Schemas","href":"/kafka/governance/sr/manage/manage-schemas"},{"title":"Delete Kafka Schemas","sidebarTitle":"Delete Schemas","href":"/kafka/governance/sr/manage/delete-schemas"},{"title":"Validate Schema IDs on the Broker","sidebarTitle":"Schema ID Validation","href":"/kafka/governance/sr/manage/schema-id-validation"},{"title":"Set up active-standby replication for Kafka Schema Registry using Universal Linking","sidebarTitle":"Schema Registry Geo-Replication","href":"/cookbook/kafka-schema-registry-geo-replication"}]},{"group":"Reference","pages":[{"title":"Kafka Schema Registry REST API Examples","sidebarTitle":"REST API","href":"/kafka/governance/sr/reference/rest-api"},{"title":"Kafka Schema Registry Client Configuration","sidebarTitle":"Client Configuration","href":"/kafka/governance/sr/reference/client-configuration"},{"title":"Confluent Schema Registry API Compatibility","sidebarTitle":"Confluent Compatibility","href":"/kafka/governance/sr/reference/confluent-compatibility"},{"title":"Troubleshoot the Kafka Schema Registry","sidebarTitle":"Troubleshooting","href":"/kafka/governance/sr/reference/troubleshooting"}]},{"title":"Kafka Schema Registry FAQ","sidebarTitle":"FAQ","href":"/kafka/governance/sr/faq"}]},{"group":"Migrate","pages":[{"title":"Migrate to StreamNative Kafka Service","sidebarTitle":"Migration Guide","href":"/kafka/kafka-migration-guide"}]},{"group":"Kafka Clients","pages":[{"title":"Build Kafka Client Applications on StreamNative Cloud","sidebarTitle":"Overview","href":"/cloud/build/kafka-clients/kafka-on-cloud"},{"group":"Compatibility","pages":[{"title":"Kafka Compatibility Overview","sidebarTitle":"Overview","href":"/cloud/build/kafka-clients/compatibility/kafka-compatibility"},{"title":"Kafka Protocol and Features","sidebarTitle":"Protocol and Features","href":"/cloud/build/kafka-clients/compatibility/kafka-protocol-and-features"}]},{"group":"Quick Starts","pages":[{"title":"Connect to your cluster using the Kafka Java client","sidebarTitle":"Kafka Java","href":"/cloud/build/kafka-clients/quick-starts/cloud-connect-kafka-java"},{"title":"Connect to your cluster using the Kafka Python client","sidebarTitle":"Kafka Python","href":"/cloud/build/kafka-clients/quick-starts/cloud-connect-kafka-python"},{"title":"Connect to your cluster using the Kafka Go client","sidebarTitle":"Kafka Go","href":"/cloud/build/kafka-clients/quick-starts/cloud-connect-kafka-go"},{"title":"Connect to your cluster using the Kafka Node.js client","sidebarTitle":"Kafka Nodejs","href":"/cloud/build/kafka-clients/quick-starts/cloud-connect-kafka-nodejs"},{"title":"Connect to your cluster using the Kafka C client (rdkafka)","sidebarTitle":"Kafka C","href":"/cloud/build/kafka-clients/quick-starts/cloud-connect-kafka-c"},{"title":"Connect to your cluster using Kafka CLI","sidebarTitle":"Kafka CLI","href":"/cloud/build/kafka-clients/quick-starts/cloud-connect-kafka-cli"}]},{"group":"Advanced Features","pages":[{"title":"Multi-Tenancy","sidebarTitle":"Multi Tenancy","href":"/cloud/build/kafka-clients/advanced-features/kafka-multi-tenancy"},{"title":"Kafka Compacted Topic","sidebarTitle":"Compacted Topic","href":"/cloud/build/kafka-clients/advanced-features/kafka-compacted-topic"},{"title":"Kafka Transactions","sidebarTitle":"Transactions","href":"/cloud/build/kafka-clients/advanced-features/kafka-transaction"},{"title":"Interoperability between Apache Kafka and Apache Pulsar","sidebarTitle":"Interoperability","href":"/cloud/build/kafka-clients/advanced-features/interoperability-between-kafka-and-pulsar"}]},{"group":"Configuration","pages":[{"title":"Configuring Kafka Clients","sidebarTitle":"Config Client","href":"/cloud/build/kafka-clients/config/config-kafka-client"},{"title":"Configuring Kafka Consumer","sidebarTitle":"Config Consumer","href":"/cloud/build/kafka-clients/config/config-kafka-consumer"},{"title":"Configuring Kafka Producer","sidebarTitle":"Config Producer","href":"/cloud/build/kafka-clients/config/config-kafka-producer"}]},{"group":"Optimize And Tune","pages":[{"title":"Optimize and Tune Kafka Clients","sidebarTitle":"Overview","href":"/cloud/build/kafka-clients/optimize-and-tune/optimize-kafka-clients"},{"title":"Optimize Kafka Client for Throughput","sidebarTitle":"Throughput","href":"/cloud/build/kafka-clients/optimize-and-tune/optimize-kafka-throughput"},{"title":"Optimize Kafka Client for Latency","sidebarTitle":"Latency","href":"/cloud/build/kafka-clients/optimize-and-tune/optimize-kafka-latency"},{"title":"Optimize Kafka Client for Durability","sidebarTitle":"Durability","href":"/cloud/build/kafka-clients/optimize-and-tune/optimize-kafka-durability"},{"title":"Optimize Kafka Client for Availability","sidebarTitle":"Availability","href":"/cloud/build/kafka-clients/optimize-and-tune/optimize-kafka-availability"}]},{"title":"Kafka Rest API Quickstart","sidebarTitle":"Kafka Rest API","href":"/cloud/build/kafka-clients/kafka-rest-api"},{"title":"Migrating to StreamNative","sidebarTitle":"Migrate","href":"/cloud/build/kafka-clients/migrating-to-streamnative"},{"title":"Test Kafka Protocol as code","sidebarTitle":"Test","href":"/cloud/build/kafka-clients/test-kafka-protocol"},{"group":"Integrations","pages":[{"title":"Connect to your cluster using Lenses","sidebarTitle":"Lenses","href":"/cloud/build/kafka-clients/integrations/cloud-connect-lenses"}]},{"group":"Guides","pages":[{"title":"Connect to StreamNative Cloud Using Kafka Clients","sidebarTitle":"Overview","href":"/clients/kafka-clients/kafka-clients-overview"},{"group":"Java","pages":[{"title":"Kafka Java Client Guide","sidebarTitle":"Guide","href":"/clients/kafka-clients/java/kafka-java-client-guide"},{"group":"Tutorial","pages":[{"title":"Introduction","sidebarTitle":"Introduction","href":"/clients/kafka-clients/java/tutorial/kafka-java-introduction"},{"title":"Prerequisites","sidebarTitle":"Prerequisites","href":"/clients/kafka-clients/java/tutorial/kafka-java-prerequisites"},{"title":"Create Project","sidebarTitle":"Create Project","href":"/clients/kafka-clients/java/tutorial/kafka-java-create-project"},{"title":"Cluster Setup","sidebarTitle":"Cluster Setup","href":"/clients/kafka-clients/java/tutorial/kafka-java-cluster-setup"},{"title":"Create Topic","sidebarTitle":"Create Topic","href":"/clients/kafka-clients/java/tutorial/kafka-java-create-topic"},{"title":"Build Producer","sidebarTitle":"Build Producer","href":"/clients/kafka-clients/java/tutorial/kafka-java-build-producer"},{"title":"Build Consumer","sidebarTitle":"Build Consumer","href":"/clients/kafka-clients/java/tutorial/kafka-java-build-consumer"},{"title":"Produce Messages","sidebarTitle":"Produce Messages","href":"/clients/kafka-clients/java/tutorial/kafka-java-produce-messages"},{"title":"Consume Messages","sidebarTitle":"Consume Messages","href":"/clients/kafka-clients/java/tutorial/kafka-java-consume-messages"},{"title":"What's Next","sidebarTitle":"What's Next","href":"/clients/kafka-clients/java/tutorial/kafka-java-whats-next"}]}]},{"group":".net","pages":[{"group":"Tutorial","pages":[{"title":"Introduction","sidebarTitle":"Introduction","href":"/clients/kafka-clients/.net/tutorial/kafka-dotnet-introduction"},{"title":"Prerequisites","sidebarTitle":"Prerequisites","href":"/clients/kafka-clients/.net/tutorial/kafka-dotnet-prerequisites"},{"title":"Create Project","sidebarTitle":"Create Project","href":"/clients/kafka-clients/.net/tutorial/kafka-dotnet-create-project"},{"title":"Cluster Setup","sidebarTitle":"Cluster Setup","href":"/clients/kafka-clients/.net/tutorial/kafka-dotnet-cluster-setup"},{"title":"Create Topic","sidebarTitle":"Create Topic","href":"/clients/kafka-clients/.net/tutorial/kafka-dotnet-create-topic"},{"title":"Build Producer","sidebarTitle":"Build Producer","href":"/clients/kafka-clients/.net/tutorial/kafka-dotnet-build-producer"},{"title":"Build Consumer","sidebarTitle":"Build Consumer","href":"/clients/kafka-clients/.net/tutorial/kafka-dotnet-build-consumer"},{"title":"Produce Messages","sidebarTitle":"Produce Messages","href":"/clients/kafka-clients/.net/tutorial/kafka-dotnet-produce-messages"},{"title":"Consume Messages","sidebarTitle":"Consume Messages","href":"/clients/kafka-clients/.net/tutorial/kafka-dotnet-consume-messages"},{"title":"What's Next","sidebarTitle":"What's Next","href":"/clients/kafka-clients/.net/tutorial/kafka-dotnet-whats-next"}]}]},{"group":"C And C++","pages":[{"group":"Tutorial","pages":[{"title":"Introduction","sidebarTitle":"Introduction","href":"/clients/kafka-clients/c-and-c++/tutorial/kafka-c-introduction"},{"title":"Prerequisites","sidebarTitle":"Prerequisites","href":"/clients/kafka-clients/c-and-c++/tutorial/kafka-c-prerequisites"},{"title":"Create Project","sidebarTitle":"Create Project","href":"/clients/kafka-clients/c-and-c++/tutorial/kafka-c-create-project"},{"title":"Cluster Setup","sidebarTitle":"Cluster Setup","href":"/clients/kafka-clients/c-and-c++/tutorial/kafka-c-cluster-setup"},{"title":"Create Topic","sidebarTitle":"Create Topic","href":"/clients/kafka-clients/c-and-c++/tutorial/kafka-c-create-topic"},{"title":"Build Producer","sidebarTitle":"Build Producer","href":"/clients/kafka-clients/c-and-c++/tutorial/kafka-c-build-producer"},{"title":"Build Consumer","sidebarTitle":"Build Consumer","href":"/clients/kafka-clients/c-and-c++/tutorial/kafka-c-build-consumer"},{"title":"Produce Messages","sidebarTitle":"Produce Messages","href":"/clients/kafka-clients/c-and-c++/tutorial/kafka-c-produce-messages"},{"title":"Consume Messages","sidebarTitle":"Consume Messages","href":"/clients/kafka-clients/c-and-c++/tutorial/kafka-c-consume-messages"},{"title":"What's Next","sidebarTitle":"What's Next","href":"/clients/kafka-clients/c-and-c++/tutorial/kafka-c-whats-next"}]}]},{"group":"Go","pages":[{"group":"Tutorial","pages":[{"title":"Introduction","sidebarTitle":"Introduction","href":"/clients/kafka-clients/go/tutorial/kafka-go-introduction"},{"title":"Prerequisites","sidebarTitle":"Prerequisites","href":"/clients/kafka-clients/go/tutorial/kafka-go-prerequisites"},{"title":"Create Project","sidebarTitle":"Create Project","href":"/clients/kafka-clients/go/tutorial/kafka-go-create-project"},{"title":"Cluster Setup","sidebarTitle":"Cluster Setup","href":"/clients/kafka-clients/go/tutorial/kafka-go-cluster-setup"},{"title":"Create Topic","sidebarTitle":"Create Topic","href":"/clients/kafka-clients/go/tutorial/kafka-go-create-topic"},{"title":"Build Producer","sidebarTitle":"Build Producer","href":"/clients/kafka-clients/go/tutorial/kafka-go-build-producer"},{"title":"Build Consumer","sidebarTitle":"Build Consumer","href":"/clients/kafka-clients/go/tutorial/kafka-go-build-consumer"},{"title":"Produce Messages","sidebarTitle":"Produce Messages","href":"/clients/kafka-clients/go/tutorial/kafka-go-produce-messages"},{"title":"Consume Messages","sidebarTitle":"Consume Messages","href":"/clients/kafka-clients/go/tutorial/kafka-go-consume-messages"},{"title":"What's Next","sidebarTitle":"What's Next","href":"/clients/kafka-clients/go/tutorial/kafka-go-whats-next"}]}]},{"group":"Node.js","pages":[{"group":"Tutorial","pages":[{"title":"Introduction","sidebarTitle":"Introduction","href":"/clients/kafka-clients/node.js/tutorial/kafka-js-introduction"},{"title":"Prerequisites","sidebarTitle":"Prerequisites","href":"/clients/kafka-clients/node.js/tutorial/kafka-js-prerequisites"},{"title":"Create Project","sidebarTitle":"Create Project","href":"/clients/kafka-clients/node.js/tutorial/kafka-js-create-project"},{"title":"Cluster Setup","sidebarTitle":"Cluster Setup","href":"/clients/kafka-clients/node.js/tutorial/kafka-js-cluster-setup"},{"title":"Create Topic","sidebarTitle":"Create Topic","href":"/clients/kafka-clients/node.js/tutorial/kafka-js-create-topic"},{"title":"Build Producer","sidebarTitle":"Build Producer","href":"/clients/kafka-clients/node.js/tutorial/kafka-js-build-producer"},{"title":"Build Consumer","sidebarTitle":"Build Consumer","href":"/clients/kafka-clients/node.js/tutorial/kafka-js-build-consumer"},{"title":"Produce Messages","sidebarTitle":"Produce Messages","href":"/clients/kafka-clients/node.js/tutorial/kafka-js-produce-messages"},{"title":"Consume Messages","sidebarTitle":"Consume Messages","href":"/clients/kafka-clients/node.js/tutorial/kafka-js-consume-messages"},{"title":"What's Next","sidebarTitle":"What's Next","href":"/clients/kafka-clients/node.js/tutorial/kafka-js-whats-next"}]}]},{"group":"Python","pages":[{"group":"Tutorial","pages":[{"title":"Introduction","sidebarTitle":"Introduction","href":"/clients/kafka-clients/python/tutorial/kafka-python-introduction"},{"title":"Prerequisites","sidebarTitle":"Prerequisites","href":"/clients/kafka-clients/python/tutorial/kafka-python-prerequisites"},{"title":"Create Project","sidebarTitle":"Create Project","href":"/clients/kafka-clients/python/tutorial/kafka-python-create-project"},{"title":"Cluster Setup","sidebarTitle":"Cluster Setup","href":"/clients/kafka-clients/python/tutorial/kafka-python-cluster-setup"},{"title":"Create Topic","sidebarTitle":"Create Topic","href":"/clients/kafka-clients/python/tutorial/kafka-python-create-topic"},{"title":"Build Producer","sidebarTitle":"Build Producer","href":"/clients/kafka-clients/python/tutorial/kafka-python-build-producer"},{"title":"Build Consumer","sidebarTitle":"Build Consumer","href":"/clients/kafka-clients/python/tutorial/kafka-python-build-consumer"},{"title":"Produce Messages","sidebarTitle":"Produce Messages","href":"/clients/kafka-clients/python/tutorial/kafka-python-produce-messages"},{"title":"Consume Messages","sidebarTitle":"Consume Messages","href":"/clients/kafka-clients/python/tutorial/kafka-python-consume-messages"},{"title":"What's Next","sidebarTitle":"What's Next","href":"/clients/kafka-clients/python/tutorial/kafka-python-whats-next"}]}]},{"group":"Spring Boot","pages":[{"group":"Tutorial","pages":[{"title":"Introduction","sidebarTitle":"Introduction","href":"/clients/kafka-clients/spring-boot/tutorial/kafka-spring-boot-introduction"},{"title":"Prerequisites","sidebarTitle":"Prerequisites","href":"/clients/kafka-clients/spring-boot/tutorial/kafka-spring-boot-prerequisites"},{"title":"Create Project","sidebarTitle":"Create Project","href":"/clients/kafka-clients/spring-boot/tutorial/kafka-spring-boot-create-project"},{"title":"Cluster Setup","sidebarTitle":"Cluster Setup","href":"/clients/kafka-clients/spring-boot/tutorial/kafka-spring-boot-cluster-setup"},{"title":"Create Topic","sidebarTitle":"Create Topic","href":"/clients/kafka-clients/spring-boot/tutorial/kafka-spring-boot-create-topic"},{"title":"Build Producer","sidebarTitle":"Build Producer","href":"/clients/kafka-clients/spring-boot/tutorial/kafka-spring-boot-build-producer"},{"title":"Build Consumer","sidebarTitle":"Build Consumer","href":"/clients/kafka-clients/spring-boot/tutorial/kafka-spring-boot-build-consumer"},{"title":"Produce Messages","sidebarTitle":"Produce Messages","href":"/clients/kafka-clients/spring-boot/tutorial/kafka-spring-boot-produce-messages"},{"title":"Consume Messages","sidebarTitle":"Consume Messages","href":"/clients/kafka-clients/spring-boot/tutorial/kafka-spring-boot-consume-messages"},{"title":"What's Next","sidebarTitle":"What's Next","href":"/clients/kafka-clients/spring-boot/tutorial/kafka-spring-boot-whats-next"}]}]}]}]}]},{"tab":"SQL","groups":[{"group":"Overview","pages":[{"title":"SQL Workspaces Architecture (Private Preview)","sidebarTitle":"Architecture","href":"/sql/overview/architecture"},{"title":"SQL Workspace","sidebarTitle":"SQL Workspace","href":"/sql/overview/sqlworkspace"},{"group":"SQL Catalog","pages":[{"title":"SQL Catalog","sidebarTitle":"SQL Catalog","href":"/sql/overview/sqlcatalog"},{"title":"SQL Workspaces Source Discovery","sidebarTitle":"Source Discovery","href":"/sql/overview/source-discovery"},{"title":"SQL Catalog Schema Support","sidebarTitle":"Schema Support","href":"/sql/overview/schema-support"},{"title":"SQL Workspaces Naming Rules","sidebarTitle":"Naming Rules","href":"/sql/overview/naming-rules"}]}]},{"group":"Get Started","pages":[{"title":"Get Started with SQL Workspaces (Private Preview)","sidebarTitle":"Get Started with SQL Workspaces","href":"/sql/get-started/get-started"},{"group":"Cloud Console","pages":[{"title":"Create a SQL Workspace in the Cloud Console","sidebarTitle":"Create a SQL Workspace","href":"/sql/get-started/console/create-sqlworkspace"},{"title":"Add a SQL Catalog in the Cloud Console","sidebarTitle":"Add a SQL Catalog","href":"/sql/get-started/console/add-sqlcatalog"},{"title":"Query with SQL Studio","sidebarTitle":"Query with SQL Studio","href":"/sql/get-started/console/query-sql-studio"},{"title":"Connect with a PostgreSQL Client","sidebarTitle":"Connect with a PostgreSQL Client","href":"/sql/get-started/console/connect-postgresql-client"}]},{"title":"Cloud CLI","sidebarTitle":"Cloud CLI","href":"/sql/get-started/cli/cloud-cli"}]},{"group":"Operations","pages":[{"title":"Manage SQL Workspaces","sidebarTitle":"Manage SQL Workspaces","href":"/sql/operations/manage-sqlworkspaces"},{"title":"Manage SQL Catalogs","sidebarTitle":"Manage SQL Catalogs","href":"/sql/operations/manage-sqlcatalogs"},{"title":"Data Retention","sidebarTitle":"Data Retention","href":"/sql/operations/data-retention"}]},{"group":"Access Control","pages":[{"title":"SQL Workspaces Access Control","sidebarTitle":"Access Control Overview","href":"/sql/access-control/access-control-overview"},{"title":"Cloud Resource Access","sidebarTitle":"Cloud Resource Access","href":"/sql/access-control/cloud-resource-access"},{"group":"SQL Workspace Engine Access","pages":[{"title":"SQL Workspace Engine Access","sidebarTitle":"Overview","href":"/sql/access-control/sql-engine-access"},{"title":"Cloud User Access","sidebarTitle":"Cloud User Access","href":"/sql/access-control/cloud-user-access"},{"title":"Machine-to-Machine Access","sidebarTitle":"Machine-to-Machine Access","href":"/sql/access-control/machine-to-machine-access"}]}]}]},{"tab":"Agent Engine","groups":[{"group":"Overview","pages":[{"title":"StreamNative Orca Agent Platform (Private Preview)","sidebarTitle":"Overview","href":"/agent-engine/agents-overview"}]},{"group":"Get Started","pages":[{"title":"Set Up Your Environment","sidebarTitle":"Set Up Your Environment","href":"/agent-engine/agents-setup"}]},{"group":"Develop Agents","pages":[{"title":"Develop ADK Agents","sidebarTitle":"Develop With ADK","href":"/agent-engine/develop-agents/agents-develop-adk"},{"title":"Develop OpenAI Agents","sidebarTitle":"Develop With OpenAI","href":"/agent-engine/develop-agents/agents-develop-openai"}]},{"group":"Operations","pages":[{"title":"Manage Agents","sidebarTitle":"Manage Agents","href":"/agent-engine/agents-manage"},{"title":"Configure Model Access","sidebarTitle":"Model Access","href":"/agent-engine/agents-model"},{"title":"Monitor and Troubleshoot Agents","sidebarTitle":"Monitor and Troubleshoot","href":"/agent-engine/agents-monitoring"}]},{"group":"Integrations","pages":[{"title":"Agent Context Reference","sidebarTitle":"Agent Context","href":"/agent-engine/agents-context"},{"title":"Managed Agent Tools","sidebarTitle":"Managed Tools","href":"/agent-engine/agents-tools"}]},{"group":"MCP","pages":[{"title":"StreamNative MCP Server","sidebarTitle":"MCP Overview","href":"/agent-engine/mcp/mcp-overview"},{"title":"Local MCP Server","sidebarTitle":"Local MCP Server","href":"/agent-engine/mcp/local-mcp-server"},{"group":"Remote MCP Server","pages":[{"title":"Remote StreamNative MCP Server","sidebarTitle":"Remote MCP Overview","href":"/agent-engine/sn-remote-mcp/remote-mcp-overview"},{"title":"Access the Remote MCP Server","sidebarTitle":"Remote MCP Access","href":"/agent-engine/sn-remote-mcp/remote-mcp-access"},{"title":"Remote MCP Headers and Feature Selection","sidebarTitle":"Headers \u0026 Features","href":"/agent-engine/sn-remote-mcp/remote-mcp-features"},{"title":"Governance \u0026 Permissions","sidebarTitle":"Governance \u0026 Permissions","href":"/agent-engine/sn-remote-mcp/remote-mcp-governance"},{"title":"Use Root and Organization-Level MCP Tools","sidebarTitle":"Root \u0026 Organization Tools","href":"/agent-engine/sn-remote-mcp/remote-mcp-organization-tools"},{"title":"MCP Tools Reference","sidebarTitle":"MCP Tools Reference","href":"/agent-engine/sn-remote-mcp/remote-mcp-tools-reference"},{"title":"Expose Orca Agents as MCP Tools","sidebarTitle":"Agents As Tools","href":"/agent-engine/sn-remote-mcp/remote-mcp-agents-as-tools"},{"title":"Use Pulsar Functions as MCP Tools","sidebarTitle":"Functions As Tools","href":"/agent-engine/sn-remote-mcp/remote-mcp-functions-as-tools"}]}]}]},{"tab":"Admin","groups":[{"group":"BYOC","pages":[{"title":"StreamNative BYOC Overview","sidebarTitle":"Overview","href":"/cloud/clusters/byoc/byoc-overview"},{"title":"Manage Cloud Connections on StreamNative Cloud","sidebarTitle":"Manage Cloud Connections","href":"/cloud/clusters/byoc/create-cloud-connection"},{"title":"Manage Cloud Environments on StreamNative Cloud","sidebarTitle":"Manage Cloud Environments","href":"/cloud/clusters/byoc/create-cloud-environment"},{"group":"Grant Vendor Access","pages":[{"group":"BYOC On AWS","pages":[{"title":"Set up Account Access for BYOC on AWS","sidebarTitle":"Account Access for BYOC on AWS","href":"/cloud/clusters/byoc/grant-vendor-access/byoc-on-aws/byoc-aws-access"},{"title":"Set up Custom Domain for BYOC on AWS","sidebarTitle":"Custom Domain for BYOC on AWS","href":"/cloud/clusters/byoc/grant-vendor-access/byoc-on-aws/byoc-aws-dns-domain"}]},{"group":"BYOC On Azure","pages":[{"title":"Set up Account Access for BYOC on Azure","sidebarTitle":"Account Access for BYOC on Azure","href":"/cloud/clusters/byoc/grant-vendor-access/byoc-on-azure/byoc-azure-access"}]},{"group":"BYOC On GCP","pages":[{"title":"Set up Project Access for BYOC on Google Cloud","sidebarTitle":"Project Access for BYOC on GCP","href":"/cloud/clusters/byoc/grant-vendor-access/byoc-on-gcp/byoc-gcp-access"}]},{"group":"BYOC On Alibaba Cloud","pages":[{"title":"Set up Account Access for BYOC on Alibaba Cloud","sidebarTitle":"Project Access for BYOC on Alibaba Cloud","href":"/cloud/clusters/byoc/grant-vendor-access/byoc-on-alibaba/byoc-alibaba-cloud-access"}]}]}]},{"group":"Manage Instances","pages":[{"title":"Manage StreamNative Instances","sidebarTitle":"Overview","href":"/cloud/clusters/manage-instances/instance"},{"title":"Manage Serverless Instances on StreamNative Cloud","sidebarTitle":"Serverless Instances","href":"/cloud/clusters/manage-instances/manage-serverless-instances"},{"title":"Manage Dedicated Instances on StreamNative Cloud","sidebarTitle":"Dedicated Instances","href":"/cloud/clusters/manage-instances/manage-dedicated-instances"},{"title":"Manage BYOC Instances on StreamNative Cloud","sidebarTitle":"BYOC Instances","href":"/cloud/clusters/manage-instances/manage-byoc-instances"}]},{"group":"Security","pages":[{"title":"Manage Security in StreamNative Cloud","sidebarTitle":"Overview","href":"/cloud/security/security-overview"},{"group":"Authentication","pages":[{"title":"Manage Authentication on StreamNative Cloud","sidebarTitle":"Overview","href":"/cloud/security/authentication/authentication-overview"},{"title":"User accounts for StreamNative Cloud","sidebarTitle":"User Accounts","href":"/cloud/security/authentication/user-accounts"},{"group":"Service Accounts","pages":[{"title":"Service Accounts for StreamNative Cloud","sidebarTitle":"Overview","href":"/cloud/security/authentication/service-accounts/service-accounts"},{"title":"Manage Service Accounts for StreamNative Cloud","sidebarTitle":"Manage Service Accounts","href":"/cloud/security/authentication/service-accounts/manage-service-accounts"},{"group":"Use Api Keys","pages":[{"title":"Use API Keys to Authenticate to StreamNative Cloud","sidebarTitle":"Overview","href":"/cloud/security/authentication/service-accounts/use-api-keys/api-keys-overview"},{"title":"Best Practices for Using API Keys in StreamNative Cloud","sidebarTitle":"Best Practices","href":"/cloud/security/authentication/service-accounts/use-api-keys/api-keys-best-practices"}]},{"group":"Use Oauth","pages":[{"title":"Use OAuth to Authenticate to StreamNative Cloud","sidebarTitle":"Overview","href":"/cloud/security/authentication/service-accounts/use-oauth/oauth-overview"},{"title":"Access Cloud Clusters using Pulsar Clients with OAuth 2.0","sidebarTitle":"Access Cloud Clusters","href":"/cloud/security/authentication/service-accounts/use-oauth/configure-pulsar-clients-with-oauth-20"},{"title":"Access Cloud API using OAuth 2.0","sidebarTitle":"Access Cloud API","href":"/cloud/security/authentication/service-accounts/use-oauth/access-cloud-api-oauth"},{"title":"Access Cloud Clusters using Kafka Clients with OAuth 2.0","sidebarTitle":"Configure Kafka Clients","href":"/cloud/security/authentication/service-accounts/use-oauth/configure-kafka-clients-with-oauth-20"}]}]},{"group":"Oidc Identity Providers","pages":[{"title":"Use OAuth/OIDC to Authenticate to StreamNative Cloud","sidebarTitle":"Overview","href":"/cloud/security/authentication/oidc-identity-providers/oidc-federation-overview"},{"title":"Manage OAuth/OIDC Identity Providers on StreamNative Cloud","sidebarTitle":"Manage OIDC identity providers","href":"/cloud/security/authentication/oidc-identity-providers/manage-oidc-identity-providers"},{"title":"Manage Identity Pools on StreamNative Cloud","sidebarTitle":"Manage Identity Pools","href":"/cloud/security/authentication/oidc-identity-providers/manage-oidc-identity-pools"},{"title":"Configure OAuth Clients","sidebarTitle":"Configure OAuth clients","href":"/cloud/security/authentication/oidc-identity-providers/configure-oauth-clients"},{"title":"Best Practices for OAuth/OIDC Identity Providers","sidebarTitle":"Best Practices","href":"/cloud/security/authentication/oidc-identity-providers/best-practices-for-oidc-identity-providers"}]},{"group":"Mtls Identity Providers","pages":[{"title":"Use Mutual TLS (mTLS) to Authenticate to StreamNative Cloud","sidebarTitle":"Overview","href":"/cloud/security/authentication/mtls-identity-providers/mtls-overview"}]}]},{"group":"Access","pages":[{"title":"Control Access to StreamNative Cloud","sidebarTitle":"Overview","href":"/cloud/security/access/access-control-overview"},{"group":"Resource Hierarchy","pages":[{"title":"Resources on StreamNative Cloud","sidebarTitle":"Overview","href":"/cloud/security/access/resource-hierarchy/resources-overview"},{"title":"Organizations in StreamNative Cloud","sidebarTitle":"Organizations","href":"/cloud/security/access/resource-hierarchy/organizations"}]},{"group":"RBAC","pages":[{"title":"Role-Based Access Control (RBAC) on StreamNative Cloud","sidebarTitle":"Overview","href":"/cloud/security/access/rbac/rbac-overview"},{"title":"Predefined Roles on StreamNative Cloud","sidebarTitle":"Predefined RBAC Roles","href":"/cloud/security/access/rbac/manage-rbac-roles"},{"title":"Manage Role Bindings on StreamNative Cloud","sidebarTitle":"Manage Role Bindings","href":"/cloud/security/access/rbac/manage-rbac-role-bindings"},{"title":"Use Pulsar ACLs with RBAC on StreamNative Cloud","sidebarTitle":"Use Pulsar ACLs with RBAC","href":"/cloud/security/access/rbac/use-pulsar-acls-with-rbac"},{"title":"Role-Based Access Control (V1) (Deprecated)","sidebarTitle":"RBAC (V1)","href":"/cloud/security/access/rbac/cloud-rbac"}]},{"group":"Access Control Lists","pages":[{"title":"Manage Pulsar ACLs","sidebarTitle":"Manage Pulsar ACLs","href":"/cloud/security/access/access-control-lists/authorization-and-acls"},{"title":"Managed Kafka ACLs","sidebarTitle":"Manage Kafka ACLs","href":"/cloud/security/access/access-control-lists/kafka-acls"}]}]},{"group":"Encrypt And Protect Data","pages":[{"title":"Encrypt and Protect Data on StreamNative Cloud","sidebarTitle":"Overview","href":"/cloud/security/encrypt-and-protect-data/encryption-overview"}]},{"group":"Monitor Activity","pages":[{"title":"Audit log","sidebarTitle":"Concepts","href":"/cloud/security/monitor-activity/cloud-audit-log"}]},{"title":"Work with Secrets","sidebarTitle":"Manage Secrets","href":"/cloud/security/secret"}]},{"group":"Networking","pages":[{"title":"Networking in StreamNative Cloud","sidebarTitle":"Overview","href":"/cloud/networking/networking"},{"title":"Static Egress IP","sidebarTitle":"Static Egress IP","href":"/cloud/networking/static-egress-ip"},{"group":"Networking On AWS","pages":[{"title":"AWS Networking Overview on StreamNative Cloud","sidebarTitle":"Overview","href":"/cloud/networking/networking-on-aws/aws-networking-overview"},{"title":"Use Public Connectivity for StreamNative Cloud Clusters on AWS","sidebarTitle":"Public Networking on AWS","href":"/cloud/networking/networking-on-aws/aws-public-networking"},{"group":"AWS Privatelink","pages":[{"title":"AWS PrivateLink Overview in StreamNative Cloud","sidebarTitle":"Overview","href":"/cloud/networking/networking-on-aws/aws-privatelink/aws-privatelink-overview"},{"title":"Use AWS Inbound PrivateLink with StreamNative BYOC Clusters","sidebarTitle":"Inbound PrivateLink for BYOC Clusters","href":"/cloud/networking/networking-on-aws/aws-privatelink/aws-inbound-privatelink-byoc"}]}]},{"title":"Test Connectivity to StreamNative Cloud","sidebarTitle":"Test Connectivity","href":"/cloud/networking/networking-testing"}]},{"group":"Logging \u0026 Monitoring","pages":[{"title":"Cluster Metrics","sidebarTitle":"Metrics API","href":"/cloud/log-and-monitor/cloud-metrics-api"},{"title":"Advanced Observability Integration","sidebarTitle":"Advanced Observability","href":"/cloud/log-and-monitor/advanced-observability"},{"title":"Scrape Metrics from the Local Metrics Endpoint","sidebarTitle":"Local Metrics Endpoint","href":"/cloud/log-and-monitor/local-metrics-endpoint"},{"title":"Manage Notifications","sidebarTitle":"Manage Notifications","href":"/cloud/log-and-monitor/manage-notifications"},{"title":"Log Console","sidebarTitle":"Log Console","href":"/cloud/log-and-monitor/log-conosole"},{"title":"Grafana Dashboards and Alerting rules","sidebarTitle":"Grafana Dashboards and Alerting rules","href":"/cloud/log-and-monitor/grafana-dashboards"}]},{"group":"Billing","pages":[{"title":"StreamNative Cloud Billing","sidebarTitle":"Overview","href":"/cloud/billing/billing-overview"},{"title":"Manage billing using StreamNative Cloud Console","sidebarTitle":"Manage Billing - UI","href":"/cloud/billing/billing"},{"title":"View your usage using StreamNative Cloud Console","sidebarTitle":"View Your Usage - UI","href":"/cloud/billing/view-usage-console"},{"title":"Stop charges for your cluster","sidebarTitle":"Stop Charges for Your Cluster","href":"/cloud/billing/stop-charges"},{"title":"View Credits and Discounts","sidebarTitle":"Credits and Discounts","href":"/cloud/billing/discounts"},{"title":"Billing FAQ","sidebarTitle":"FAQ","href":"/cloud/billing/billing-faq"},{"group":"Marketplaces","pages":[{"title":"Get started with StreamNative Cloud on AWS Marketplace with Pay-As-You-Go","sidebarTitle":"AWS Marketplace - Pay As You Go","href":"/cloud/billing/billing-aws"},{"title":"Get started with StreamNative Cloud on AWS Marketplace with commitments","sidebarTitle":"AWS Marketplace with Commitments","href":"/cloud/billing/billing-aws-commitments"},{"title":"Get started with StreamNative Cloud on Google Cloud Marketplace with Pay-As-You-Go","sidebarTitle":"Google Cloud Marketplace - Pay As You Go","href":"/cloud/billing/billing-gcp"},{"title":"Get started with StreamNative Cloud on Google Cloud Marketplace with commitments","sidebarTitle":"Google Cloud Marketplace with Commitments","href":"/cloud/billing/billing-gcp-commitments"},{"title":"Get started with StreamNative Cloud on Azure Cloud Marketplace with Pay-As-You-Go","sidebarTitle":"Azure Cloud Marketplace - Pay As You Go","href":"/cloud/billing/billing-azure"},{"title":"Get started with StreamNative Cloud on Azure Cloud Marketplace with commitments","sidebarTitle":"Azure Cloud Marketplace with Commitments","href":"/cloud/billing/billing-azure-commitments"},{"title":"Get started with StreamNative Cloud on Alibaba Cloud Marketplace with Pay-As-You-Go","sidebarTitle":"Alibaba Cloud Marketplace - Pay As You Go","href":"/cloud/billing/billing-alibaba"}]}]},{"group":"Tools","pages":[{"title":"StreamNative CLI Overview","sidebarTitle":"Overview","href":"/tools/cli/streamnative-cli-overview"},{"title":"StreamNative CLI Tutorial","sidebarTitle":"Tutorial","href":"/tools/cli/streamnative-cli-tutorial"},{"group":"snctl","pages":[{"title":"StreamNative CLI (snctl)","sidebarTitle":"Overview","href":"/tools/cli/snctl/snctl-overview"},{"title":"snctl Quick Reference","sidebarTitle":"Quick Reference","href":"/tools/cli/snctl/snctl-quick-reference"},{"title":"snctl Usage Conventions","sidebarTitle":"Usage Conventions","href":"/tools/cli/snctl/snctl-usage-conventions"},{"title":"Tutorials: Manage StreamNative Cloud resources using snctl","sidebarTitle":"Tutorials","href":"/tools/cli/snctl/snctl-tutorials"},{"title":"snctl Command References","sidebarTitle":"Command References","href":"/tools/cli/snctl/snctl-command-references"}]}]},{"group":"Terraform","pages":[{"title":"StreamNative Terraform Provider Overview","sidebarTitle":"Overview","href":"/tools/terraform/terraform-provider-overview"},{"title":"StreamNative Terraform Tutorial","sidebarTitle":"Tutorial","href":"/tools/terraform/terraform-provider-tutorial"},{"group":"Configure","pages":[{"title":"Configure StreamNative Terraform Provider","sidebarTitle":"StreamNative Provider","href":"/tools/terraform/configure/configure-streamnative-provider"},{"title":"Configure Pulsar Terraform Provider","sidebarTitle":"Pulsar Provider","href":"/tools/terraform/configure/configure-pulsar-provider"}]}]},{"group":"References","pages":[{"title":"Generate a HAR file for Troubleshooting","sidebarTitle":"Generate a HAR file for Troubleshooting","href":"/cloud/references/generate-har-file"}]}]},{"tab":"Resources","icon":"book-open","menu":[{"item":"API References","icon":"code","pages":[{"group":"Cloud API","pages":[{"title":"Cloud API","sidebarTitle":"How to Call Cloud API","href":"/api-references/cloudapi/cloud-api"},{"group":"API Key","pages":[{"openapi":"delete /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/apikeys/{name}","title":"Delete apikeys","href":"/api-references/cloudapi/apikey/cloudstreamnativeio_v1alpha1/delete-apiscloudstreamnativeiov1alpha1namespaces-apikeys"},{"openapi":"get /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/apikeys","title":"List apikeyss","href":"/api-references/cloudapi/apikey/cloudstreamnativeio_v1alpha1/get-apiscloudstreamnativeiov1alpha1namespaces-apikeys"},{"openapi":"get /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/apikeys/{name}","title":"Get apikeys","href":"/api-references/cloudapi/apikey/cloudstreamnativeio_v1alpha1/get-apiscloudstreamnativeiov1alpha1namespaces-apikeys-1"},{"openapi":"patch /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/apikeys/{name}","title":"Patch apikeys","href":"/api-references/cloudapi/apikey/cloudstreamnativeio_v1alpha1/patch-apiscloudstreamnativeiov1alpha1namespaces-apikeys"},{"openapi":"post /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/apikeys/{name}","title":"Update apikeys","href":"/api-references/cloudapi/apikey/cloudstreamnativeio_v1alpha1/post-apiscloudstreamnativeiov1alpha1namespaces-apikeys"}]},{"group":"Cloud Connection","pages":[{"openapi":"delete /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/cloudconnections/{name}","title":"Delete cloudconnections","href":"/api-references/cloudapi/cloudconnection/cloudstreamnativeio_v1alpha1/delete-apiscloudstreamnativeiov1alpha1namespaces-cloudconnections"},{"openapi":"get /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/cloudconnections","title":"List cloudconnectionss","href":"/api-references/cloudapi/cloudconnection/cloudstreamnativeio_v1alpha1/get-apiscloudstreamnativeiov1alpha1namespaces-cloudconnections"},{"openapi":"get /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/cloudconnections/{name}","title":"Get cloudconnections","href":"/api-references/cloudapi/cloudconnection/cloudstreamnativeio_v1alpha1/get-apiscloudstreamnativeiov1alpha1namespaces-cloudconnections-1"},{"openapi":"patch /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/cloudconnections/{name}","title":"Patch cloudconnections","href":"/api-references/cloudapi/cloudconnection/cloudstreamnativeio_v1alpha1/patch-apiscloudstreamnativeiov1alpha1namespaces-cloudconnections"},{"openapi":"post /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/cloudconnections/{name}","title":"Update cloudconnections","href":"/api-references/cloudapi/cloudconnection/cloudstreamnativeio_v1alpha1/post-apiscloudstreamnativeiov1alpha1namespaces-cloudconnections"}]},{"group":"Cloud Environment","pages":[{"openapi":"delete /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/cloudenvironments/{name}","title":"Delete cloudenvironments","href":"/api-references/cloudapi/cloudenvironment/cloudstreamnativeio_v1alpha1/delete-apiscloudstreamnativeiov1alpha1namespaces-cloudenvironments"},{"openapi":"get /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/cloudenvironments","title":"List cloudenvironmentss","href":"/api-references/cloudapi/cloudenvironment/cloudstreamnativeio_v1alpha1/get-apiscloudstreamnativeiov1alpha1namespaces-cloudenvironments"},{"openapi":"get /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/cloudenvironments/{name}","title":"Get cloudenvironments","href":"/api-references/cloudapi/cloudenvironment/cloudstreamnativeio_v1alpha1/get-apiscloudstreamnativeiov1alpha1namespaces-cloudenvironments-1"},{"openapi":"patch /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/cloudenvironments/{name}","title":"Patch cloudenvironments","href":"/api-references/cloudapi/cloudenvironment/cloudstreamnativeio_v1alpha1/patch-apiscloudstreamnativeiov1alpha1namespaces-cloudenvironments"},{"openapi":"post /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/cloudenvironments/{name}","title":"Update cloudenvironments","href":"/api-references/cloudapi/cloudenvironment/cloudstreamnativeio_v1alpha1/post-apiscloudstreamnativeiov1alpha1namespaces-cloudenvironments"}]},{"group":"Pulsar Cluster","pages":[{"openapi":"delete /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/pulsarclusters/{name}","title":"Delete pulsarclusters","href":"/api-references/cloudapi/pulsarcluster/cloudstreamnativeio_v1alpha1/delete-apiscloudstreamnativeiov1alpha1namespaces-pulsarclusters"},{"openapi":"get /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/pulsarclusters","title":"List pulsarclusterss","href":"/api-references/cloudapi/pulsarcluster/cloudstreamnativeio_v1alpha1/get-apiscloudstreamnativeiov1alpha1namespaces-pulsarclusters"},{"openapi":"get /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/pulsarclusters/{name}","title":"Get pulsarclusters","href":"/api-references/cloudapi/pulsarcluster/cloudstreamnativeio_v1alpha1/get-apiscloudstreamnativeiov1alpha1namespaces-pulsarclusters-1"},{"openapi":"patch /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/pulsarclusters/{name}","title":"Patch pulsarclusters","href":"/api-references/cloudapi/pulsarcluster/cloudstreamnativeio_v1alpha1/patch-apiscloudstreamnativeiov1alpha1namespaces-pulsarclusters"},{"openapi":"post /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/pulsarclusters/{name}","title":"Update pulsarclusters","href":"/api-references/cloudapi/pulsarcluster/cloudstreamnativeio_v1alpha1/post-apiscloudstreamnativeiov1alpha1namespaces-pulsarclusters"}]},{"group":"Pulsar Gateway","pages":[{"openapi":"delete /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/pulsargateways/{name}","title":"Delete pulsargateways","href":"/api-references/cloudapi/pulsargateway/cloudstreamnativeio_v1alpha1/delete-apiscloudstreamnativeiov1alpha1namespaces-pulsargateways"},{"openapi":"get /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/pulsargateways","title":"List pulsargatewayss","href":"/api-references/cloudapi/pulsargateway/cloudstreamnativeio_v1alpha1/get-apiscloudstreamnativeiov1alpha1namespaces-pulsargateways"},{"openapi":"get /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/pulsargateways/{name}","title":"Get pulsargateways","href":"/api-references/cloudapi/pulsargateway/cloudstreamnativeio_v1alpha1/get-apiscloudstreamnativeiov1alpha1namespaces-pulsargateways-1"},{"openapi":"patch /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/pulsargateways/{name}","title":"Patch pulsargateways","href":"/api-references/cloudapi/pulsargateway/cloudstreamnativeio_v1alpha1/patch-apiscloudstreamnativeiov1alpha1namespaces-pulsargateways"},{"openapi":"post /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/pulsargateways/{name}","title":"Update pulsargateways","href":"/api-references/cloudapi/pulsargateway/cloudstreamnativeio_v1alpha1/post-apiscloudstreamnativeiov1alpha1namespaces-pulsargateways"}]},{"group":"Pulsar Instance","pages":[{"openapi":"delete /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/pulsarinstances/{name}","title":"Delete pulsarinstances","href":"/api-references/cloudapi/pulsarinstance/cloudstreamnativeio_v1alpha1/delete-apiscloudstreamnativeiov1alpha1namespaces-pulsarinstances"},{"openapi":"get /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/pulsarinstances","title":"List pulsarinstancess","href":"/api-references/cloudapi/pulsarinstance/cloudstreamnativeio_v1alpha1/get-apiscloudstreamnativeiov1alpha1namespaces-pulsarinstances"},{"openapi":"get /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/pulsarinstances/{name}","title":"Get pulsarinstances","href":"/api-references/cloudapi/pulsarinstance/cloudstreamnativeio_v1alpha1/get-apiscloudstreamnativeiov1alpha1namespaces-pulsarinstances-1"},{"openapi":"post /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/pulsarinstances/{name}","title":"Update pulsarinstances","href":"/api-references/cloudapi/pulsarinstance/cloudstreamnativeio_v1alpha1/post-apiscloudstreamnativeiov1alpha1namespaces-pulsarinstances"}]},{"group":"Secrets","pages":[{"openapi":"delete /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/secrets/{name}","title":"Delete secrets","href":"/api-references/cloudapi/secrets/cloudstreamnativeio_v1alpha1/delete-apiscloudstreamnativeiov1alpha1namespaces-secrets"},{"openapi":"get /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/secrets","title":"List secretss","href":"/api-references/cloudapi/secrets/cloudstreamnativeio_v1alpha1/get-apiscloudstreamnativeiov1alpha1namespaces-secrets"},{"openapi":"get /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/secrets/{name}","title":"Get secrets","href":"/api-references/cloudapi/secrets/cloudstreamnativeio_v1alpha1/get-apiscloudstreamnativeiov1alpha1namespaces-secrets-1"},{"openapi":"patch /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/secrets/{name}","title":"Patch secrets","href":"/api-references/cloudapi/secrets/cloudstreamnativeio_v1alpha1/patch-apiscloudstreamnativeiov1alpha1namespaces-secrets"},{"openapi":"post /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/secrets/{name}","title":"Update secrets","href":"/api-references/cloudapi/secrets/cloudstreamnativeio_v1alpha1/post-apiscloudstreamnativeiov1alpha1namespaces-secrets"}]},{"group":"Service Account","pages":[{"openapi":"delete /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/serviceaccountbindings/{name}","title":"Delete serviceaccountbindings","href":"/api-references/cloudapi/serviceaccount/cloudstreamnativeio_v1alpha1/delete-apiscloudstreamnativeiov1alpha1namespaces-serviceaccountbindings"},{"openapi":"delete /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/serviceaccounts/{name}","title":"Delete serviceaccounts","href":"/api-references/cloudapi/serviceaccount/cloudstreamnativeio_v1alpha1/delete-apiscloudstreamnativeiov1alpha1namespaces-serviceaccounts"},{"openapi":"get /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/serviceaccountbindings","title":"List serviceaccountbindingss","href":"/api-references/cloudapi/serviceaccount/cloudstreamnativeio_v1alpha1/get-apiscloudstreamnativeiov1alpha1namespaces-serviceaccountbindings"},{"openapi":"get /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/serviceaccountbindings/{name}","title":"Get serviceaccountbindings","href":"/api-references/cloudapi/serviceaccount/cloudstreamnativeio_v1alpha1/get-apiscloudstreamnativeiov1alpha1namespaces-serviceaccountbindings-1"},{"openapi":"get /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/serviceaccounts","title":"List serviceaccountss","href":"/api-references/cloudapi/serviceaccount/cloudstreamnativeio_v1alpha1/get-apiscloudstreamnativeiov1alpha1namespaces-serviceaccounts"},{"openapi":"get /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/serviceaccounts/{name}","title":"Get serviceaccounts","href":"/api-references/cloudapi/serviceaccount/cloudstreamnativeio_v1alpha1/get-apiscloudstreamnativeiov1alpha1namespaces-serviceaccounts-1"},{"openapi":"patch /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/serviceaccountbindings/{name}","title":"Patch serviceaccountbindings","href":"/api-references/cloudapi/serviceaccount/cloudstreamnativeio_v1alpha1/patch-apiscloudstreamnativeiov1alpha1namespaces-serviceaccountbindings"},{"openapi":"patch /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/serviceaccounts/{name}","title":"Patch serviceaccounts","href":"/api-references/cloudapi/serviceaccount/cloudstreamnativeio_v1alpha1/patch-apiscloudstreamnativeiov1alpha1namespaces-serviceaccounts"},{"openapi":"post /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/serviceaccountbindings/{name}","title":"Update serviceaccountbindings","href":"/api-references/cloudapi/serviceaccount/cloudstreamnativeio_v1alpha1/post-apiscloudstreamnativeiov1alpha1namespaces-serviceaccountbindings"},{"openapi":"post /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/serviceaccounts/{name}","title":"Update serviceaccounts","href":"/api-references/cloudapi/serviceaccount/cloudstreamnativeio_v1alpha1/post-apiscloudstreamnativeiov1alpha1namespaces-serviceaccounts"}]},{"group":"User","pages":[{"openapi":"delete /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/users/{name}","title":"Delete users","href":"/api-references/cloudapi/user/cloudstreamnativeio_v1alpha1/delete-apiscloudstreamnativeiov1alpha1namespaces-users"},{"openapi":"get /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/users","title":"List userss","href":"/api-references/cloudapi/user/cloudstreamnativeio_v1alpha1/get-apiscloudstreamnativeiov1alpha1namespaces-users"},{"openapi":"get /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/users/{name}","title":"Get users","href":"/api-references/cloudapi/user/cloudstreamnativeio_v1alpha1/get-apiscloudstreamnativeiov1alpha1namespaces-users-1"},{"openapi":"post /apis/cloud.streamnative.io/v1alpha1/namespaces/{namespace}/users/{name}","title":"Update users","href":"/api-references/cloudapi/user/cloudstreamnativeio_v1alpha1/post-apiscloudstreamnativeiov1alpha1namespaces-users"}]}]},{"group":"Pulsar REST Messaging API","pages":[{"title":"Pulsar Message Rest API reference","sidebarTitle":"Pulsar Message Rest API reference","href":"/api-references/rest-messaging-api/rest-messaging-api"}]},{"group":"Kafka REST API","pages":[{"title":"Kafka Rest API Quickstart","sidebarTitle":"Kafka Rest API Quickstart","href":"/api-references/kafka-rest-api/kafka-rest-api"},{"group":"Topics","pages":[{"openapi":"get /admin/v1/topics","title":"Return the list of topics.","href":"/api-references/kafka-rest-api/v1/topics/list-topics"},{"openapi":"get /admin/v1/topics/{topicName}","title":"Return the topic with the given topic_name.","href":"/api-references/kafka-rest-api/v1/topics/get-topics"},{"openapi":"post /admin/v1/topics","title":"Create topic.","href":"/api-references/kafka-rest-api/v1/topics/create-topics"},{"openapi":"delete /admin/v1/topics/{topicName}","title":"Delete the topic with the given topic_name.","href":"/api-references/kafka-rest-api/v1/topics/delete-topics"},{"openapi":"put /admin/v1/topics/{topicName}/unload","title":"Unload the topic with the given topic_name. ","href":"/api-references/kafka-rest-api/v1/topics/unload-topics"}]},{"group":"Consumer Groups","pages":[{"openapi":"get /admin/v1/consumer-groups","title":"Return the list of consumer groups.","href":"/api-references/kafka-rest-api/v1/consumer-groups/list-consumer-groups"},{"openapi":"get /admin/v1/consumer-groups/{consumer_group_id}/consumers","title":"Return a list of consumers that belong to the specified consumer group.","href":"/api-references/kafka-rest-api/v1/consumer-groups/list-consumer-by-group-id"},{"openapi":"get /admin/v1/consumer-groups/{consumer_group_id}","title":"Return the consumer group specified by the consumer_group_id.","href":"/api-references/kafka-rest-api/v1/consumer-groups/get-consumer-groups"},{"openapi":"get /admin/v1/consumer-groups/{consumer_group_id}/lags","title":"Return a list of consumer lags of the consumers belonging to the specified consumer group.","href":"/api-references/kafka-rest-api/v1/consumer-groups/get-consumer-group-lags"}]},{"group":"Messages","pages":[{"openapi":"post /admin/v1/topics/{topicName}/records","title":"Produce records to the given topic, returning delivery reports for each record produced.","href":"/api-references/kafka-rest-api/v1/messages/produce-messages"},{"openapi":"get /admin/v1/topics/{topicName}/messages","title":"Get messages from a topic","href":"/api-references/kafka-rest-api/v1/messages/consume-messages"}]}]}]},{"item":"Connectors (Hub)","icon":"puzzle-piece","pages":[{"title":"StreamNative Connector Hub","sidebarTitle":"Overview","href":"/connect/overview"},{"group":"Sources","pages":[{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/activemq_logo_white_vertical.jpg","sidebarTitle":"ActiveMQ","title":null,"href":"/connect/connectors/activemq-source/current/io-activemq-source"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/amqp-logo.png","sidebarTitle":"AMQP 1 0","title":null,"href":"/connect/connectors/amqp-1-0-source/current/amqp-1-0-source"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/canal-logo.png","sidebarTitle":"Canal","title":null,"href":"/connect/connectors/canal-source/current/canal-source"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/debezium.png","sidebarTitle":"Debezium MongoDB","title":null,"href":"/connect/connectors/debezium-mongodb-source/current/debezium-mongodb-source"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/debezium.png","sidebarTitle":"Debezium MSSQL","title":null,"href":"/connect/connectors/debezium-mssql-source/current/debezium-mssql-source"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/debezium.png","sidebarTitle":"Debezium MySQL","title":null,"href":"/connect/connectors/debezium-mysql-source/current/debezium-MySQL-source"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/debezium.png","sidebarTitle":"Debezium PostgreSQL","title":null,"href":"/connect/connectors/debezium-postgres-source/current/debezium-postgres-source"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/aws-dynamodb.png","sidebarTitle":"DynamoDB Source","title":null,"href":"/connect/connectors/dynamodb-source/current/dynamodb-source"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/apache-logo.png","sidebarTitle":"File","title":null,"href":"/connect/connectors/file-source/current/file-source"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/flume.png","sidebarTitle":"Flume","title":null,"href":"/connect/connectors/flume-source/current/flume-source"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/google-bigquery-logo.png","sidebarTitle":"Google BigQuery","title":null,"href":"/connect/connectors/google-bigquery-source/current/google-bigquery-source"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/google-pubsub.svg","sidebarTitle":"Google Pub/Sub","title":null,"href":"/connect/connectors/google-pubsub-source/current/google-pubsub-source"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/kafka-connect.png","sidebarTitle":"Kafka Connect Datagen","title":null,"href":"/connect/connectors/kafka-connect-datagen/current/kafka-connect-datagen-source"},{"title":"Azure Cosmos DB Kafka Connect Source","icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/kafka-connect.png","sidebarTitle":"Kafka Connect Cosmos DB Source","href":"/connect/connectors/kafka-connect-cosmosdb-source/current/kafka-connect-cosmosdb-source"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/debezium.png","sidebarTitle":"Kafka Connect Debezium MongoDB","title":null,"href":"/connect/connectors/kafka-connect-debezium-mongodb/current/kafka-connect-debezium-mongodb"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/debezium.png","sidebarTitle":"Kafka Connect Debezium Mysql","title":null,"href":"/connect/connectors/kafka-connect-debezium-mysql/current/kafka-connect-debezium-mysql"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/debezium.png","title":null,"href":"/connect/connectors/kafka-connect-debezium-postgresql/current/kafka-connect-debezium-postgresql"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/debezium.png","sidebarTitle":"Kafka Connect Debezium Cloud Spanner","title":null,"href":"/connect/connectors/kafka-connect-debezium-spanner/current/kafka-connect-debezium-spanner"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/debezium.png","title":null,"href":"/connect/connectors/kafka-connect-debezium-sqlserver/current/kafka-connect-debezium-sqlserver"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/google-pubsub.svg","title":null,"href":"/connect/connectors/kafka-connect-google-pubsub-source/current/kafka-connect-google-pubsub-source"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/google-pubsub.svg","title":null,"href":"/connect/connectors/kafka-connect-google-pubsub-lite-source/current/kafka-connect-google-pubsub-lite-source"},{"title":"Aiven JDBC Kafka Connect Source","icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/kafka-connect.png","sidebarTitle":"Kafka Connect JDBC Source","href":"/connect/connectors/kafka-connect-jdbc-source/current/kafka-connect-jdbc-source"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/kafka-connect.png","sidebarTitle":"Kafka Connect JR","title":null,"href":"/connect/connectors/kafka-connect-jr-source/current/kafka-connect-jr-source"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/mongodb.png","sidebarTitle":"Kafka Connect MongoDB","title":null,"href":"/connect/connectors/kafka-connect-mongo-source/current/kafka-connect-mongodb-source"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/yugabyte.jpeg","sidebarTitle":"Kafka Connect YugabyteDB CDC","title":null,"href":"/connect/connectors/kafka-connect-yugabyte-cdc-source/current/kafka-connect-yugabyte-cdc-source"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/kafka-logo.png","sidebarTitle":"Kafka","title":null,"href":"/connect/connectors/kafka-source/current/kafka-source"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/aws-kinesis.png","sidebarTitle":"Kinesis","title":null,"href":"/connect/connectors/kinesis-source/current/kinesis-source"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/streamnative.png","sidebarTitle":"Lakehouse","title":null,"href":"/connect/connectors/lakehouse-source/current/lakehouse-source"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/netty.png","sidebarTitle":"Netty","title":null,"href":"/connect/connectors/netty-source/current/netty-source"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/rabbitmq.png","sidebarTitle":"RabbitMQ","title":null,"href":"/connect/connectors/rabbitmq-source/current/rabbitmq-source"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/sqs-logo.png","sidebarTitle":"SQS","title":null,"href":"/connect/connectors/sqs-source/current/sqs-source"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/twitter.png","sidebarTitle":"Twitter Firehose","title":null,"href":"/connect/connectors/twitter-firehose-source/current/twitter-firehose-source"}]},{"group":"Sinks","pages":[{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/activemq_logo_white_vertical.jpg","sidebarTitle":"ActiveMQ","title":null,"href":"/connect/connectors/activemq-sink/current/io-activemq-sink"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/aerospike-sink.png","sidebarTitle":"Aerospike","title":null,"href":"/connect/connectors/aerospike-sink/current/aerospike-sink"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/amqp-logo.png","sidebarTitle":"AMQP 1 0","title":null,"href":"/connect/connectors/amqp-1-0-sink/current/amqp-1-0-sink"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/aws-eventbridge.png","sidebarTitle":"AWS EventBridge","title":null,"href":"/connect/connectors/aws-eventbridge-sink/current/aws-eventbridge-sink"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/lambda-logo.png","sidebarTitle":"AWS Lambda","title":null,"href":"/connect/connectors/aws-lambda-sink/current/aws-lambda-sink"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/aws-s3-logo.png","sidebarTitle":"AWS S3","title":null,"href":"/connect/connectors/aws-s3-sink/current/aws-s3-sink"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/azure-blob-storage-logo.png","sidebarTitle":"Azure Blob Storage","title":null,"href":"/connect/connectors/azure-blob-storage-sink/current/azure-blob-storage-sink"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/cassandra-sink.png","sidebarTitle":"Cassandra","title":null,"href":"/connect/connectors/cassandra-sink/current/cassandra-sink"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/elasticsearch.png","sidebarTitle":"Elasticsearch","title":null,"href":"/connect/connectors/elasticsearch-sink/current/elasticsearch-sink"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/flume.png","sidebarTitle":"Flume","title":null,"href":"/connect/connectors/flume-sink/current/flume-sink"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/google-bigquery-logo.png","sidebarTitle":"Google BigQuery","title":null,"href":"/connect/connectors/google-bigquery-sink/current/google-bigquery-sink"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/gcloud-storage-logo.svg","sidebarTitle":"Google Cloud Storage","title":null,"href":"/connect/connectors/google-cloud-storage-sink/current/google-cloud-storage-sink"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/google-pubsub.svg","sidebarTitle":"Google Pub/Sub","title":null,"href":"/connect/connectors/google-pubsub-sink/current/google-pubsub-sink"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/hbase.png","sidebarTitle":"HBase","title":null,"href":"/connect/connectors/hbase-sink/current/hbase-sink"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/hadoop.png","sidebarTitle":"HDFS3","title":null,"href":"/connect/connectors/hdfs3-sink/current/hdfs3-sink"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/influxdb.png","sidebarTitle":"InfluxDB","title":null,"href":"/connect/connectors/influxdb-sink/current/influxdb-sink"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/apache-logo.png","sidebarTitle":"JDBC ClickHouse","title":null,"href":"/connect/connectors/jdbc-clickhouse-sink/current/jdbc-sink"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/apache-logo.png","sidebarTitle":"JDBC MariaDB","title":null,"href":"/connect/connectors/jdbc-mariadb-sink/current/jdbc-sink"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/apache-logo.png","sidebarTitle":"JDBC PostgreSQL","title":null,"href":"/connect/connectors/jdbc-postgres-sink/current/jdbc-sink"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/apache-logo.png","sidebarTitle":"JDBC SQLite","title":null,"href":"/connect/connectors/jdbc-sqlite-sink/current/jdbc-sink"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/google-bigquery-logo.png","sidebarTitle":"Kafka Connect BigQuery","title":null,"href":"/connect/connectors/kafka-connect-bigquery/current/kafka-connect-bigquery"},{"title":"Azure Cosmos DB Kafka Connect Sink","icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/kafka-connect.png","sidebarTitle":"Kafka Connect Cosmos DB Sink","href":"/connect/connectors/kafka-connect-cosmosdb-sink/current/kafka-connect-cosmosdb-sink"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/debezium.png","title":null,"href":"/connect/connectors/kafka-connect-debezium-jdbc-sink/current/kafka-connect-debezium-jdbc-sink"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/google-pubsub.svg","title":null,"href":"/connect/connectors/kafka-connect-google-pubsub-sink/current/kafka-connect-google-pubsub-sink"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/google-pubsub.svg","title":null,"href":"/connect/connectors/kafka-connect-google-pubsub-lite-sink/current/kafka-connect-google-pubsub-lite-sink"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/gcloud-storage-logo.svg","title":null,"href":"/connect/connectors/kafka-connect-google-cloud-storage-sink/current/kafka-connect-google-cloud-storage-sink"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/google-bigtable-logo.svg","title":null,"href":"/connect/connectors/kafka-connect-google-bigtable-sink/current/kafka-connect-google-bigtable-sink"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/elasticsearch.png","sidebarTitle":"Kafka Connect Elasticsearch","title":null,"href":"/connect/connectors/kafka-connect-elasticsearch-sink/current/kafka-connect-elasticsearch-sink"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/iceberg.png","sidebarTitle":"Kafka Connect Iceberg","title":null,"href":"/connect/connectors/kafka-connect-iceberg/current/kafka-connect-iceberg-sink"},{"title":"Aiven JDBC Kafka Connect Sink","icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/kafka-connect.png","sidebarTitle":"Kafka Connect JDBC Sink","href":"/connect/connectors/kafka-connect-jdbc-sink/current/kafka-connect-jdbc-sink"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/milvus.png","sidebarTitle":"Kafka Connect Milvus","title":null,"href":"/connect/connectors/kafka-connect-milvus-sink/current/kafka-connect-milvus-sink"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/mongodb.png","sidebarTitle":"Kafka Connect MongoDB","title":null,"href":"/connect/connectors/kafka-connect-mongo-sink/current/kafka-connect-mongodb-sink"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/snowflake-logo.png","sidebarTitle":"Kafka Connect Snowflake","title":null,"href":"/connect/connectors/kafka-connect-snowflake-sink/current/kafka-connect-snowflake-sink"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/kafka-logo.png","sidebarTitle":"Kafka","title":null,"href":"/connect/connectors/kafka-sink/current/kafka-sink"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/aws-kinesis.png","sidebarTitle":"Kinesis","title":null,"href":"/connect/connectors/kinesis-sink/current/kinesis-sink"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/streamnative.png","sidebarTitle":"Lakehouse","title":null,"href":"/connect/connectors/lakehouse-sink/current/lakehouse-sink"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/mongodb.png","sidebarTitle":"MongoDB","title":null,"href":"/connect/connectors/mongodb-sink/current/mongodb-sink"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/pinecone-logo.png","sidebarTitle":"Pinecone","title":null,"href":"/connect/connectors/pinecone-sink/current/pinecone-sink"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/rabbitmq.png","sidebarTitle":"RabbitMQ","title":null,"href":"/connect/connectors/rabbitmq-sink/current/rabbitmq-sink"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/redis.png","sidebarTitle":"Redis","title":null,"href":"/connect/connectors/redis-sink/current/redis-sink"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/snowflake-logo.png","sidebarTitle":"Snowflake","title":null,"href":"/connect/connectors/snowflake-sink/current/snowflake-sink"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/snowflake-logo.png","sidebarTitle":"Snowflake Streaming","title":null,"href":"/connect/connectors/snowflake-streaming-sink/current/snowflake-streaming"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/solr.jpg","sidebarTitle":"Solr","title":null,"href":"/connect/connectors/solr-sink/current/solr-sink"},{"icon":"https://mintlify.s3.us-west-1.amazonaws.com/streamnative/images/connectors/sqs-logo.png","sidebarTitle":"SQS","title":null,"href":"/connect/connectors/sqs-sink/current/sqs-sink"}]}]},{"item":"Universal Linking","icon":"link","pages":[{"title":"Manage Universal Linking in StreamNative Cloud","sidebarTitle":"Overview","href":"/cloud/universal-linking/unilink-overview"},{"title":"Create Universal Links in StreamNative Cloud","sidebarTitle":"Create Universial Links","href":"/cloud/universal-linking/unilink-create"},{"title":"Manage Universal Links in StreamNative Cloud","sidebarTitle":"Manage Universal Links","href":"/cloud/universal-linking/unilink-manage"}]},{"item":"Cookbooks","icon":"utensils-crossed","pages":[{"title":"Cookbook","sidebarTitle":"Cookbook","href":"/cookbook"},{"group":"Governance \u0026 High Availability","pages":[{"title":"Set up active-standby replication for Kafka Schema Registry using Universal Linking","sidebarTitle":"Schema Registry Geo-Replication","href":"/cookbook/kafka-schema-registry-geo-replication"}]}]},{"item":"Release Notes","icon":"list-check","pages":[{"group":"Cloud Release Notes","pages":[{"title":"Cloud release notes","sidebarTitle":"Release Notes","href":"/release-notes/cloud/release-notes"}]}]},{"item":"Support","icon":"headset","pages":[{"title":"Get Support","sidebarTitle":"Get Support","href":"/support/get-support"}]}]}]},{"product":"StreamNative Private Cloud","icon":"server","description":"Self-managed on Kubernetes","tabs":[{"tab":"Welcome","pages":[{"title":"Run StreamNative on Kubernetes","mode":"custom","href":"/private-cloud/home"}]},{"tab":"Pulsar","versions":[{"version":"V2","default":true,"pages":[{"group":"Overview","pages":[{"title":"StreamNative Private Cloud Overview","sidebarTitle":"Overview","href":"/private-cloud/v2/overview/private-cloud-overview"}]},{"group":"Quick Start","pages":[{"title":"Quick Start","sidebarTitle":"Overview","href":"/private-cloud/v2/quick-start/private-cloud-quickstart"}]},{"group":"Configure Private Cloud","pages":[{"group":"License","pages":[{"title":"Private Cloud Licenses","sidebarTitle":"Overview","href":"/private-cloud/v2/configure-private-cloud/license/private-cloud-licenses"},{"title":"Configure licenses","sidebarTitle":"Configure license","href":"/private-cloud/v2/configure-private-cloud/license/configure-licenses"},{"title":"Configure license for StreamNative images","sidebarTitle":"Configure license for StreamNative Images","href":"/private-cloud/v2/configure-private-cloud/license/image-license-on-platform"}]},{"group":"Storage","pages":[{"title":"Configure storage","sidebarTitle":"Overview","href":"/private-cloud/v2/configure-private-cloud/storage/private-cloud-storage"}]},{"group":"Components","pages":[{"title":"Configure components","sidebarTitle":"Overview","href":"/private-cloud/v2/configure-private-cloud/components/private-cloud-components"},{"title":"Configure Oxia","sidebarTitle":"Oxia","href":"/private-cloud/v2/configure-private-cloud/components/private-cloud-oxia"},{"title":"Configure Broker Load Balancer","sidebarTitle":"Broker Load Balancer","href":"/private-cloud/v2/configure-private-cloud/components/private-cloud-broker-ld"},{"title":"Configure Broker Per-Pod Networking","sidebarTitle":"Broker Per-Pod Networking","href":"/private-cloud/v2/configure-private-cloud/components/private-cloud-broker-networking"},{"title":"Broker Ingress Architecture","sidebarTitle":"Broker Ingress Architecture","href":"/private-cloud/v2/configure-private-cloud/components/private-cloud-broker-ingress-architecture"}]},{"group":"Protocols","pages":[{"title":"Configure Kafka Protocol","sidebarTitle":"Configure Kafka Protocol","href":"/private-cloud/v2/configure-private-cloud/protocols/configure-kafka-protocol"},{"title":"Configure MQTT Protocol","sidebarTitle":"Configure MQTT Protocol","href":"/private-cloud/v2/configure-private-cloud/protocols/configure-mqtt-protocol"},{"title":"Configure AMQP 0-9-1 Protocol (Private Preview)","sidebarTitle":"Configure AMQP Protocol","href":"/private-cloud/v2/configure-private-cloud/protocols/configure-amqp-091-protocol"},{"title":"Configure Message Rest API","sidebarTitle":"Configure Message Rest API","href":"/private-cloud/v2/configure-private-cloud/protocols/private-cloud-restapi"},{"title":"Message Rest API reference","sidebarTitle":"Message Rest API reference","href":"/private-cloud/v2/configure-private-cloud/protocols/private-cloud-restapi-reference"}]},{"group":"Security","pages":[{"title":"Audit log","sidebarTitle":"Audit Log","href":"/private-cloud/v2/configure-private-cloud/security/private-cloud-audit-log"},{"group":"Access Control","pages":[{"title":"Grant permissions","sidebarTitle":"Grant Permissions","href":"/private-cloud/v2/configure-private-cloud/security/access-control/grant-permissions"}]},{"group":"Authentication","pages":[{"title":"Choose an authentication method","sidebarTitle":"Authentication overview","href":"/private-cloud/v2/configure-private-cloud/security/authentication/private-cloud-authentication-overview"},{"title":"Configure custom OIDC issuers for API key authentication","sidebarTitle":"Custom OIDC issuers","href":"/private-cloud/v2/configure-private-cloud/security/authentication/private-cloud-oidc-auth"},{"title":"Configure mTLS authentication","sidebarTitle":"mTLS authentication","href":"/private-cloud/v2/configure-private-cloud/security/authentication/private-cloud-mtls-auth"},{"title":"Configure JWT authentication","sidebarTitle":"JWT authentication","href":"/private-cloud/v2/configure-private-cloud/security/authentication/private-cloud-jwt-auth"},{"title":"Configure API key authentication","sidebarTitle":"API key authentication","href":"/private-cloud/v2/configure-private-cloud/security/authentication/private-cloud-api-key-auth"},{"title":"Multiple private keys support for JWT token authentication","sidebarTitle":"Multiple private keys support for JWT authentication","href":"/private-cloud/v2/configure-private-cloud/security/authentication/private-cloud-multi-private-keys-jwt-auth"}]}]},{"group":"Advanced","pages":[{"title":"Configure Auto-Scaling","sidebarTitle":"Auto Scaling","href":"/private-cloud/v2/configure-private-cloud/advanced/private-cloud-autoscaling"},{"title":"Log format","sidebarTitle":"Log Format","href":"/private-cloud/v2/configure-private-cloud/advanced/private-cloud-log-format"},{"title":"Configure ZooKeeper observers","sidebarTitle":"ZooKeeper Observers","href":"/private-cloud/v2/configure-private-cloud/advanced/configure-zookeeper-observers"},{"title":"Graceful Cluster Rollout","sidebarTitle":"Graceful Cluster Rollout","href":"/private-cloud/v2/configure-private-cloud/advanced/private-cloud-graceful-cluster-rollout"}]},{"group":"Private Preview","pages":[{"group":"Ursa Lakehouse","pages":[{"title":"Lakehouse Table Overview","sidebarTitle":"Lakehouse Table Overview","href":"/private-cloud/v2/configure-private-cloud/private-preview/ursa-lakehouse/lakehouse-table-overview"},{"title":"Deploy Lakehouse Table","sidebarTitle":"Deploy Lakehouse Table","href":"/private-cloud/v2/configure-private-cloud/private-preview/ursa-lakehouse/deploy-lakehouse-table"},{"group":"Prepare Lakehouse Catalogs","pages":[{"title":"Prepare Lakehouse Catalogs","sidebarTitle":"Prepare Lakehouse Catalogs","href":"/private-cloud/v2/configure-private-cloud/private-preview/ursa-lakehouse/prepare-lakehouse-catalogs"},{"group":"Catalog Guides","pages":[{"title":"Catalog Preparation Guides","sidebarTitle":"Catalog Preparation Guides","href":"/private-cloud/v2/configure-private-cloud/private-preview/ursa-lakehouse/catalogs/README"},{"title":"BigLake for Iceberg","sidebarTitle":"BigLake for Iceberg","href":"/private-cloud/v2/configure-private-cloud/private-preview/ursa-lakehouse/catalogs/biglake/iceberg"},{"title":"Horizon Catalog for Iceberg on AWS","sidebarTitle":"Horizon Catalog for Iceberg on AWS","href":"/private-cloud/v2/configure-private-cloud/private-preview/ursa-lakehouse/catalogs/horizon-catalog/iceberg/aws"},{"group":"Open Catalog (Iceberg)","pages":[{"title":"Open Catalog for Iceberg on AWS","sidebarTitle":"Open Catalog for Iceberg on AWS","href":"/private-cloud/v2/configure-private-cloud/private-preview/ursa-lakehouse/catalogs/open-catalog/iceberg/aws"},{"title":"Open Catalog for Iceberg on Azure","sidebarTitle":"Open Catalog for Iceberg on Azure","href":"/private-cloud/v2/configure-private-cloud/private-preview/ursa-lakehouse/catalogs/open-catalog/iceberg/azure"},{"title":"Open Catalog for Iceberg on GCP","sidebarTitle":"Open Catalog for Iceberg on GCP","href":"/private-cloud/v2/configure-private-cloud/private-preview/ursa-lakehouse/catalogs/open-catalog/iceberg/gcp"}]},{"title":"S3Table for Iceberg","sidebarTitle":"S3Table for Iceberg","href":"/private-cloud/v2/configure-private-cloud/private-preview/ursa-lakehouse/catalogs/s3table/iceberg"},{"group":"Unity Catalog (Iceberg)","pages":[{"title":"Unity Catalog Managed Iceberg Table on AWS","sidebarTitle":"Unity Catalog Managed Iceberg Table on AWS","href":"/private-cloud/v2/configure-private-cloud/private-preview/ursa-lakehouse/catalogs/unity-catalog/iceberg/aws"},{"title":"Unity Catalog Managed Iceberg Table on Azure","sidebarTitle":"Unity Catalog Managed Iceberg Table on Azure","href":"/private-cloud/v2/configure-private-cloud/private-preview/ursa-lakehouse/catalogs/unity-catalog/iceberg/azure"},{"title":"Unity Catalog Managed Iceberg Table on GCP","sidebarTitle":"Unity Catalog Managed Iceberg Table on GCP","href":"/private-cloud/v2/configure-private-cloud/private-preview/ursa-lakehouse/catalogs/unity-catalog/iceberg/gcp"}]},{"group":"Unity Catalog (Delta Lake)","pages":[{"title":"Unity Catalog for Delta Lake on AWS","sidebarTitle":"Unity Catalog for Delta Lake on AWS","href":"/private-cloud/v2/configure-private-cloud/private-preview/ursa-lakehouse/catalogs/unity-catalog/delta-lake/aws"},{"title":"Unity Catalog for Delta Lake on Azure","sidebarTitle":"Unity Catalog for Delta Lake on Azure","href":"/private-cloud/v2/configure-private-cloud/private-preview/ursa-lakehouse/catalogs/unity-catalog/delta-lake/azure"},{"title":"Unity Catalog for Delta Lake on GCP","sidebarTitle":"Unity Catalog for Delta Lake on GCP","href":"/private-cloud/v2/configure-private-cloud/private-preview/ursa-lakehouse/catalogs/unity-catalog/delta-lake/gcp"}]}]}]},{"title":"Dynamic Configuration Guide","sidebarTitle":"Dynamic Configuration Guide","href":"/private-cloud/v2/configure-private-cloud/private-preview/ursa-lakehouse/dynamic-configuration"},{"title":"Configure Lakehouse Catalogs","sidebarTitle":"Configure Lakehouse Catalogs","href":"/private-cloud/v2/configure-private-cloud/private-preview/ursa-lakehouse/configure-lakehouse-catalogs"},{"title":"Enable Lakehouse Integration","sidebarTitle":"Enable Lakehouse Integration","href":"/private-cloud/v2/configure-private-cloud/private-preview/ursa-lakehouse/enable-lakehouse-integration"},{"group":"Lakehouse Features","pages":[{"title":"Lakehouse Features Overview","sidebarTitle":"Overview","href":"/private-cloud/v2/configure-private-cloud/private-preview/ursa-lakehouse/lakehouse-features"},{"title":"Schema Evolution","sidebarTitle":"Schema Evolution","href":"/private-cloud/v2/configure-private-cloud/private-preview/ursa-lakehouse/features/schema-evolution"},{"title":"Variant Type","sidebarTitle":"Variant Type","href":"/private-cloud/v2/configure-private-cloud/private-preview/ursa-lakehouse/features/variant-type"},{"title":"Partition Key","sidebarTitle":"Partition Key","href":"/private-cloud/v2/configure-private-cloud/private-preview/ursa-lakehouse/features/iceberg-partition-key"},{"title":"Upsert","sidebarTitle":"Upsert","href":"/private-cloud/v2/configure-private-cloud/private-preview/ursa-lakehouse/features/iceberg-upsert"},{"title":"Persist Key","sidebarTitle":"Persist Key","href":"/private-cloud/v2/configure-private-cloud/private-preview/ursa-lakehouse/features/persist-key"},{"title":"Persist Extra Metadata","sidebarTitle":"Persist Extra Metadata","href":"/private-cloud/v2/configure-private-cloud/private-preview/ursa-lakehouse/features/persist-extra-metadata"},{"title":"Data Lineage","sidebarTitle":"Data Lineage","href":"/private-cloud/v2/configure-private-cloud/private-preview/ursa-lakehouse/features/lineage"}]},{"title":"Lakehouse Observability","sidebarTitle":"Lakehouse Observability","href":"/private-cloud/v2/configure-private-cloud/private-preview/ursa-lakehouse/lakehouse-observability"},{"group":"Troubleshooting","pages":[{"title":"Troubleshoot duplicate file references in Unity Catalog","sidebarTitle":"Duplicate file references","href":"/private-cloud/v2/configure-private-cloud/private-preview/ursa-lakehouse/unity-catalog-duplicate-file-references"}]}]}]}]},{"group":"Operate Private Cloud","pages":[{"group":"Deploy","pages":[{"title":"Install StreamNative Operator with the Helm Chart","sidebarTitle":"Helm","href":"/private-cloud/v2/operate-private-cloud/deploy/private-cloud-helm"},{"title":"Install StreamNative Operator with the Operator Lifecycle Manager","sidebarTitle":"OLM","href":"/private-cloud/v2/operate-private-cloud/deploy/private-cloud-olm"},{"title":"Deploy on Red Hat Openshift","sidebarTitle":"OpenShift","href":"/private-cloud/v2/operate-private-cloud/deploy/private-cloud-openshift"},{"title":"Deploy Pulsar with Istio Service Mesh","sidebarTitle":"Deploy with Istio","href":"/private-cloud/v2/operate-private-cloud/deploy/deploy-pulsar-with-istio"}]},{"group":"Upgrade","pages":[{"title":"Upgrade from Pulsar Operators","sidebarTitle":"upgrade-from-pulsar-operators","href":"/private-cloud/v2/operate-private-cloud/upgrade/upgrade-from-pulsar-operators"},{"title":"Upgrade StreamNative Operator","sidebarTitle":"upgrade-sn-operator","href":"/private-cloud/v2/operate-private-cloud/upgrade/upgrade-sn-operator"}]},{"group":"Migrate","pages":[{"title":"Migrate to StreamNative Pulsar Distribution","sidebarTitle":"1 - migrate-to-sn-images.md","href":"/private-cloud/v2/operate-private-cloud/migrate/migrate-to-sn-images"}]},{"group":"Storage","pages":[{"title":"Replace ZooKeeper storage","sidebarTitle":"Replace ZooKeeper storage","href":"/private-cloud/v2/operate-private-cloud/storage/replace-zookeeper-storage"},{"title":"Replace BookKeeper storage","sidebarTitle":"Replace BookKeeper storage","href":"/private-cloud/v2/operate-private-cloud/storage/replace-bookkeeper-storage"}]},{"group":"Observability","pages":[{"title":"Monitor Private Cloud","sidebarTitle":"Monitor Private Cloud","href":"/private-cloud/v2/operate-private-cloud/observability/private-cloud-monitor"},{"title":"Pulsar Detector","sidebarTitle":"Pulsar Detector","href":"/private-cloud/v2/operate-private-cloud/observability/private-cloud-detector"},{"title":"Private Cloud telemetry","sidebarTitle":"Telemetry","href":"/private-cloud/v2/operate-private-cloud/observability/private-cloud-telemetry"}]}]},{"group":"References","pages":[{"group":"Release Notes","pages":[{"title":"Release Note v0.21","sidebarTitle":"Release Note v0.21","href":"/private-cloud/v2/references/release-notes/release-note-v0-21"},{"title":"Release Note v0.20","sidebarTitle":"Release Note v0.20","href":"/private-cloud/v2/references/release-notes/release-note-v0-20"},{"title":"Release Note v0.19","sidebarTitle":"Release Note v0.19","href":"/private-cloud/v2/references/release-notes/release-note-v0-19"},{"title":"Release Note v0.18","sidebarTitle":"Release Note v0.18","href":"/private-cloud/v2/references/release-notes/release-note-v0-18"},{"title":"Release Note v0.17","sidebarTitle":"Release Note v0.17","href":"/private-cloud/v2/references/release-notes/release-note-v0-17"},{"title":"Release Note v0.16","sidebarTitle":"Release Note v0.16","href":"/private-cloud/v2/references/release-notes/release-note-v0-16"},{"title":"Release Note v0.15","sidebarTitle":"Release Note v0.15","href":"/private-cloud/v2/references/release-notes/release-note-v0-15"},{"title":"Release Note v0.14","sidebarTitle":"Release Note v0.14","href":"/private-cloud/v2/references/release-notes/release-note-v0-14"},{"title":"Release Note v0.13","sidebarTitle":"Release Note v0.13","href":"/private-cloud/v2/references/release-notes/release-note-v0-13"},{"title":"Release Note v0.12","sidebarTitle":"Release Note v0.12","href":"/private-cloud/v2/references/release-notes/release-note-v0-12"},{"title":"Release Note v0.11","sidebarTitle":"Release Note v0.11","href":"/private-cloud/v2/references/release-notes/release-note-v0-11"},{"title":"Release Note v0.10","sidebarTitle":"Release Note v0.10","href":"/private-cloud/v2/references/release-notes/release-note-v0-10"},{"title":"Release Note v0.9","sidebarTitle":"Release Note v0.9","href":"/private-cloud/v2/references/release-notes/release-note-v0-9"},{"title":"Release Note v0.8","sidebarTitle":"Release Note v0.8","href":"/private-cloud/v2/references/release-notes/release-note-v0-8"},{"title":"Release Note v0.7","sidebarTitle":"Release Note v0.7","href":"/private-cloud/v2/references/release-notes/release-note-v0-7"},{"title":"Release Note v0.6","sidebarTitle":"Release Note v0.6","href":"/private-cloud/v2/references/release-notes/release-note-v0-6"},{"title":"Release Note v0.5","sidebarTitle":"Release Note v0.5","href":"/private-cloud/v2/references/release-notes/release-note-v0-5"},{"title":"Release Note v0.4","sidebarTitle":"Release Note v0.4","href":"/private-cloud/v2/references/release-notes/release-note-v0-4"},{"title":"Release Note v0.3","sidebarTitle":"Release Note v0.3","href":"/private-cloud/v2/references/release-notes/release-note-v0-3"}]}]}]},{"version":"V1","pages":[{"title":"V1","href":"/private-cloud/v1/overview/private-cloud-overview"}]}]},{"tab":"Resources","icon":"book-open","menu":[{"item":"Support","icon":"headset","pages":[{"title":"Get Support","sidebarTitle":"Get Support","href":"/support/get-support"}]}]},{"tab":"Operator","groups":[{"group":"Pulsar Operator","pages":[{"title":"StreamNative Pulsar Operators","sidebarTitle":"Overview","href":"/tools/operator/index"},{"title":"FAQs","sidebarTitle":"FAQs","href":"/tools/operator/operator-faqs"},{"group":"Overview","pages":[{"title":"About StreamNative Pulsar Operators","sidebarTitle":"Understand Pulsar Operators","href":"/tools/operator/overview/understand-pulsar-operator"}]},{"group":"Quickstart Guides","pages":[{"title":"Install the Pulsar Operators using the Helm chart","sidebarTitle":"Install Pulsar Operators using Helm chart","href":"/tools/operator/quickstart-guides/pulsar-operator-install-helm-chart"},{"title":"Install the Pulsar Operators using the Operator Lifecycle Manager","sidebarTitle":"Install Pulsar Operators using Operator Lifecycle Manager","href":"/tools/operator/quickstart-guides/pulsar-operator-install-olm"},{"title":"Upgrade the Pulsar Operators","sidebarTitle":"Upgrade Pulsar Operator","href":"/tools/operator/quickstart-guides/pulsar-operator-upgrade"},{"title":"Uninstall the Pulsar Operators","sidebarTitle":"Uninstall Pulsar Operator","href":"/tools/operator/quickstart-guides/pulsar-operator-uninstall"}]},{"group":"How To Guides","pages":[{"title":"Deploy a Pulsar cluster using the Pulsar Operators","sidebarTitle":"Deploy a Pulsar cluster","href":"/tools/operator/how-to-guides/pulsar-operator-deploy-pulsar"},{"title":"Manually scale a Pulsar cluster using the Pulsar Operators","sidebarTitle":"Manually scale a Pulsar cluster","href":"/tools/operator/how-to-guides/pulsar-operator-manual-scale"},{"title":"Enable protocol handlers on Pulsar brokers","sidebarTitle":"Enable protocol handlers","href":"/tools/operator/how-to-guides/pulsar-operator-enable-protocol-handlers"}]}]}]}]}]},"title":"V5.0.0.2 - StreamNative Documentation","buildId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","deploymentId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","dynamics":[],"chunks":[]}