584 Commits
Author SHA1 Message Date
Quan e1eb99c852 [ISSUE #11203] Fix incorrect consumption mode reported for wildcard Lite groups (#11204)
Wildcard Lite consumer groups consume with clustering semantics, but the
registration path reported them as LITE_SELECTIVE, so the admin/console view
showed an incorrect consumption mode.

Instead of adding a new MessageModel value, derive the Lite identity from the
client type carried on ProxyContext and normalize the reported model:

- ClientActivity#registerConsumer writes the real client type into the context
  via ctx.setClientType, so downstream no longer infers Lite identity from the
  display-only LITE_SELECTIVE value.
- ClientProcessor replaces validateLiteMode with validateLiteConsumer, which
  reads ctx.isLiteConsumer() plus the real (remapped) SubscriptionGroupConfig to
  enforce that Lite clients only register to Lite groups and vice versa, and
  normalizes a wildcard Lite group's model to CLUSTERING before registration.

The overridden method signatures kept by the commercial subclass
(registerConsumer, validateLiteSubTopic) are unchanged.
2026-10-12 11:07:25 +08:00
Rui Yin 37af1437e6 [ISSUE #10478] Support Lite messages in proxy local mode (#11053)
* [ISSUE #10478] Support Lite messages in proxy local mode

* [ISSUE #10478] Cover Lite pop edge cases and log invalid metadata
2026-10-03 15:27:10 +08:00
qianye 8227ecd1ac [ISSUE #11170] Preserve transaction subscriptions before first heartbeat (#11171) 2026-09-21 16:01:43 +08:00
zhaohaiandlizhimins d38f81e787 [ISSUE #10825] feat(proxy): Implement the Proxy Admin gRPC management interface (#10826)
Implement the control-plane admin capability as a gRPC service
served from the proxy process (NOT connecting to broker remoting/grpc
directly), per the rocketmq-apis admin.proto contract.
---------
Co-authored-by: lizhimins <707364882@qq.com>
2026-09-11 11:43:49 +08:00
qianye 8045955432 [ISSUE #11089] Share consumption executors for Proxy internal clients (#11090) 2026-09-11 10:18:26 +08:00
qianye eedd7607de [ISSUE #11083] Release owned gRPC event loops and stabilize POP priority tests (#11084) 2026-09-10 13:45:34 +08:00
ymwneu fd2dc2ffc2 [ISSUE #11000] Extract user-property validation in SendMessageActivity#buildMessageProperty into an overridable checkUserProperties method (#11001)
Extract the user property validation logic (property count limit,
reserved-key check, control character check) from buildMessageProperty()
into a standalone protected checkUserProperties() method. The property
size accumulation stays in buildMessageProperty().
2026-09-08 15:39:58 +08:00
dingshuangxi888 bee586bcd0 Improve ACL 2.0 authentication and authorization handling (#10997)
* fix(auth): require topic for view message authorization

* fix(auth): restrict user password responses

* fix(auth): trust only authenticated gRPC subject

* fix(auth): complete ACL follow-up handling
2026-09-03 15:36:26 +08:00
烤化の初雪 e90303810a fix(test): stabilize client offline receipt handle test (#10996)
Signed-off-by: unbridled-41 <yangzihao_41@outlook.com>
2026-09-03 10:21:24 +08:00
rongtong ec0f662c54 [ISSUE #10383] Fix flaky store and proxy tests (#10407)
* Fix flaky store HA and DLedger tests

* Fix receipt handle renewal test race
2026-09-02 09:28:29 +08:00
dingshuangxi888 293f588571 Improve ACL 2.0 authorization context handling (#10925) 2026-08-14 09:58:51 +08:00
fuyou001 51f9fcc493 [ISSUE #10817] Upgrade SpotBugs for JDK 21 compatibility (#10818) 2026-08-06 19:22:52 +08:00
aias00 00e45b8a6d [ISSUE #10025] Treat blank local serve address as unset (#10663) 2026-07-27 17:33:45 +08:00
yx9o 31734b150b [ISSUE #10661] Unregister all producer topics on gRPC client termination (#10662) 2026-07-27 17:33:06 +08:00
Quan 4f9b187fd7 [ISSUE #10569] Support Lite Simple Consumer on server side (#10570)
- Broker: add PopLiteLongPollingService to NotificationProcessor for lite consumer notification polling
- Broker: LiteEventDispatcher notifies both PopLiteMessageProcessor and NotificationProcessor polling services
- Broker: add hasEvents(clientId) API to LiteEventDispatcher for message availability check
- Proxy: unify lite/normal pop paths into single popMessage call, route by ProxyContext.isLiteConsumer()
- Proxy: register LITE_SIMPLE_CONSUMER in ClientActivity and GrpcClientSettingsManager lifecycle
- Proxy: pass liteTopic property only for lite consumers in filter and response writer
- Proxy: remove standalone popLiteMessage from MessagingProcessor/ConsumerProcessor
- Remoting: add isLiteConsumer and clientId fields to NotificationRequestHeader
2026-07-20 10:46:46 +08:00
Quan 10d498c68a [ISSUE-10546] Add default implementation for rejectRequest() in NettyRequestProcessor (#10547) 2026-06-25 10:22:35 +08:00
RockteMQ-AI 7347c44b06 [ISSUE #10510] Add gRPC server permit keepalive configuration (#10516) 2026-06-15 16:43:51 +08:00
Harsh Mehta 68cc743881 [Fix #10460]: Pre-size ProxyContext map to avoid HashMap resize on request path (#10461)
* fix: initialize HashMap with an initial capacity in ProxyContext

Signed-off-by: Harsh Mehta <harshmehta010102@gmail.com>

* fix: initialize HashMap with an initial capacity in ProxyContext

Signed-off-by: Harsh Mehta <harshmehta010102@gmail.com>

* fix: changed initial capacity to 64

Signed-off-by: Harsh Mehta <harshmehta010102@gmail.com>

---------

Signed-off-by: Harsh Mehta <harshmehta010102@gmail.com>
2026-06-11 16:14:41 +08:00
wizcraft_kris 216fc1b537 [ISSUE #10345] fix: preserve lite topic for auto-renew receipt handles (#10346) 2026-06-08 13:54:45 +08:00
qianye 78b05467ef [ISSUE #10398] Fix native memory leak on TLS certificate hot-reload (#10399) 2026-06-01 14:21:29 +08:00
lizhimins 9443c6d9db [ISSUE #10383] Align Bazel dependencies with Maven pom.xml (#10404) 2026-05-29 10:04:20 +08:00
yx9o 1251c9af3e [ISSUE #10280] Restore opaque when proxy remoting forward fails (#10281) 2026-05-23 17:09:38 +08:00
yx9o 079038dafc [ISSUE #10247] Remove duplicate remove call in InvocationChannel (#10248) 2026-05-21 15:17:27 +08:00
yx9o 17b4e56518 [ISSUE #10285] Fix preserve popTime when rebuilding AckResult (#10286) 2026-05-18 20:49:28 +08:00
yx9o c5a4da5400 [ISSUE #10297] Set brokerName for messages returned by proxy local POP path (#10298) 2026-05-13 14:42:57 +08:00
wizcraft_kris 5ad6a3e5ce [ISSUE #10274] Fix ForwardMessageToDeadLetterQueue request mapping descriptor (#10275) 2026-04-28 10:35:51 +08:00
yx9o 840b18c454 [ISSUE #10260] Reject delayed transactional messages in gRPC send path (#10261) 2026-04-21 17:19:55 +08:00
Quan 614b81693b [ISSUE #10203] Support wildcard subscription and and consumer suspend for LiteTopic (#10204)
- Add wildcard (*) subscription support for liteTopic
- Implement consume suspend mechanism with invalid scan count threshold
- Refactor subscriber query interface with SubscriberWrapper for flexible retrieval
- Add wildcard client cache with 30s TTL for performance optimization
- Update related components and enhance test coverage

Change-Id: I4ecaceec7daa2f4364d911437007df98dc49d542
2026-04-03 11:23:08 +08:00
qianye 7d7eb73e03 [ISSUE #10003] Add gRPC maxConcurrentCallsPerConnection Configuration to Proxy (#10004) 2026-03-30 14:27:01 +08:00
majialong 4a29b7e0bf [ISSUE #10077] Support password-encrypted private keys for Proxy TLS (#10078)
* [ISSUE #10077] Support password-encrypted private keys for Proxy TLS

* Fix bazel error

* Fix unit test

* Add comments
2026-03-13 14:27:49 +08:00
dingshuangxi888 ec7db8dc79 [ISSUE #10082] Missing PROPERTY_TIMER_DELAY_MS property check in delay message type validation (#10084) 2026-02-10 13:48:45 +08:00
yx9o c2c674dcd4 [ISSUE #10068] Remove duplicate registration in DefaultMessagingProcessor.init (#10069) 2026-02-05 13:57:09 +08:00
ltamber f80753f0da [ISSUE #10050] Support ChangeInvisibleTime without incrementing message reconsume times (#10051) 2026-02-02 14:06:57 +08:00
yx9o 9ad4a1b947 [ISSUE #9988] Remove mismatched response header in getConsumerConnectionList (#9989) 2026-01-26 17:31:20 +08:00
wizcraft_kris 899a1b5520 [ISSUE #10023] Remove duplicate shutdown and rejection handler calls for routeThreadPoolExecutor (#10024) 2026-01-20 14:09:02 +08:00
1b6a919bde [RIP-83] Lite Topic: A New Message Model (#9800)
Co-authored-by: imzs <imzs@foxmail.com>
Co-authored-by: zhouli11 <04081337@163.com>
2026-01-16 17:20:22 +08:00
yx9o 500c46866a [ISSUE #9978] Remove static from loadJsonConfig and unify exception strings (#9979) 2026-01-14 10:36:46 +08:00
qianye 7fc5452e0d [ISSUE #9970] Refactor the MessageQueueSelector to support more flexible queue selection strategy (#9971) 2026-01-07 15:40:09 +08:00
yuz10 cbe72c7b6a [ISSUE #9962] Fix the failure of fastjson2 parsing metricsExporterType in proxy config (#9963) 2026-01-06 10:07:53 +08:00
yx9o 7cc077416e [ISSUE #9964] Rename intConfig method to initConfig (#9965) 2026-01-04 17:46:20 +08:00
yx9o 684e73311f [ISSUE #9938] Rename misnamed Messing classes to Messaging (#9939) 2025-12-23 10:50:58 +08:00
imzsandRongtongJin bdae09ddf2 [RIP-80] #9928 Implementation of Priority Message (#9929)
* #9928 Implementation of Priority Message

* switch to fastjson2

Change-Id: I3620b00b79a77a93a7cf0fdfac857fb495638ca6

* fix bazel CI, upgrade rocketmq-proto to 2.1.1

Change-Id: Ia66cc7b14b89dc319044ced5ba349315e487c849

* Fix bazel CI

* fix CI, temporarily disable popKv in OffsetResetForPopIT

Change-Id: I0b406cf0ece5067de430c4404aaa1f2dd46edcba

---------

Co-authored-by: RongtongJin <user@example.com>
2025-12-18 10:18:25 +08:00
qianye 6f5b551b88 [ISSUE #9918] Fix the message may be renewed once more if the gRPC push consumer is unexpectedly disconnected (#9919)
Change-Id: I00424612c5ee9dd30e5c155dab17262051e5f097
2025-12-12 16:08:46 +08:00
7a08b4cb68 [RIP-82] Implement Timer message, transaction message, and index based on RocksDB (#9787)
* add isWakeCommitWhenPutMessage  for AIO

* Implemented Timer message, Transaction Message, Index based on rocksdb

* add timeline roll interval can be config

* optimize the code

* optimize the code

* add sone logic for recover commitlog

* optimize the code

* update

* update

* optimize the code

* update

* update

* optimize the code

* optimize the code

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

Change-Id: I700798ef625187ac32c16c8ea5aae5f2debfdddf

* update

Change-Id: I1d2dfa24317d2ad7c0ca41d90cd2b3c1ba260b0b

* update

Change-Id: I974e30eb909722ea2a17a14e505759bf20f4f860

* update

Change-Id: Ica01fbd08a2d60e9a0f4ab54b41ae4768cc4fa5d

* update

Change-Id: I764ce6cea3159b025bf1e6e65b60e20514cecb4f

* update

Change-Id: I0cc735896e1266934293ec06cb4f07746a1894a1

* update

Change-Id: I6538b6a60631c62e162bf511ae20185a07b72508

* update

Change-Id: I03f83b9e8199f3595ca28471df4a2e94671fbaae

* update

Change-Id: I5b19b671fa0b40cd2aba63f1d0eb654b92775cb4

* update the code

Change-Id: I22788d112b7f214310719e2d3ebad839ef818e67

* update

Change-Id: I7da89fe635b58ac5026095a8e484fa46f68521e7

* update the code

Change-Id: I5eade6c31803b8cf05c1a4bb83c226d57f4980c7

* update

Change-Id: Id67f600fad1a876926cd505dba047cc82011160c

* update

Change-Id: Ia4b0e2a21aa5e12570a80713432fd48ddfb210e6

* optimize the code

Change-Id: Idf8080c7b17c25e14fe34ef6bad1e1150dab58d6

* update

Change-Id: I904f0120a728b4eb87226159f9c0cde3d18ef26a

* update code

Change-Id: I21653d6bcad905daa8f10d12298d1d27535af9d9

* update

Change-Id: I712b9cde9a18c730fd020ea76f05560e594a9edd

* update

Change-Id: Iafe10c007e9b5057212e2dcfb21671f970b1d344

* update

Change-Id: I40c1c7f54852ee033e0caa22573436ee505a27b8

* optimize the code

Change-Id: Iae006b01608df4f363c63a0ae876dbf63cd56fbd

---------

Co-authored-by: drizzle.zk <drizzle.zk@alibaba-inc.com>
Co-authored-by: zhouli11 <04081337@163.com>
2025-12-11 15:13:56 +08:00
qianye cbfd37b251 Add some log for gRPC route (#9896) 2025-12-05 10:19:27 +08:00
yx9o d7e27d6d69 [ISSUE #9396] Use fastjson2 in all modules (#9397)
* Use fastjson2 in all modules

* Update test

* Update test

* Update test

* Add serialization compatibility test tool class

* Update RemotingSerializableCompatTest.java

* Update RemotingSerializableCompatTest.java

* Update RemotingSerializableCompatTest.java

* Update BitSet problem

* Update

* Update

* Update test

* Update test

* Update BUILD.bazel

* Update BUILD.bazel

* Update test

* Update BitSet problem

* Add test

* Add compat test

* merge develop

* Update test

* merge develop
2025-12-04 19:09:08 +08:00
dingshuangxi888 5892de6d14 [ISSUE #9862] [Bug] Fix the issue of missing bornTime in POP requests when broker ACL is enabled (#9863) 2025-11-20 20:09:43 +08:00
majialong 8eabe68acd [ISSUE #9849] Correct ACL cache loader error log in ClusterMetadataService (#9850) 2025-11-20 10:30:06 +08:00
qianye 9c3e7fe273 [ISSUE #9847] Reduce lock contention on the HandleData object to prevent threads from hanging (#9848) 2025-11-14 15:11:40 +08:00
qianye 6b91c7d4a2 [ISSUE #9798] Reduce unnecessary thread switching in sending message via proxy (#9799) 2025-11-06 10:21:02 +08:00