9189 Commits

Author SHA1 Message Date
yx9o 079038dafc [ISSUE #10247] Remove duplicate remove call in InvocationChannel (#10248) 2026-05-21 15:17:27 +08:00
lizhimins 61c493c068 [ISSUE #10334] Support native CqCompactionFilter with cross-platform JNI shim (#10335) 2026-05-21 10:12:14 +08:00
lizhimins a3abd5185a [ISSUE #10341] Fix Bazel CI build failure caused by Maven Central rate limiting (#10342) 2026-05-19 13:34:12 +08:00
yx9o 17b4e56518 [ISSUE #10285] Fix preserve popTime when rebuilding AckResult (#10286) 2026-05-18 20:49:28 +08:00
yuz10 c625406648 [ISSUE #10291] fix queryMessage default index type (#10292)
* [ISSUE #10110] Plain request process success and response fail when tlsMode=enforcing

* fix queryMessage default indexType

* fix
2026-05-16 00:16:44 +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
ChineseTony bd903d56e1 [ISSUE #10284] Fix consumerOffset deserialization error and add test (#10287)
Co-authored-by: wangtao_ <wangtao684@huawei.com>
2026-05-12 09:18:48 +08:00
qianye c6fc39ab5f [ISSUE #10276] Fix PopConsumerService changeInvisibilityDuration losing CK record when visibilityTimeout collision (#10277) 2026-05-06 11:23:35 +08:00
wizcraft_kris 5ad6a3e5ce [ISSUE #10274] Fix ForwardMessageToDeadLetterQueue request mapping descriptor (#10275) 2026-04-28 10:35:51 +08:00
wizcraft_kris c08305261c [ISSUE #10253] Fix stale wildcardGroupMap entries caused by incorrect parsing during LiteTopic wildcard unregistration (#10254) 2026-04-23 17:27:45 +08:00
lizhimins 0752ddf89b [ISSUE #10270] Make Pop RocksDB BlockCache size configurable via MessageStoreConfig (#10271)
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-22 17:24:38 +08:00
Houlong66 f04eafcd7b [ISSUE #10266] Fix OOM caused by OpenTelemetry 1.44 OtlpGrpcMetricExporter pool race (#10267)
OpenTelemetry Java 1.44.0 ~ 1.46.x ships OtlpGrpcMetricExporter with
MemoryMode.REUSABLE_DATA by default. The underlying
MetricReusableDataMarshaler.marshalerPool is a non-thread-safe
ArrayDeque accessed concurrently by the reader thread (poll) and the
OkHttp callback thread (add, via whenComplete). With
BatchSplittingMetricExporter issuing N concurrent sub-batch exports
per cycle, the pool races and leaks marshalers (~132 KiB each) until
OOM. Fixed upstream in 1.47.0 via open-telemetry/opentelemetry-java#7041
(ArrayDeque -> ConcurrentLinkedDeque).

- Bump OpenTelemetry to 1.47.0 in pom.xml so the upstream race fix is
  in effect.
- Default OtlpGrpcMetricExporter to MemoryMode.IMMUTABLE_DATA to
  preserve the pre-1.44 default behavior; exposed via
  brokerConfig.metricsExportOtelMemoryMode ("IMMUTABLE_DATA" /
  "REUSABLE_DATA", case-insensitive). Operators may opt in to
  REUSABLE_DATA when running on OTel >= 1.47.
- Cap concurrent in-flight sub-batches in BatchSplittingMetricExporter
  with a Semaphore controlled by
  brokerConfig.metricsExportBatchMaxConcurrent (default 4; set to 1
  to serialize and match pre-batch behavior; 0 or Integer.MAX_VALUE
  means unlimited).
- Add brokerConfig.metricsExportBatchSplitEnabled (default true) as
  an escape hatch to bypass BatchSplittingMetricExporter entirely,
  restoring the raw OtlpGrpcMetricExporter wiring.
- Defensively snapshot MetricData points before export to avoid
  ArrayIndexOutOfBoundsException in NumberDataPointMarshaler when
  async instrument callbacks mutate point collections during export.
2026-04-21 19:19:30 +08:00
lizhimins 94fbfcf342 [ISSUE #10268] Fix incorrect time range file selection in IndexStoreService.queryAsync (#10269)
Co-authored-by: lizhimins <lizhimins@users.noreply.github.com>
2026-04-21 19:15:26 +08:00
yx9o 840b18c454 [ISSUE #10260] Reject delayed transactional messages in gRPC send path (#10261) 2026-04-21 17:19:55 +08:00
lizhimins 98799686a9 [ISSUE #10238] Release Apache RocketMQ 5.5.0 (#10251) rocketmq-all-5.5.0 2026-04-10 17:31:59 +08:00
lizhimins b8aba3bde2 [ISSUE #10181] Remove lock when resetting offset in PopConsumerService (#10250) 2026-04-10 17:30:12 +08:00
Vincent Lee 2b5e7094d2 [ISSUE #9777 ]feat: use data version from master while sync slave and fix delete co… (#9778)
* feat: use data version from master while sync slave and fix delete config while sync

Change-Id: I42b2e7b1acc6836d3c90973801c9defba5f1325c

* fix: assign new version using master while sync slave

Change-Id: I7ec20607a84499fe5a6607763013c59d726aedc3

* feat: allow set dataVersion directly for topic/group config sync

Change-Id: Ic845794350e8bdaa847bdd0ae4b3e40ab1ad6311

* feat: set data version directly while sync from master

Change-Id: I39e78477a5223b578a4ede3e5cb76f04368d1ca3

* test: adjust slave sync test for version

Change-Id: I9e835568912928ddf6e81816095ee3ed8f93afc0
2026-04-09 16:38:47 +08:00
imzs 343daa9fb5 [ISSUE #10173] Improve PopLite: rename RocksDB CQ path and schedule autoClean (#10242) 2026-04-07 17:51:59 +08:00
Houlong66 7b85a5d6fc [ISSUE #10240] Add BatchSplittingMetricExporter to prevent OTLP gRPC export failures (#10239)
* Add BatchSplittingMetricExporter to prevent OTLP gRPC export failures

When high-cardinality metrics (consumer_group x topic) produce OTLP export
payloads exceeding the gRPC 32MB limit or SLS per-RPC processing limit,
all metrics fail to export. This adds a MetricExporter decorator that:

- Splits large batches of MetricData objects into smaller sub-batches
- Splits single oversized MetricData objects by their internal data points
  into multiple smaller MetricData objects (supports all 7 MetricDataType)
- Configurable via BrokerConfig.metricsExportBatchMaxDataPoints (default 1000)
- Fast path with zero overhead when data points are within threshold
- Logs failed batch details for debugging

* fix(metrics): snapshot MetricData points before export to prevent AIOOBE

The OTel SDK's NumberDataPointMarshaler.createRepeated allocates an
array based on points.size() then iterates. If callback threads
concurrently add data points between size() and iteration, an
ArrayIndexOutOfBoundsException occurs. This adds a defensive snapshot
of all data point collections at the start of export(), ensuring
the delegate exporter always receives immutable point collections.

* test(metrics): add unit tests for snapshot defensive copy

- testSnapshotCreatesNewMetricData: verify delegate receives
  snapshotted MetricData, not the original reference
- testSnapshotFallsBackToOriginal: verify catch block falls
  back to original when snapshot fails (e.g., mock without type)
- testSnapshotPointsAreIndependentCopy: verify the snapshotted
  points collection is a separate instance from the original
2026-04-03 14:29:54 +08:00
imzs 2c2cc921ba [ISSUE #10173] Support LMQ in CombineConsumeQueueStore without migration to RocksDB CQ (#10174) 2026-04-03 14:29:42 +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
wizcraft_kris 860de80261 [ISSUE #10183] Fix incorrect brokerName when constructing processQueueTable with static topic (#10186) 2026-04-03 11:05:37 +08:00
wizcraft_kris d68d5a5461 [ISSUE #10183] Fix incorrect brokerName when constructing ProcessQueueTable with static topic (#10184) 2026-04-02 14:23:27 +08:00
wizcraft_kris 9c0cc510dc [ISSUE #10189] Remove unused fetchRemoteConfigExecutorService in MQClientInstance (#10190) 2026-03-31 17:04:47 +08:00
majialong 459d27b39f [ISSUE #10191] Fix wrong option value for namesrvAddr parsing in timer benchmark examples (#10192) 2026-03-31 15:33:05 +08:00
Lystran 3b12a25f0a [ISSUE #10076] Make orderly resetOffset wait on consume lock while preserving timeout semantics (#10175) 2026-03-31 10:37:13 +08:00
hqbfz d66cfa9d7a [ISSUE #10165] Prevent RocksDB metrics from being overwritten after timer engine switch (#10166) 2026-03-30 16:48:33 +08:00
qianye 7d7eb73e03 [ISSUE #10003] Add gRPC maxConcurrentCallsPerConnection Configuration to Proxy (#10004) 2026-03-30 14:27:01 +08:00
lizhimins e5d33722d9 [ISSUE #10223] Not query the index of system topics in tiered storage (#10224) 2026-03-30 13:34:53 +08:00
qianye 103b7bcc3c [ISSUE #10229] Fix server-side reset offset does not take effect for FIFO (orderly) pop consumers (#10230) 2026-03-30 11:53:04 +08:00
ltamber 35c88e3094 [ISSUE #10225] Add RejectedExecutionHandler support for ThreadPoolMonitor (#10222) 2026-03-30 09:40:11 +08:00
rongtong b14f926d64 Remove some workflows (#10220) 2026-03-27 18:13:02 +08:00
yx9o 932588d3e1 [ISSUE #10201] Optimize queryOffset method overloads in IndexService (#10202) 2026-03-25 15:24:21 +08:00
lizhimins 59033a3653 [ISSUE #10199] Fix stale write timestamp leads to duplicate transaction commit (#10200) 2026-03-25 15:06:01 +08:00
gaoyf 8d451f3334 [ISSUE #10195] Ensure RocksDB compatibility in slave-master synchronization (#10196) 2026-03-24 16:58:17 +08:00
lizhimins e1007439e5 [ISSUE #10181] Some minor fixes in PopConsumerService (#10182) 2026-03-23 11:39:52 +08:00
majialong aea4177655 [ISSUE #10171] Support custom JAVA_HOME on Linux in runbroker.sh and runserver.sh (#10172) 2026-03-21 17:34:39 +08:00
yx9o ebf1595418 [ISSUE #10103] Improve batch polling efficiency in pollIndexRecord method (#10104) 2026-03-17 16:22:28 +08:00
gaoyf 2bc1783f54 [ISSUE #10168] Fix GetAllTopicConfigResponseHeader compatibility issue (#10169) 2026-03-17 15:18:30 +08:00
ChineseTony 34648ed60f [ISSUE #10161] reduce bytes copy in json encode(#10162)
* reduce bytes copy

* reduce bytes copy
2026-03-17 10:33:25 +08:00
yx9o 7c10c7707d [ISSUE #10154] Rename BrokerConsumeStatsSubCommad to BrokerConsumeStatsSubCommand (#10155) 2026-03-17 10:28:42 +08:00
SHI 7742b7c12d [ISSUE #10157] Fix tiered metadata leak after topic delete (#10158)
Co-authored-by: shixiaoxiao <shixiaoxiao@bytedance.com>
2026-03-17 10:15:00 +08:00
sinberCS 70834e3db5 [ISSUE #10009] Convert internal-only public classes to inner classes and add null-check log (#10028)
Change-Id: I9cc200303d3278c2cf763b953dd1ccafff57bcd2
2026-03-13 15:35:40 +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
yx9o 4c9f7a9139 [ISSUE #10159] Fix unstable tests in DefaultMQLitePullConsumerWithTraceTest (#10160) 2026-03-13 14:16:48 +08:00
rongtong 628230d22c [ISSUE #10011] Optimize accelerated recovery process and refactor code (#10012)
* When IndexRocksDBEnable or TransRocksDBEnable are enabled, we need to take these two offsets into account to accelerate recovery.

* Add UTs

* Refactor the code based on the review comments

* Revert "[ISSUE #8127]Optimize the metric calculation logic of the time wheel"

* Remove useless import

* Refactor Code

* Refactor Code

* Refactor Code

* Refactor Code

* Refactor Code

* Implement accelerated recovery for the file-based ConsumeQueue.

* Implement accelerated recovery for the file-based ConsumeQueue.

Change-Id: Ieac45d0582f2f83d977aeb8e6f5084268b7f8752

* Implement accelerated recovery for the file-based ConsumeQueue.

* Ignore testTruncateCQ UT

---------

Co-authored-by: RongtongJin <user@example.com>
2026-02-28 10:30:15 +08:00
mxsm 7030c458ba [ISSUE #10061]Optimize the issue/pull request template of RocketMQ (#10062) 2026-02-27 16:33:21 +08:00
yx9o 330dccc6b4 [ISSUE #10107] Fix fastjson2 integer overflow when parsing AtomicLong (#10112) 2026-02-25 09:29:22 +08:00
yuz10 bd1038aef1 [ISSUE #10110] Plain request process success and response fail when tlsMode=enforcing (#10111) 2026-02-24 13:56:52 +08:00
yuz10 7be720250e [ISSUE #10108] Broker startup fail in recover (#10109) 2026-02-24 13:56:23 +08:00