Commit Graph
329 Commits
Author SHA1 Message Date
f0f15b5e21 [ISSUE #7454] Utilizing cache to avoid duplicate parsing (#7455)
* Utilizing cache to avoid duplicate parsing

* add a method argument to decide cacheable

* Renaming variable names from cacheAble to isCached

---------

Co-authored-by: guyinyou <guyinyou.gyy@alibaba-inc.com>
Co-authored-by: RongtongJin <jinrongtong16@mails.ucas.ac.cn>
2023-10-19 10:14:29 +08:00
Zhouxiang Zhan d73b601382 [ISSUE #7330] Fix channel connect issue for goaway (#7467)
* add waitChannelFuture for goaway

* add body for retry channel
2023-10-16 19:06:40 +08:00
LetLetMe dc62d7f2e1 [ISSUE #7451] Override toString for TopicConfigAndQueueMapping 2023-10-13 13:45:48 +08:00
Zhouxiang Zhan 4acb43ecee [ISSUE #7330] Add goaway and reconnection mechanism (#7331)
* Add shutdown wait for NettyRemotingServer

* Add goaway and reconnection mechanism

* Add client version check

* Add enableTransparentRetry for NettyClientConfig

* Add enableReconnectForGoAway for NettyClientConfig

* fix unit test

* fix client version check
2023-10-10 13:54:01 +08:00
Zhouxiang Zhan b9ffe0f957 [ISSUE #7296] Add ChannelEventListener for MQClientAPIImpl (#7324)
* Add ChannelEventListener for MQClientAPIImpl

* add heartbeat when channel connect

* remove log

* Add enableHeartbeatChannelEventListener for ClientConfig
2023-10-08 16:33:44 +08:00
Zhouxiang Zhan 84156084a4 [ISSUE #7321] Refector NettyRemotingAbstract with unify future implementation (#7322)
* Refector NettyRemotingAbstract

* Add invoke with future method

* Deprecate InvokeCallback#operationComplete

* Add operationSuccess and operationException for InvokeCallback

* fix unit test

* fix unit test

* Keep InvokeCallback#operationComplete

* Optimize invokeAsyncImpl operationComplete

* Add unit test for NettyRemotingClient

* fix checkstyle
2023-10-08 11:13:25 +08:00
lk 73b3fde837 [maven-release-plugin] prepare for next development iteration (#7379) 2023-09-22 10:08:59 +08:00
lk 1a681bdf9b [maven-release-plugin] prepare release rocketmq-all-5.1.4 (#7377) 2023-09-21 19:58:29 +08:00
guyinyou c100d815d7 [ISSUE #7328] Convergent thread pool creation (#7329)
* Convergence thread pool creation to facilitate subsequent iteration management

* Convergence thread pool creation in ThreadPoolMonitor.java

* fix unit test

* Convergence ThreadPool constructor

* Convergence ScheduledThreadPool constructor

* remove unused import

* Convergence ScheduledThreadPool constructor

* remove unused import

---------
2023-09-11 10:13:56 +08:00
PiteXChenandchenyong152 bd0e9c09db [ISSUE #7111] Remove responseFuture from the responseTable when exception occurs (#7112)
* remove responseFuture when exception
* Empty-Commit

---------
Co-authored-by: chenyong152 <chenyong152@midea.com>
2023-08-29 19:39:27 +08:00
Ji Juntao b028277018 [ISSUE #6567] [RIP-63] Queue Selection Strategy Optimization (#6568)
Optimize the proxy's and client's selection strategy for brokers when sending messages, and use multiple selection strategies as a pipeline to filter suitable queues.
2023-08-29 16:13:38 +08:00
ShuangxiDing 9f34f55e1d [ISSUE #7226] Filter tlvs in ppv2 which contents not are spec-compliant ASCII characters and space (#7227)
Filter tlvs in ppv2 which not are spec-compliant ASCII characters and space
2023-08-29 15:48:46 +08:00
yao-wenbin 05e7cde610 [ISSUE #7042] maven-compile job failed, Because TlsTest's serverRejectsSSLClient test case will throw TooLongFrameException (#7179) 2023-08-18 09:49:59 +08:00
Jixiang Jin 50d1050437 To config the cardinalityLimit for openTelemetry metrics exporting and fix logging config for metrics (#7196) 2023-08-16 21:15:00 +08:00
redlsz 55e0cdb2af fix: IndexOutOfBoundsException when process pop response (#7003) 2023-08-15 19:19:45 +08:00
fujian-zfjandLi Zhanhui 3a6ef0400c [ISSUE #7064] [RIP-66-1] Support KV(RocksDB) Storage for Metadata (#7092)
* typo int readme[ecosystem]

* rocksdb metadata

* add unit test

* fix testOffsetPersistInMemory

* fix unit test

* fix unit test

* remove unused import

* move RocksDBOffsetSerialize to broker moudle

* Fix bazel build scripts

Signed-off-by: Li Zhanhui <lizhanhui@gmail.com>

* Flag QueryMsgByKeyIT as flaky as it fails at frequency: 5 out of 32

Signed-off-by: Li Zhanhui <lizhanhui@gmail.com>

* change public to private of some inner method

---------

Signed-off-by: Li Zhanhui <lizhanhui@gmail.com>
Co-authored-by: Li Zhanhui <lizhanhui@gmail.com>
2023-08-05 00:32:11 +08:00
koado 1fe5d62334 [ISSUE #7074] Allow a BoundaryType to be specified when retrieving offset based on the timestamp (#7082)
* add new interface for searching offset with boundary type

* format code

* fix failed test

* unify two BoundaryType class

* add interface getOffsetInQueueByTime(long timestamp, BoundaryType boundaryTYpe) in ConsumeQueueInterface

* fix AdminBrokerProcessorTest unnecessary Mockito stubbings
2023-08-03 11:40:16 +08:00
Vincent Lee d797377880 [ISSUE #7056] Avoid close success channel if invokeSync most time cost on get connection for channel (#7057)
* fix: avoid close success channel if invokeSync most time cost on get channel

Change-Id: I29741cf55ac6333bfa30fef755357b78a22b1325

* fix: ci style

Change-Id: I8c9b86e9cb6f1463bf213e64c9b8c139afa794c8
2023-07-27 10:51:51 +08:00
gaoyf ebad3c8a6b [ISSUE #7047] NettyRemotingClient#invokeOneway throw Exception with address 2023-07-20 10:59:40 +08:00
ShuangxiDingand徒钟 70a66eda2c Fix LEAK: HAProxyMessage.release() was not called before it's garbage-collected (#7025)
Call HAProxyMessage.release() after reading it.

---------

Co-authored-by: 徒钟 <shuangxi.dsx@alibaba-inc.com>
2023-07-14 16:46:40 +08:00
ShuangxiDingand徒钟 b4496be687 [ISSUE #7010] Fix the HandshakeHandler returns when detect haproxy version need more data (#7011)
* Support dynamic modification of grpc tls mode to improve the scalability of ProtocolNegotiator

* Support dynamic modification of grpc tls mode to improve the scalability of ProtocolNegotiator

* [ISSUE #6866] Move the judgment logic of grpc TLS mode to improve the scalability of ProtocolNegotiator

* [ISSUE #6866] Move the judgment logic of grpc TLS mode to improve the scalability of ProtocolNegotiator

* [ISSUE #6866] Move the judgment logic of grpc TLS mode to improve the scalability of ProtocolNegotiator

* [ISSUE #6866] Move the judgment logic of grpc TLS mode to improve the scalability of ProtocolNegotiator

* Support proxy protocol for gRPC server.

* Support proxy protocol for gRPC server.

* Support proxy protocol for gRPC server.

* Support proxy protocol for gRPC server.

* Support proxy protocol for gRPC server.

* Support proxy protocol for gRPC and Remoting server.

* 回滚netty的升级

* Support proxy protocol for gRPC and Remoting server.

* Support proxy protocol for gRPC and Remoting server.

* Support proxy protocol for gRPC and Remoting server.

* add grpc-netty-codec-haproxy in bazel

* add grpc-netty-codec-haproxy in bazel

* Support proxy protocol for gRPC and Remoting server.

* Fix Test

* add grpc-netty-codec-haproxy in bazel

* add ProxyProtocolTest for Remoting

* Move AttributeKey from RemotingHelper to AttributeKey.

* Fix the needs more data for HandshakeHandler.

* Fix the needs more data for HandshakeHandler.

* Fix the needs more data for HandshakeHandler.

* Fix the needs more data for HandshakeHandler.

---------

Co-authored-by: 徒钟 <shuangxi.dsx@alibaba-inc.com>
2023-07-11 19:09:09 +08:00
rongtong 58550f074e [ISSUE #7008] Fix the issue of protocol parsing failure when using haproxy and tls together (#7009) 2023-07-10 14:13:18 +08:00
ShuangxiDing 00fc42b8be [ISSUE #6957] Support Proxy Protocol for gRPC and Remoting Server (#6958) 2023-07-04 18:02:16 +08:00
lk bbbe737e4e [ISSUE #6964] use the correct context in telemetry; polish the code structure (#6965) 2023-06-29 15:27:30 +08:00
rongtong e369d7deac [maven-release-plugin] prepare for next development iteration (#6939) 2023-06-24 14:31:42 +08:00
rongtong f7425f52f9 [maven-release-plugin] prepare release rocketmq-all-5.1.3 (#6938) 2023-06-24 12:23:11 +08:00
Quan 6238caaac9 [ISSUE #6841] new feature: pop batch ack implementation broker-side (#6842) 2023-06-19 11:06:50 +08:00
Drizzle 3dda55e812 [RIP-64] Heartbeat Optimization (#6724) 2023-06-14 15:00:24 +08:00
Zhouxiang Zhan aaa4a4b5fc Add attribute for SubscriptionGroupConfig (#6891) 2023-06-14 11:46:46 +08:00
imzsandmoling 4291971c03 [ISSUE #5866] fix client-side memory leak of inactive channel (#5867)
* fix #5866 Client-side memory leak of inactive channel

* also accept RemotingSendRequestException when NettyRemotingAbstract#failFast invoked.

---------

Co-authored-by: moling <zhangshuo.zs@alibaba-inc.com>
2023-06-13 16:47:10 +08:00
rongtong ad4cc957fb [maven-release-plugin] prepare for next development iteration (#6895) 2023-06-12 19:12:25 +08:00
rongtong 749967baa8 [maven-release-plugin] prepare release rocketmq-all-5.1.2 (#6892) 2023-06-12 17:44:39 +08:00
Drizzle bee5077bcb [ISSUE #6336] [RIP-62] Cold Read Control (#6507) 2023-06-05 17:09:31 +08:00
lk 9dfd4a9599 [ISSUE #6761] Support reentrant notification orderly for broker (#6762) 2023-05-16 11:32:11 +08:00
rongtong 8aea26ef8f [maven-release-plugin] prepare for next development iteration 2023-05-15 19:48:34 +08:00
rongtong e244ebb99a [maven-release-plugin] prepare release rocketmq-all-5.1.1 (#6763) 2023-05-15 18:51:01 +08:00
rongtong f1b411cecc Remove filter server module (#6749)
* Remove filter server module

* Pass the check style

* Remove filterServerNum config

* Remove more related code
2023-05-15 14:04:01 +08:00
Zhouxiang Zhan 0a329ba627 [ISSUE #6699] Make NotificationProcessor use PopLongPollingService (#6700)
* Refector PopLongPollingService

* Use enum PollingResult to replace int value
* Move PopLongPollingService to upper level
* Move wakeUp and polling method into PopLongPollingService

* NotificationProcessor use PopLongPollingService

* Add BORN_TIME check

* add NotificationIT
2023-05-08 11:49:02 +08:00
lk 57642bc630 [ISSUE #6691] Support reentrant pop orderly for broker (#6692) 2023-05-05 15:06:11 +08:00
Zhouxiang Zhan 23a8ed490f [ISSUE #6644] Add admin client future interface (#6646)
* [ISSUE #6644] Add admin client future interface

* add unit test

* Change exception to throwable

* Add interface for MqClientAdmin
2023-04-28 17:34:16 +08:00
lyx d34a28bb31 [ISSUE #6513] fix(proxy): enhance ProxyContext (#6522)
* feat(proxy): improve proxy context

Signed-off-by: lyx <1419360299@qq.com>

* fix(proxy): rollback to fullname for compatibility

Signed-off-by: lyx2000 <1419360299@qq.com>

* fix(proxy): use simple_rpc_name add to ProxyContext action

Signed-off-by: lyx <1419360299@qq.com>

* fix(proxy): improve naming

Signed-off-by: lyx <1419360299@qq.com>

---------

Signed-off-by: lyx <1419360299@qq.com>
Signed-off-by: lyx2000 <1419360299@qq.com>
2023-04-13 19:59:06 +08:00
Lin ZiHaoand林子豪 8b5853d0c3 [ISSUE #6263] use true address from channel
Co-authored-by: 林子豪 <zihao.lin@shopcider.com>
2023-03-28 10:43:20 +08:00
Ji JuntaoandLi Zhanhui 1818c2d507 [ISSUE #4890] BugFix: fix binary search consume offset by time (#6429)
* BugFix: fix binary search consume offset by time

* polish codes.

* modify the test case: when timestamp is skewing, only find lower bound.

* modify the test case: when timestamp is skewing, only find lower bound.

* modify the test case: when timestamp is skewing, only find lower bound.

---------

Co-authored-by: Li Zhanhui <shutian.lzh@alibaba-inc.com>
2023-03-24 10:15:41 +08:00
Ruantihong c5fec3af41 [ISSUE #6402]opt transaction message check (#6401)
* If you specify a custom first check time CheckImmunityTimeInSeconds,And the commit/rollback request whose validity period exceeds CheckImmunityTimeInSeconds and is not checked back will be processed and failed

* remove useless code

* update transactionCheckInterval default to be 30s
2023-03-21 13:40:34 +08:00
Ji Juntao cafc9ac3de [ISSUE #6421] Fix the encode bug. 2023-03-21 13:38:00 +08:00
Ji Juntao f1e02e8947 [ISSUE #6392] GetSyncStateSet prints replica's alive status (#6393)
* print replica's alive status

* refactor

* rename getIsAlive-getAlive and setIsAlive-setAlive.
2023-03-20 13:53:07 +08:00
Ji Juntao 63a014b810 [ISSUE#6342] Local SyncStatSet sync to remote value when changeToMaster (#6352)
* fix ISSUE#6342

* refactor

* correct the syncStateSet in elect process.

* move syncStateSet into request/response's body.

* optimize the broker electing switch's branch.
2023-03-16 11:48:04 +08:00
mxsm 22a7ec6b63 [ISSUE #6333] Simplify the logic of the FilterAPI#buildSubscriptionData method (#6334) 2023-03-14 11:23:51 +08:00
TheR1sing3un c94c65b691 fix(admin): fix incompatible command: CleanBrokerMeta
1. fix incompatible command: CleanBrokerMeta
2023-03-14 09:40:15 +08:00
RongtongJin 28618e95ab Polish the code structure and code style 2023-03-14 09:40:15 +08:00