Skip to content
This repository has been archived by the owner on Apr 1, 2024. It is now read-only.

Bump pulsar version to 3.0.0-SNAPSHOT #6042

Draft
wants to merge 494 commits into
base: master
Choose a base branch
from
Draft
Changes from 1 commit
Commits
Show all changes
494 commits
Select commit Hold shift + click to select a range
bc1019f
[fix][broker] Use MessageDigest.isEqual when comparing digests (#21061)
Crispy-fried-chicken Aug 24, 2023
5f99925
[fix] [bk] Correctct the bookie info after ZK client is reconnected (…
poorbarcode Aug 25, 2023
111c14d
[fix][broker] Fix get topic policies as null during clean cache (#20763)
coderzc Aug 22, 2023
ab9384b
Revert "[fix][broker] Fix get topic policies as null during clean cac…
coderzc Aug 29, 2023
33ab210
[fix][broker] Fix can't stop phase-two of compaction even though mess…
coderzc Aug 22, 2023
25f76ef
[fix][broker] Make sure all inflight writes have finished before com…
coderzc Aug 28, 2023
f68589e
[fix] [broker] Producer is blocked on creation because backlog exceed…
heesung-sn Aug 24, 2023
dd151a5
[fix][broker] Fix potential case cause retention policy not working o…
Technoboy- Aug 22, 2023
2e534d2
[improve] [broker] Improve cache handling for partitioned topic metad…
poorbarcode Aug 28, 2023
c6c8496
[fix][misc] Bump broker okio version to 3.4.0 (#21064)
mattisonchao Aug 28, 2023
d422463
[fix][misc] Bump GRPC version to 1.55.3 to fix CVE (#21057)
mattisonchao Aug 29, 2023
3b085ea
[fix][client] Fix consumer can't consume resent chunked messages (#21…
RobertIndie Aug 29, 2023
fab85bd
[fix][client] Fix cannot retry chunk messages and send to DLQ (#21048)
RobertIndie Aug 30, 2023
63ea2d8
[improve] [ml] Persist mark deleted ops to ZK if create cursor ledger…
poorbarcode Aug 31, 2023
736bd5e
[fix][broker] Fix unsubscribe non-durable subscription error (#21099)
Technoboy- Sep 1, 2023
6d57031
[fix][fn] Fix the --batch-builder not working error for functions (#2…
jiangpengcheng Sep 5, 2023
792a98e
[fix] [broker] consider iowait as idle. (#19110)
thetumbled Aug 31, 2023
608f760
[fix][broker]Fix chunked messages will be filtered by duplicating (#2…
liangyepianzhou Aug 31, 2023
946fccf
[fix][fn] Fix ProducerConfig cannot update error (#21037)
jiangpengcheng Aug 31, 2023
937fa03
[fix][io] Fix --retain[-key]-ordering not working error for sink (#21…
jiangpengcheng Aug 31, 2023
e2812bf
[fix] [broker] remove bundle-data in local metadata store. (#21078)
thetumbled Aug 31, 2023
9c6671e
[fix][client] Fix logging problem in pulsar client (#21094)
Shawyeok Aug 31, 2023
f3b50d6
[fix][client] Avoid ack hole for chunk message (#21101)
liangyepianzhou Sep 4, 2023
115f713
[fix][broker] Fix deleting topic not delete the related topic policy …
Technoboy- Sep 1, 2023
4a97b77
[fix][client] Fix repeat consume when using n-ack and batched message…
poorbarcode Sep 5, 2023
acb5a54
[fix][broker] Cleanup correctly heartbeat bundle ownership when handl…
Demogorgon314 Sep 4, 2023
15b7508
[fix][broker] revert remove duplicate topics name when deleteNamespac…
TakaHiR07 Sep 5, 2023
25cc204
[improve][broker] Upgrade bookkeeper to 4.16.3 (#21146)
zymap Sep 11, 2023
78b26eb
[improve] [broker] Improve logs for troubleshooting (#21141)
poorbarcode Sep 6, 2023
fe2c312
[fix][broker] Fix web tls url null cause NPE (#21137)
Technoboy- Sep 7, 2023
b104369
[fix][broker] Fix unack count when mixing non batch index and batch i…
erobot Sep 11, 2023
635b5e5
[fix] [broker] Fix isolated group not work problem. (#21096)
horizonzy Sep 5, 2023
242e29d
[fix][proxy] Fix Proxy 502 gateway error when it is configured with K…
Apurva007 Sep 5, 2023
086c59a
[fix][sec] Upgrade Guava to 32.1.1 to address CVE-2023-2976 (#20699)
poorbarcode Jul 5, 2023
b510415
[fix] [client] fix same producer/consumer use more than one connectio…
poorbarcode Sep 11, 2023
597ba82
[fix][ci] Fix missing binary license (#21176)
Technoboy- Sep 14, 2023
ad5bb05
[fix] [broker] Make specified producer could override the previous on…
poorbarcode Sep 13, 2023
faee123
[improve] [broker] improve read entry error log for troubleshooting (…
poorbarcode Sep 13, 2023
91544c9
[fix][broker] Avoid splitting one batch message into two entries in S…
Demogorgon314 Sep 15, 2023
8b1c2a4
[fix][bk] Improve to the ReplicaitonWorker performance by deleting in…
horizonzy Sep 15, 2023
1c851db
[fix][broker] Backport fix UniformLoadShedder selecet wrong overloadb…
aloyszhang Sep 18, 2023
3a30526
[fix][broker] Fix write duplicate entries into the compacted ledger a…
coderzc Sep 18, 2023
7e0c0f8
[improve][broker][branch-3.0] Make read compacted entries support max…
coderzc Sep 22, 2023
9a7c4bb
[improve] [proxy] Not close the socket if lookup failed caused by too…
poorbarcode Sep 21, 2023
66054d5
[improve] [client] Merge lookup requests for the same topic (#21232)
poorbarcode Sep 22, 2023
7a03359
[fix][fn] fix functions_log4j2.xml delete strategy config (#21215)
hanmz Sep 25, 2023
96e7c66
[fix][broker]Fixed produce and consume when anonymousUserRole enabled…
tuteng Sep 24, 2023
8cb6af6
[fix][broker] Fixed reset for AggregatedNamespaceStats (#21225)
asafm Sep 24, 2023
e28ef97
[fix][broker] replicator leak when removeReplicator in NonPersistentT…
hanmz Sep 21, 2023
298a320
[fix][auto-recovery] Fix metadata store deadlock due to BookkeeperInt…
horizonzy Sep 17, 2023
44db9a0
[fix] [bookie] Fix RocksDB configuration (#21157)
hangc0276 Sep 13, 2023
dae4e01
[fix][txn] fix the consumer stuck due to deduplicated messages in pen…
hrzzzz Sep 27, 2023
62acc2b
[fix][sec] Add OWASP Dependency Check suppressions (#21281)
lhotari Sep 30, 2023
fbe2c70
[fix][build] Upgrade Lombok to 1.18.30 to support compiling with JDK2…
lhotari Sep 30, 2023
0bfa54f
[fix][ml] Fix thread safe issue with RangeCache.put and RangeCache.cl…
lhotari Oct 7, 2023
f243925
[improve] [broker] Print warn log if ssl handshake error & print ledg…
poorbarcode Sep 28, 2023
38c3f0c
[fix] [client] fix reader.hasMessageAvailable return false when incom…
poorbarcode Sep 28, 2023
eb2144e
[improve] [broker] Not close the socket if lookup failed caused by bu…
poorbarcode Sep 27, 2023
eb4f590
[fix][broker] fix bug caused by optimistic locking (#18390)
thetumbled Sep 15, 2023
3129621
[fix][broker] rackaware policy is ineffective when delete zk rack inf…
TakaHiR07 Oct 7, 2023
a0e2104
[fix][broker] Fix inconsistent topic policy (#21231)
mattisonchao Sep 26, 2023
c4de4ee
[improve] [auto-recovery] Migrate the replication testing from BookKe…
horizonzy Sep 28, 2023
01dfd3e
Revert "[fix][broker] Fix inconsistent topic policy (#21231)"
poorbarcode Oct 7, 2023
5dc11a5
[fix] [metadata] Fix zookeeper related flacky test (#21310)
horizonzy Oct 8, 2023
f1f417c
[fix][test] Fix flaky test NarUnpackerTest (#21328)
lhotari Oct 9, 2023
9ad081c
[fix][sec] Fix MultiRoles token provider when using anonymous clients…
merlimat Oct 10, 2023
ff4845b
[fix] [broker] fix flaky test PatternTopicsConsumerImplTest (#21222)
poorbarcode Sep 23, 2023
dd28bb4
[fix] [ml] Reader can set read-pos to a deleted ledger (#21248)
poorbarcode Oct 8, 2023
6895919
[fix] [ml] fix wrong msg backlog of non-durable cursor after trim led…
poorbarcode Oct 8, 2023
3727a69
[fix][ci] Fix docker image building by releasing more disk space befo…
lhotari Oct 14, 2023
c89d267
[fix] [bk-client] Fix bk client MinNumRacksPerWriteQuorum and Enforc…
horizonzy Oct 11, 2023
9dd81af
[fix][test] Fix a resource leak in ClusterMigrationTest (#21366)
lhotari Oct 16, 2023
d7ca04b
[feat][sql] Support UUID for json and avro (#21267)
liangyepianzhou Oct 9, 2023
215f421
[fix][test] Fix some resource leaks in compaction tests (#21374)
lhotari Oct 17, 2023
d35618a
[fix][test] Fix resource leaks with Pulsar Functions tests (#21378)
lhotari Oct 17, 2023
af6449d
[fix] [auto-recovery] Fix PulsarLedgerUnderreplicationManager notify …
horizonzy Oct 18, 2023
10affd2
[improve][ci] Add new CI unit test group "Broker Group 4" with cluste…
lhotari Oct 18, 2023
f26589e
[fix][broker] Fix lookup heartbeat and sla namespace bundle when usin…
Demogorgon314 Oct 19, 2023
b765a02
[fix][test] Fix AuditorLedgerCheckerTest flaky test. (#21414)
horizonzy Oct 23, 2023
480cb3b
[fix] [test] [branch-3.0] Fix AutoRecovery flaky test. (#21418)
horizonzy Oct 23, 2023
ad494ea
[improve][broker] use ConcurrentHashMap in ServiceUnitStateChannel an…
heesung-sn Oct 11, 2023
5503071
[fix][broker] Fix heartbeat namespace create transaction internal top…
TakaHiR07 Oct 19, 2023
2290073
[fix][broker] Fix heartbeat namespace create event topic and cannot d…
TakaHiR07 Oct 19, 2023
cefdcd8
[fix][test] Fix LocalBookkeeperEnsemble resource leak in tests (#21407)
lhotari Oct 23, 2023
a34bd59
[fix][sec] Upgrade Jetty to 9.4.53 to address CVE-2023-44487 (#21395)
lhotari Oct 19, 2023
b931ad2
[fix][sec] Upgrade Netty to 4.1.100 to address CVE-2023-44487 (#21397)
lhotari Oct 19, 2023
6d4a883
[fix][sec] Upgrade Zookeeper to 3.8.3 to address CVE-2023-44981 (#21398)
lhotari Oct 19, 2023
7edfb4f
[fix][broker][branch-3.0] Fix inconsistent topic policy (#21256)
mattisonchao Oct 24, 2023
c6bffc2
[fix][broker] Fix unload operation stuck when use ExtensibleLoadManag…
Demogorgon314 Oct 19, 2023
beed0a3
[fix][sec] Bump avro version to 1.11.3 for CVE-2023-39410 (#21341)
tisonkun Oct 17, 2023
77d2085
[feat][meta] Upgrade to jetcd to 0.7.5 (#20339)
michaeljmarshall May 17, 2023
0923080
[fix][sec] Upgrade snappy-java to 1.1.10.5 (#21280)
lhotari Oct 3, 2023
df4b0d8
[fix][proxy] Move status endpoint out of auth coverage (#21428)
mattisonchao Oct 24, 2023
153637d
[fix] [build] Fix in-correct license definetion (#21435)
poorbarcode Oct 26, 2023
79aedef
Release 3.0.2
poorbarcode Oct 26, 2023
ca67fe9
Revert "Release 3.0.2"
poorbarcode Oct 27, 2023
31c9b9b
[fix] [build] rename schema_example.conf to schema_example.json (#21447)
poorbarcode Oct 27, 2023
cd5d2be
Release 3.0.2
poorbarcode Oct 27, 2023
28f930b
[fix][broker] Fix MultiRoles token provider NPE when using anonymous …
Technoboy- Oct 25, 2023
f633677
[fix][broker] [fix][broker] Ignore individual acknowledgment for Comp…
coderzc Oct 25, 2023
b796f56
[fix] [broker] Make the new exclusive consumer instead the inactive o…
poorbarcode Oct 30, 2023
ece3169
[fix][build] Fix apt download issue in building the docker image (#21…
lhotari Oct 31, 2023
bda88be
[fix][txn] Ack all message ids when ack chunk messages with transacti…
liangyepianzhou Nov 8, 2023
9aafa80
[fix][broker] Avoid pass null role in MultiRolesTokenAuthorizationPro…
mattisonchao Nov 2, 2023
afc1d5b
[fix][txn] OpRequestSend reuse problem cause tbClient commitTxnOnTopi…
TakaHiR07 Nov 3, 2023
18f5770
[fix][broker] Fix PulsarService/BrokerService shutdown when brokerShu…
lhotari Nov 1, 2023
a4cfdbe
[fix][broker] Fix the deadlock when using BookieRackAffinityMapping w…
erobot Nov 10, 2023
9de0a88
[fix][client] Avert extensive time consumption during table view cons…
liangyepianzhou Nov 6, 2023
e79cf45
[fix][ml] Fix unfinished callback when deleting managed ledger (#21530)
mattisonchao Nov 10, 2023
9fb3138
[fix][broker] Fix failure while creating non-durable cursor with inac…
rdhabalia Nov 4, 2023
610bedf
[fix] [ml] Fix orphan scheduled task for ledger create timeout check …
poorbarcode Nov 11, 2023
9a93c1b
[fix] [broker] Fix thousands orphan PersistentTopic caused OOM (#21540)
poorbarcode Nov 11, 2023
64afe87
[fix][client] Fix print error log 'Auto getting partitions failed' wh…
hanmz Nov 11, 2023
ea982ac
Revert "[fix][client] Avert extensive time consumption during table v…
liangyepianzhou Nov 13, 2023
3875864
[fix] [build] Remove test testNoOrphanTopicIfInitFailed (#21569)
poorbarcode Nov 13, 2023
6b84514
[fix][broker] Fix namespace bundle stuck in unloading status (#21445)…
mattisonchao Nov 14, 2023
48560b7
[fix][broker] Fix create topic with different auto creation strategie…
mattisonchao Nov 10, 2023
dc198df
Revert "Release 3.0.2"
poorbarcode Nov 17, 2023
12c92fe
Release 3.0.2
poorbarcode Nov 17, 2023
5edc7bf
[fix][broker] Duplicate LedgerOffloader creation when namespace/topic…
shibd Nov 20, 2023
6ba453d
[fix][broker] Fix issue with consumer read uncommitted messages from …
coderzc Nov 22, 2023
eb2e1d4
[fix] [broker] Delete topic timeout due to NPE (#21595)
poorbarcode Nov 21, 2023
926feaf
[fix][broker] Correct schema deletion for parititioned topic (#21574)
poorbarcode Nov 21, 2023
711b621
[improve] [broker] Let the producer request success at the first time…
poorbarcode Nov 2, 2023
cda1382
[fix][broker] Fix setReplicatedSubscriptionStatus incorrect behavior …
liudezhi2098 Nov 12, 2023
a3a46c4
[fix][broker] Fix resource_quota_zpath (#21461)
Technoboy- Nov 23, 2023
c99a51d
[fix] [log] fix the vague response if topic not found (#20932)
poorbarcode Nov 28, 2023
0344814
[fix][sec] Upgrade rabbitmq client to address CVE-2023-46120 (#21619)
liangyepianzhou Nov 27, 2023
eb9d668
[improve][build] Upgrade Apache ZooKeeper to 3.9.1 (#20933)
eolivelli Nov 29, 2023
0f74345
[fix][sec] Upgrade Bouncycastle to 1.75 to address CVE-2023-33201 (#2…
lhotari Jun 23, 2023
f87e657
Set project version 3.0.3-SNAPSHOT
poorbarcode Dec 1, 2023
80c9c3b
[cleanup][client] Fix inconsistent API annotations of `getTopicName` …
liangyepianzhou Nov 27, 2023
906f54b
[fix][broker] Fix incorrect unack count when using shared subscriptio…
1Jack2 Nov 30, 2023
afb7800
[fix][broker] Fixed getting incorrect KeyValue schema version (#21632)
Technoboy- Nov 29, 2023
dc7ba28
[fix][admin] Fix KeyValue schema compatibility check caused OOM (#21645)
Technoboy- Nov 30, 2023
c8e9640
[fix][broker] Fix memory leak during topic compaction (#21647)
coderzc Dec 2, 2023
9fd3dc9
[fix][broker] Fix lookupRequestSemaphore leak when topic not found (#…
pengxiangrui127 Dec 4, 2023
f4c800f
[improve][admin] Add clusters check when set replication clusters (#2…
Technoboy- Dec 2, 2023
f25e700
[improve][broker] Print recoverBucketSnapshot log if cursorProperties…
coderzc Dec 4, 2023
bb9bfcf
[fix][build] Fix Stage Docker images fail on M1 Mac (#21659)
AnonHxy Dec 2, 2023
40fa9ab
[fix][broker] Do not write replicated snapshot marker when the topic …
liangyepianzhou Nov 14, 2023
744b7af
[improve][broker] Support not retaining null-key message during topic…
coderzc Dec 4, 2023
17c3bc8
[fix][offload] Don't cleanup data when offload met MetaStore exceptio…
zymap Dec 7, 2023
44131f9
[fix][broker] Fix typo in the config key (#21690)
coderzc Dec 7, 2023
f15568c
[fix] [broker] network package lost if enable haProxyProtocolEnabled …
poorbarcode Dec 8, 2023
5b5dd29
[fix][test] Fix PerformanceProducer send count error (#21706)
Technoboy- Dec 12, 2023
a1ae522
[fix][fn] Fix Deadlock in Functions Worker LeaderService (#21711)
Technoboy- Dec 12, 2023
85ff773
[improve][broker] cleanup the empty subscriptionAuthenticationMap in …
TakaHiR07 Dec 13, 2023
ad4bd5a
[fix][broker] Record GeoPersistentReplicator.msgOut before producer#s…
nodece Dec 8, 2023
08879e3
[fix][sec] Exclude avro from hadoop-client (#21719)
liangyepianzhou Dec 13, 2023
425ff7a
[fix][sec] Upgrade org.bouncycastle:bc-fips to 1.0.2.4 (#21730)
Dec 15, 2023
5b88f0b
[fix][test][branch-3.0] fix testCleanupEmptySubscriptionAuthenticati…
TakaHiR07 Dec 20, 2023
b952f6f
[fix][broker] Fix the issue of topics possibly being deleted. (#21704)
crossoverJie Dec 14, 2023
6505d02
[fix][client] Fix producer thread block forever on memory limit contr…
wenbingshen Dec 26, 2023
4c915bd
Upgrade OWASP dependency check maven plugin version
lhotari Jan 2, 2024
73f5f50
[fix][broker] Fixed ServiceUnitStateChannel monitor to tombstone only…
heesung-sn Dec 14, 2023
f43dde5
[fix][broker] Skip topic auto-creation for ExtensibleLoadManager inte…
heesung-sn Dec 15, 2023
8c5a871
[fix][broker] Fixed the ExtensibleLoadManagerImpl internal system get…
heesung-sn Dec 27, 2023
87c2970
[fix] [broker] Update topic policies as much as possible when some ex…
poorbarcode Jan 3, 2024
0c497f2
[fix][broker] Fix TableViewLoadDataStoreImpl NPE (#21777)
Demogorgon314 Dec 25, 2023
b41013b
[improve][broker] defer the ownership checks if the owner is inactive…
heesung-sn Jan 8, 2024
7d4d2de
[fix] [ml] Fix retry mechanism of deleting ledgers to invalidate (#21…
poorbarcode Jan 9, 2024
cde35ef
[fix][broker] Delete compacted ledger when topic is deleted (#21745)
coderzc Dec 29, 2023
0519a5b
[improve][broker] Don't rollover empty ledgers based on inactivity (#…
lhotari Jan 15, 2024
4ef5132
[fix] [client] Messages lost due to TopicListWatcher reconnect (#21853)
poorbarcode Jan 8, 2024
b7717bd
[fix] [broker] Fix break change: could not subscribe partitioned top…
poorbarcode Jan 15, 2024
5a376cb
[fix][client] Fix messages in the batch container timed out unexpecte…
BewareMyPower Jan 16, 2024
cf1e875
[improve][broker] Improve NamespaceUnloadStrategy error message (#21880)
Technoboy- Jan 16, 2024
0e0b559
[improve][broker] Skip loading the NAR packages if not configured (#2…
BewareMyPower Jan 10, 2024
f6bc5d7
[fix][broker] Fix compaction/replication data loss when expire messag…
coderzc Jan 11, 2024
12f9e43
[fix][broker]Fix NonPersistentDispatcherMultipleConsumers ArrayIndexO…
Technoboy- Jan 8, 2024
c5348a4
[improve] [client] Prevent reserve memory with a negative memory size…
poorbarcode Dec 26, 2023
d30ab18
[fix][broker] fix the wrong value of BrokerSrevice.maxUnackedMsgsPerD…
aloyszhang Jan 5, 2024
0400630
[improve][proxy] Fix comment about enableProxyStatsEndpoints (#21757)
lhotari Dec 20, 2023
b66bfd3
[fix][broker] Avoid compaction task stuck when the last message to co…
coderzc Dec 20, 2023
beb8418
[improve][io] Make connectors load sensitive fields from secrets (#21…
jiangpengcheng Dec 11, 2023
5aedbdb
[fix][broker] Fix returns wrong webServiceUrl when both webServicePor…
coderzc Dec 5, 2023
a6fd517
[improve][build] Add a default username in the image (#21695)
zymap Dec 18, 2023
d83c718
Revert "[fix][broker] Fix returns wrong webServiceUrl when both webSe…
lhotari Jan 26, 2024
57b7302
[cleanup] Deduplicate test certificates to simplify management (#20289)
michaeljmarshall May 10, 2023
e9cd566
[cleanup] Consolidate certs used in tests (#20336)
michaeljmarshall May 17, 2023
8bab1ec
Revert "[fix][test][branch-3.0] fix testCleanupEmptySubscriptionAuth…
lhotari Jan 26, 2024
d510b1d
[fix][test] ProxyWithoutServiceDiscoveryTest should enable authz (#20…
michaeljmarshall May 18, 2023
e1982bc
[cleanup] Consolidate certs in broker (and some proxy) tests (#20353)
michaeljmarshall May 19, 2023
8e2eb50
[fix][broker] Fix PulsarService.getLookupServiceAddress returns wron…
Technoboy- Sep 18, 2023
1fc5cf1
[fix][broker] Fix returns wrong webServiceUrl when both webServicePor…
coderzc Dec 5, 2023
5fc4f3d
[fix][broker] Fix returns wrong webServiceUrl when both webServicePor…
Technoboy- Jan 3, 2024
7d28dbf
[fix][broker] Fix leader broker cannot be determined when the adverti…
lhotari Jan 19, 2024
c614e4d
[fix][broker] Restore the broker id to match the format used in exist…
lhotari Jan 21, 2024
e135b48
[fix][test] Make base test class method protected so that it passes R…
lhotari Jan 27, 2024
bfe1ed0
[improve] [bk] Upgrade BookKeeper dependency to 4.16.4 (#21983)
hangc0276 Jan 29, 2024
503f85f
[fix] [bk] Fix the BookKeeper license (#22000)
hangc0276 Jan 31, 2024
4386401
[fix] [broker] [branch-3.0] Fast fix infinite HTTP call createSubscri…
poorbarcode Jan 31, 2024
020b1db
[improve][broker] Do not close the socket if lookup failed due to Loc…
BewareMyPower Feb 2, 2024
b796fc8
[fix] [broker] add timeout for health check read. (#21990)
thetumbled Jan 30, 2024
4ae07a9
[fix][client] Fix ConsumerBuilderImpl#subscribe silent stuck when usi…
Shawyeok Jan 30, 2024
5a2ad28
[fix][broker] Fix schema deletion error when deleting a partitioned t…
heesung-sn Jan 30, 2024
9076951
[improve] [proxy] Add a check for brokerServiceURL that does not supp…
poorbarcode Jan 30, 2024
9baebfa
[fix][fn] Use unified PackageManagement service to download packages …
jiangpengcheng Jan 31, 2024
a209984
[fix] [broker] Replication stopped due to unload topic failed (#21947)
poorbarcode Jan 25, 2024
e8bb6ca
[fix][broker] Fix getMessageById throws 500 (#21919)
nodece Jan 19, 2024
ac1f499
[fix][client] Fix multi-topics consumer could receive old messages af…
BewareMyPower Jan 30, 2024
55512c8
[fix][broker] Fix deadlock while skip non-recoverable ledgers. (#21915)
hrzzzz Jan 22, 2024
2065653
[improve][ci] Upgrade pulsar-client-python to 3.4.0 to avoid CVE-2023…
BewareMyPower Jan 16, 2024
a2ed673
[fix] [broker] Fix write all compacted out entry into compacted topic…
thetumbled Jan 21, 2024
fd3d8b9
[fix][broker] Fix String wrong format (#21829)
Technoboy- Feb 5, 2024
abfc10b
[improve][broker] Avoid record inactiveproducers when deduplication i…
lifepuzzlefun Dec 21, 2023
e6cd005
[improve][ml] Filter out deleted entries before read entries from led…
dao-jun Jan 19, 2024
890be16
[fix] [ci] [branch-3.0] Fix the build issue from cherry-pick (#22042)
codelipenghui Feb 8, 2024
04c2da4
Fix testNoCleanupOffloadLedgerWhenMetadataExceptionHappens
Technoboy- Dec 27, 2023
a88f592
[fix][broker] Sanitize values before logging in apply-config-from-env…
lhotari Feb 9, 2024
d02ba2c
[fix][broker][branch-3.1] Avoid PublishRateLimiter use an already clo…
coderzc Feb 19, 2024
47972af
[fix][broker] Support running docker container with gid != 0 (#22081)
lhotari Feb 21, 2024
179016b
[fix][sec] Upgrade commons-compress to 1.26.0 (#22086)
massakam Feb 21, 2024
ff17d99
[fix][broker] Fix hash collision when using a consumer name that ends…
lhotari Feb 15, 2024
1790438
[fix] [broker] Fix can not subscribe partitioned topic with a suffix-…
poorbarcode Feb 19, 2024
6ecccdd
[improve][broker] Do not retain the data in the system topic (#22022)
liangyepianzhou Feb 6, 2024
1529927
[fix][broker]Support setting `autoSkipNonRecoverableData` dynamically…
chenhongSZ Feb 18, 2024
30697bd
[fix] [broker] Subscription stuck due to called Admin API analyzeSubs…
poorbarcode Feb 18, 2024
dade5e0
[fix] [txn] Get previous position by managed ledger. (#22024)
thetumbled Feb 22, 2024
5578873
Fix compile issue
Technoboy- Feb 23, 2024
90f76a7
[improve][proxy] When adding new brokers resolve the DNS name more qu…
frankjkelly Sep 20, 2023
bbf6ddf
[fix] [client] Do no retrying for error subscription not found when d…
zifengmo Feb 26, 2024
e616217
[fix][broker] fix `Update contains no change` error when use `--updat…
labuladong Jun 13, 2023
55db3f1
[improve][fn] Optimize Function Worker startup by lazy loading and di…
lhotari Feb 26, 2024
e3f5115
Fix byte-buddy version in presto LICENSE
lhotari Feb 26, 2024
1a0a457
[fix] Bump org.apache.solr:solr-core from 8.11.1 to 8.11.3 in /pulsar…
dependabot[bot] Feb 10, 2024
860f085
[improve][ci] Exclude jose4j to avoid CVE-2023-31582 (#21791)
Technoboy- Dec 27, 2023
e2ffea1
[fix][test] Fix test testTransactionBufferMetrics (#22117)
liangyepianzhou Feb 26, 2024
6e988ef
[improve][admin] Expose the offload threshold in seconds to the amdin…
zymap Feb 23, 2024
8ea425e
[improve] [broker] Do not try to open ML when the topic meta does not…
poorbarcode Feb 23, 2024
2a050d1
[improve][broker] Cache the internal writer when sent to system topic…
Technoboy- Feb 24, 2024
b961c49
[fix] [broker] Enabling batch causes negative unackedMessages due to …
poorbarcode Feb 26, 2024
071e26d
[fix] [client] fix huge permits if acked a half batched message (#22091)
poorbarcode Feb 26, 2024
90416ab
[fix][sec] Add a check for the input time value (#22023)
liangyepianzhou Feb 26, 2024
3b43433
[fix][test] Fix test testAsyncFunctionMaxPending (#22121)
liangyepianzhou Feb 27, 2024
f26b1bf
[fix][test] fix test testSyncNormalPositionWhenTBRecover (#22120)
liangyepianzhou Feb 27, 2024
1fd7934
[fix][ml] Make mlOwnershipChecker asynchronous so that it doesn't blo…
lhotari Oct 11, 2023
f308ab2
[improve][broker] Add an error log to troubleshoot the failure of sta…
liangyepianzhou Feb 18, 2024
6df0265
[fix][broker][branch-3.0] Set ServiceUnitStateChannel topic compactio…
heesung-sn Feb 29, 2024
b3b1bfb
[fix][broker][branch-3.0] Return getOwnerAsync without waiting on sou…
heesung-sn Feb 29, 2024
ca35b2e
Revert "[improve][admin] Expose the offload threshold in seconds to t…
heesung-sn Feb 29, 2024
bc13b44
[fix] [broker] print non log when delete partitioned topic failed (#2…
poorbarcode Feb 29, 2024
9292b05
[fix][offload] Fix Offload readHandle cannot close multi times. (#22162)
dao-jun Feb 29, 2024
2aa3597
[fix][txn]Fix TopicTransactionBuffer potential thread safety issue (#…
dao-jun Feb 29, 2024
624f685
Minor Compile fix (#22167)
heesung-sn Feb 29, 2024
21660bd
[improve][admin][branch-3.0] Expose the offload threshold in seconds …
zymap Mar 1, 2024
f0da29b
[improve][broker] Add fine-grain authorization to retention admin API…
mattisonchao Feb 29, 2024
4252cf7
[improve][fn] Add configuration for connector & functions package url…
lhotari Mar 4, 2024
f93afef
Release 3.0.0-SNAPSHOT
streamnativebot Mar 4, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
[improve] [broker] Do not try to open ML when the topic meta does not…
… exist and do not expect to create a new one. apache#21995 (apache#22004)

Co-authored-by: Jiwe Guo <[email protected]>
(cherry picked from commit 1c652f5)
  • Loading branch information
poorbarcode authored and heesung-sn committed Feb 27, 2024
commit 8ea425e0cf1602cb9a84b88cc02f8a443e5f24cd
Original file line number Diff line number Diff line change
@@ -1051,43 +1051,49 @@ public CompletableFuture<Optional<Topic>> getTopic(final TopicName topicName, bo
}
final boolean isPersistentTopic = topicName.getDomain().equals(TopicDomain.persistent);
if (isPersistentTopic) {
final CompletableFuture<Optional<TopicPolicies>> topicPoliciesFuture =
getTopicPoliciesBypassSystemTopic(topicName);
return topicPoliciesFuture.exceptionally(ex -> {
final Throwable rc = FutureUtil.unwrapCompletionException(ex);
final String errorInfo = String.format("Topic creation encountered an exception by initialize"
+ " topic policies service. topic_name=%s error_message=%s", topicName, rc.getMessage());
log.error(errorInfo, rc);
throw FutureUtil.wrapToCompletionException(new ServiceUnitNotReadyException(errorInfo));
}).thenCompose(optionalTopicPolicies -> {
final TopicPolicies topicPolicies = optionalTopicPolicies.orElse(null);
return topics.computeIfAbsent(topicName.toString(), (tpName) -> {
if (topicName.isPartitioned()) {
final TopicName topicNameEntity = TopicName.get(topicName.getPartitionedTopicName());
return fetchPartitionedTopicMetadataAsync(topicNameEntity)
.thenCompose((metadata) -> {
// Allow crate non-partitioned persistent topic that name includes `partition`
if (metadata.partitions == 0
|| topicName.getPartitionIndex() < metadata.partitions) {
return loadOrCreatePersistentTopic(tpName, createIfMissing,
properties, topicPolicies);
}
final String errorMsg =
String.format("Illegal topic partition name %s with max allowed "
+ "%d partitions", topicName, metadata.partitions);
log.warn(errorMsg);
return FutureUtil
.failedFuture(new BrokerServiceException.NotAllowedException(errorMsg));
});
}
return loadOrCreatePersistentTopic(tpName, createIfMissing, properties, topicPolicies);
}).thenCompose(optionalTopic -> {
if (!optionalTopic.isPresent() && createIfMissing) {
log.warn("[{}] Try to recreate the topic with createIfMissing=true "
+ "but the returned topic is empty", topicName);
return getTopic(topicName, createIfMissing, properties);
}
return CompletableFuture.completedFuture(optionalTopic);
return pulsar.getPulsarResources().getTopicResources().persistentTopicExists(topicName)
.thenCompose(exists -> {
if (!exists && !createIfMissing) {
return CompletableFuture.completedFuture(Optional.empty());
}
return getTopicPoliciesBypassSystemTopic(topicName).exceptionally(ex -> {
final Throwable rc = FutureUtil.unwrapCompletionException(ex);
final String errorInfo = String.format("Topic creation encountered an exception by initialize"
+ " topic policies service. topic_name=%s error_message=%s", topicName,
rc.getMessage());
log.error(errorInfo, rc);
throw FutureUtil.wrapToCompletionException(new ServiceUnitNotReadyException(errorInfo));
}).thenCompose(optionalTopicPolicies -> {
final TopicPolicies topicPolicies = optionalTopicPolicies.orElse(null);
return topics.computeIfAbsent(topicName.toString(), (tpName) -> {
if (topicName.isPartitioned()) {
final TopicName topicNameEntity = TopicName.get(topicName.getPartitionedTopicName());
return fetchPartitionedTopicMetadataAsync(topicNameEntity)
.thenCompose((metadata) -> {
// Allow crate non-partitioned persistent topic that name includes
// `partition`
if (metadata.partitions == 0
|| topicName.getPartitionIndex() < metadata.partitions) {
return loadOrCreatePersistentTopic(tpName, createIfMissing,
properties, topicPolicies);
}
final String errorMsg =
String.format("Illegal topic partition name %s with max allowed "
+ "%d partitions", topicName, metadata.partitions);
log.warn(errorMsg);
return FutureUtil.failedFuture(
new BrokerServiceException.NotAllowedException(errorMsg));
});
}
return loadOrCreatePersistentTopic(tpName, createIfMissing, properties, topicPolicies);
}).thenCompose(optionalTopic -> {
if (!optionalTopic.isPresent() && createIfMissing) {
log.warn("[{}] Try to recreate the topic with createIfMissing=true "
+ "but the returned topic is empty", topicName);
return getTopic(topicName, createIfMissing, properties);
}
return CompletableFuture.completedFuture(optionalTopic);
});
});
});
} else {
Original file line number Diff line number Diff line change
@@ -126,7 +126,7 @@ public void testEvents(String topicTypePersistence, String topicTypePartitioned,
boolean forceDelete) throws Exception {
String topicName = topicTypePersistence + "://" + namespace + "/" + "topic-" + UUID.randomUUID();

createTopicAndVerifyEvents(topicTypePartitioned, topicName);
createTopicAndVerifyEvents(topicTypePersistence, topicTypePartitioned, topicName);

events.clear();
if (topicTypePartitioned.equals("partitioned")) {
@@ -150,7 +150,7 @@ public void testEventsWithUnload(String topicTypePersistence, String topicTypePa
boolean forceDelete) throws Exception {
String topicName = topicTypePersistence + "://" + namespace + "/" + "topic-" + UUID.randomUUID();

createTopicAndVerifyEvents(topicTypePartitioned, topicName);
createTopicAndVerifyEvents(topicTypePersistence, topicTypePartitioned, topicName);

events.clear();
admin.topics().unload(topicName);
@@ -182,7 +182,7 @@ public void testEventsActiveSub(String topicTypePersistence, String topicTypePar
boolean forceDelete) throws Exception {
String topicName = topicTypePersistence + "://" + namespace + "/" + "topic-" + UUID.randomUUID();

createTopicAndVerifyEvents(topicTypePartitioned, topicName);
createTopicAndVerifyEvents(topicTypePersistence, topicTypePartitioned, topicName);

Consumer<byte[]> consumer = pulsarClient.newConsumer().topic(topicName).subscriptionName("sub").subscribe();
Producer<byte[]> producer = pulsarClient.newProducer().topic(topicName).create();
@@ -238,7 +238,7 @@ public void testEventsActiveSub(String topicTypePersistence, String topicTypePar
public void testTopicAutoGC(String topicTypePersistence, String topicTypePartitioned) throws Exception {
String topicName = topicTypePersistence + "://" + namespace + "/" + "topic-" + UUID.randomUUID();

createTopicAndVerifyEvents(topicTypePartitioned, topicName);
createTopicAndVerifyEvents(topicTypePersistence, topicTypePartitioned, topicName);

admin.namespaces().setInactiveTopicPolicies(namespace,
new InactiveTopicPolicies(InactiveTopicDeleteMode.delete_when_no_subscriptions, 1, true));
@@ -262,33 +262,36 @@ public void testTopicAutoGC(String topicTypePersistence, String topicTypePartiti
);
}

private void createTopicAndVerifyEvents(String topicTypePartitioned, String topicName) throws Exception {
private void createTopicAndVerifyEvents(String topicDomain, String topicTypePartitioned, String topicName) throws Exception {
final String[] expectedEvents;
if (topicTypePartitioned.equals("partitioned")) {
topicNameToWatch = topicName + "-partition-1";
admin.topics().createPartitionedTopic(topicName, 2);
triggerPartitionsCreation(topicName);

if (topicDomain.equalsIgnoreCase("persistent") || topicTypePartitioned.equals("partitioned")) {
expectedEvents = new String[]{
"LOAD__BEFORE",
"CREATE__BEFORE",
"CREATE__SUCCESS",
"LOAD__SUCCESS"
};

} else {
topicNameToWatch = topicName;
admin.topics().createNonPartitionedTopic(topicName);

expectedEvents = new String[]{
// Before https://github.com/apache/pulsar/pull/21995, Pulsar will skip create topic if the topic
// was already exists, and the action "check topic exists" will try to load Managed ledger,
// the check triggers two exrtra events: [LOAD__BEFORE, LOAD__FAILURE].
// #21995 fixed this wrong behavior, so remove these two events.
"LOAD__BEFORE",
"LOAD__FAILURE",
"LOAD__BEFORE",
"CREATE__BEFORE",
"CREATE__SUCCESS",
"LOAD__SUCCESS"
};

}
if (topicTypePartitioned.equals("partitioned")) {
topicNameToWatch = topicName + "-partition-1";
admin.topics().createPartitionedTopic(topicName, 2);
triggerPartitionsCreation(topicName);
} else {
topicNameToWatch = topicName;
admin.topics().createNonPartitionedTopic(topicName);
}

Awaitility.waitAtMost(10, TimeUnit.SECONDS).untilAsserted(() ->
Original file line number Diff line number Diff line change
@@ -3417,4 +3417,32 @@ private void testAnalyzeSubscriptionBacklogNotCauseStuck() throws Exception {
producer.close();
admin.topics().delete(topic);
}

@Test
public void testGetStatsIfPartitionNotExists() throws Exception {
// create topic.
final String partitionedTp = BrokerTestUtil.newUniqueName("persistent://" + defaultNamespace + "/tp");
admin.topics().createPartitionedTopic(partitionedTp, 1);
TopicName partition0 = TopicName.get(partitionedTp).getPartition(0);
boolean topicExists1 = pulsar.getBrokerService().getTopic(partition0.toString(), false).join().isPresent();
assertTrue(topicExists1);
// Verify topics-stats works.
TopicStats topicStats = admin.topics().getStats(partition0.toString());
assertNotNull(topicStats);

// Delete partition and call topic-stats again.
admin.topics().delete(partition0.toString());
boolean topicExists2 = pulsar.getBrokerService().getTopic(partition0.toString(), false).join().isPresent();
assertFalse(topicExists2);
// Verify: respond 404.
try {
admin.topics().getStats(partition0.toString());
fail("Should respond 404 after the partition was deleted");
} catch (Exception ex) {
assertTrue(ex.getMessage().contains("Topic partitions were not yet created"));
}

// cleanup.
admin.topics().deletePartitionedTopic(partitionedTp);
}
}
Original file line number Diff line number Diff line change
@@ -149,21 +149,23 @@ public void testPartitionedTopicAutoCreationForbiddenDuringNamespaceDeletion()
.sendTimeout(1, TimeUnit.SECONDS)
.topic(topic)
.create()) {
} catch (PulsarClientException.LookupException expected) {
String msg = "Namespace bundle for topic (%s) not served by this instance";
} catch (PulsarClientException.TopicDoesNotExistException expected) {
// Since the "policies.deleted" is "true", the value of "isAllowAutoTopicCreationAsync" will be false,
// so the "TopicDoesNotExistException" is expected.
log.info("Expected error", expected);
assertTrue(expected.getMessage().contains(String.format(msg, topic))
assertTrue(expected.getMessage().contains(topic)
|| expected.getMessage().contains(topicPoliciesServiceInitException));
}

try (Consumer<byte[]> ignored = pulsarClient.newConsumer()
.topic(topic)
.subscriptionName("test")
.subscribe()) {
} catch (PulsarClientException.LookupException expected) {
String msg = "Namespace bundle for topic (%s) not served by this instance";
} catch (PulsarClientException.TopicDoesNotExistException expected) {
// Since the "policies.deleted" is "true", the value of "isAllowAutoTopicCreationAsync" will be false,
// so the "TopicDoesNotExistException" is expected.
log.info("Expected error", expected);
assertTrue(expected.getMessage().contains(String.format(msg, topic))
assertTrue(expected.getMessage().contains(topic)
|| expected.getMessage().contains(topicPoliciesServiceInitException));
}

Original file line number Diff line number Diff line change
@@ -295,7 +295,8 @@ public void testPersistentPartitionedTopicUnload() throws Exception {

assertFalse(pulsar.getBrokerService().getTopics().containsKey(topicName));
pulsar.getBrokerService().getTopicIfExists(topicName).get();
assertTrue(pulsar.getBrokerService().getTopics().containsKey(topicName));
// The map topics should only contain partitions, does not contain partitioned topic.
assertFalse(pulsar.getBrokerService().getTopics().containsKey(topicName));

// ref of partitioned-topic name should be empty
assertFalse(pulsar.getBrokerService().getTopicReference(topicName).isPresent());