Code Monkey home page Code Monkey logo

automq-for-rocketmq's Introduction

AutoMQ: A Cloud-Native fork of Kafka by separating storage to S3

GitHub release (with filter) Twitter URL


🍵 AutoMQ vs Other Streaming Platforms

Feature AutoMQ Apache Kafka Confluent Apache Pulsar Redpanda Warpstream
Apache Kafka Compatibility[1] Native Kafka Non-Kafka Kafka Protocol
Source Code Availability Yes Yes No Yes Yes No
Stateless Broker Yes No No Yes No Yes
P99 Latency Single-digit ms latency > 1200ms
Continuous Self-Balancing Yes No Yes Yes Yes Yes
Scale in/out In seconds In hours/days In hours In hours
(scale-in);
In seconds
(scale-out)
In hours
In seconds (Enterprise Only)
In seconds
Spot Instance Support Yes No No No No Yes
Partition Reassignment In seconds In hours/days In hours In seconds In hours
In seconds (Enterprise Only)
In seconds
Component Broker Broker
Zookeeper
(Non-KRaft)
Broker
Zookeeper
Bookkeeper
Proxy(Optional)
Broker Agent
MetadataServer
Durability Guaranteed by S3/EBS[2] Guaranteed by ISR Guaranteed by Bookkeeper Guaranteed by Raft Guaranteed by S3
Inter-AZ Networking Fees No Yes No

[1] Apache Kafka Compatibility's definition is coming from this blog.

[2] EBS Durability: On Azure, GCP, and Alibaba Cloud, Regional EBS replicas span multiple AZs. On AWS, ensure durability by double writing to EBS and S3 Express One Zone in different AZs.

🔶 Why AutoMQ

  • Cost effective: The first true cloud-native streaming storage system, designed for optimal cost and efficiency on the cloud. Refer to this report to see how we cut Apache Kafka billing by 90% on the cloud.
  • High Reliability: Leverage cloud-shared storage services(EBS and S3) to achieve zero RPO, RTO in seconds and 99.999999999% durability.
  • Serverless:
    • Auto Scaling: Monitor cluster metrics and automatically scale in/out to align with your workload, enabling a pay-as-you-go model.
    • Scaling in seconds: The computing layer (broker) is stateless and can scale in/out within seconds, making AutoMQ a truly serverless solution.
    • Infinite scalable: Utilize cloud object storage as the primary storage solution, eliminating concerns about storage capacity.
  • Manage-less: The built-in auto-balancer component automatically schedules partitions and network traffic between brokers, eliminating manual partition reassignment.
  • High performance:
    • Low latency: Accelerate writing with high-performance EBS as WAL, achieving single-digit millisecond latency.
    • High throughput: Leverage pre-fetching, batch processing, and parallel technologies to maximize the capabilities of cloud object storage.

    Refer to the AutoMQ Performance White Paper to see how we achieve this.

  • A superior alternative to Apache Kafka: 100% compatible with Apache Kafka and does not lose any key features, but cheaper and better.

✨Architecture

image

AutoMQ adopts a Shared-Storage architecture, replacing the storage layer of Apache Kafka with a shared streaming storage library called S3Stream in a storage-compute separation manner, making the Broker completely stateless.

Compared to the classic Kafka Shared-Nothing or Tiered-Storage architectures, AutoMQ's computing layer (Broker) is truly stateless, enabling features such as Auto-Scaling, Self-Balancing, and Partition Reassignment in Seconds that significantly reduce costs and improve efficiency.

⛄ Get started with AutoMQ

Deploy Locally on a Single Host

curl https://download.automq.com/community_edition/standalone_deployment/install_run.sh | bash

The easiest way to run AutoMQ. You can experience features like Partition Reassignment in Seconds and Continuous Self-Balancing in your local machine. Learn more

There are more deployment options available:

💬 Community

You can join the following groups or channels to discuss or ask questions about AutoMQ:

👥 How to contribute

If you've found a problem with AutoMQ, please open a GitHub Issues. To contribute to AutoMQ please see Code of Conduct and Contributing Guide. We have a list of good first issues that help you to get started, gain experience, and get familiar with our contribution process. To claim one, simply reply with 'pick up' in the issue and the AutoMQ maintainers will assign the issue to you. If you have any questions about the 'good first issue' please feel free to ask. We will do our best to clarify any doubts you may have.

⭐ License

AutoMQ is released under Business Source License 1.1. When contributing to AutoMQ, you can find the relevant license header in each file.

🙋 Contact Us

Want to learn more, Talk with our product experts.

automq-for-rocketmq's People

Contributors

amos201600 avatar chillax-0v0 avatar daniel-y avatar kaimingwan avatar leizhiyuan avatar lifepuzzlefun avatar lifepuzzlefun1 avatar lizhanhui avatar mooc9988 avatar scnieh avatar shadowyspirits avatar superhx avatar ther1sing3un avatar wangxye avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

automq-for-rocketmq's Issues

Connection leak detection triggered for ibatis

2023-10-10 14:17:37 WARN HikariPool-1 housekeeper - Connection leak detection triggered for com.mysql.cj.jdbc.ConnectionImpl@1e812b22 on thread Controller_5, stack trace follows
java.lang.Exception: Apparent connection leak detected
at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:100)
at org.apache.ibatis.transaction.jdbc.JdbcTransaction.openConnection(JdbcTransaction.java:145)
at org.apache.ibatis.transaction.jdbc.JdbcTransaction.getConnection(JdbcTransaction.java:67)
at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:345)
at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89)
at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64)
at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:333)
at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158)
at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110)
at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:90)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:75)
at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:87)
at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:142)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86)
at jdk.proxy2/jdk.proxy2.$Proxy7.current(Unknown Source)
at com.automq.rocketmq.controller.metadata.database.tasks.LeaseTask.run(LeaseTask.java:43)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
2023-10-10 14:17:37 WARN HikariPool-1 housekeeper - Connection leak detection triggered for com.mysql.cj.jdbc.ConnectionImpl@2d8f4e6a on thread Controller_2, stack trace follows
java.lang.Exception: Apparent connection leak detected
at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:100)
at org.apache.ibatis.transaction.jdbc.JdbcTransaction.openConnection(JdbcTransaction.java:145)
at org.apache.ibatis.transaction.jdbc.JdbcTransaction.getConnection(JdbcTransaction.java:67)
at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:345)
at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:89)
at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:64)
at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:333)
at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:158)
at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:110)
at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:90)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:75)
at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:87)
at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:142)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86)
at jdk.proxy2/jdk.proxy2.$Proxy7.currentWithShareLock(Unknown Source)
at com.automq.rocketmq.controller.metadata.database.DefaultMetadataStore.maintainLeadershipWithSharedLock(DefaultMetadataStore.java:284)
at com.automq.rocketmq.controller.metadata.database.tasks.SchedulerTask.run(SchedulerTask.java:49)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)

Can not reopen stream

2023-10-10 14:55:04 INFO Controller-Async_9 - Create and open topic: 1 queue: 0
2023-10-10 14:55:04 ERROR Controller-Async_0 - openStream run with unexpected exception
org.apache.ibatis.exceptions.PersistenceException: 
### Error updating database.  Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '1-0' for key 'range.idx_stream_start_offset'
### The error may exist in database/mapper/RangeMapper.xml
### The error may involve com.automq.rocketmq.controller.metadata.database.mapper.RangeMapper.create-Inline
### The error occurred while setting parameters
### SQL: INSERT INTO `range` (range_id, stream_id, epoch, start_offset, end_offset, broker_id)         VALUES (             ?,             ?,             ?,             ?,             ?,             ?         )
### Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '1-0' for key 'range.idx_stream_start_offset'
	at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)
	at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:199)
	at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:184)
	at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:62)
	at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:142)
	at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86)
	at jdk.proxy2/jdk.proxy2.$Proxy15.create(Unknown Source)
	at com.automq.rocketmq.controller.metadata.database.DefaultMetadataStore.openStream(DefaultMetadataStore.java:1223)
	at com.automq.rocketmq.metadata.DefaultStoreMetadataService.openStream(DefaultStoreMetadataService.java:156)
	at com.automq.rocketmq.store.S3StreamManager.openStream(S3StreamManager.java:50)
	at com.automq.stream.s3.S3StreamClient.openStream0(S3StreamClient.java:106)
	at com.automq.stream.s3.S3StreamClient.lambda$openStream$2(S3StreamClient.java:78)
	at com.automq.stream.utils.FutureUtil.exec(FutureUtil.java:60)
	at com.automq.stream.s3.S3StreamClient.openStream(S3StreamClient.java:78)
	at com.automq.rocketmq.store.S3StreamStore.open(S3StreamStore.java:143)
	at com.automq.rocketmq.store.StreamTopicQueue.lambda$open$0(StreamTopicQueue.java:88)
	at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1150)
	at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run$$$capture(CompletableFuture.java:1773)
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
	at java.base/java.lang.Thread.run(Thread.java:1589)
Caused by: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '1-0' for key 'range.idx_stream_start_offset'
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:118)
	at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
	at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:916)
	at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354)
	at com.zaxxer.hikari.pool.ProxyPreparedStatement.execute(ProxyPreparedStatement.java:44)
	at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.execute(HikariProxyPreparedStatement.java)
	at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:48)
	at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:75)
	at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:50)
	at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117)
	at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76)
	at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:197)
	... 21 common frames omitted

Couldn't open retry stream when starting simple consumer

2023-10-10 13:25:41 ERROR Controller-Async_7 - Failed to open stream 5
java.util.concurrent.CompletionException: com.automq.rocketmq.controller.exception.ControllerException: Stream[stream-id=5] is not found
at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:332)
at java.base/java.util.concurrent.CompletableFuture.uniApplyNow(CompletableFuture.java:674)
at java.base/java.util.concurrent.CompletableFuture.uniApplyStage(CompletableFuture.java:662)
at java.base/java.util.concurrent.CompletableFuture.thenApply(CompletableFuture.java:2168)
at com.automq.rocketmq.store.S3StreamManager.openStream(S3StreamManager.java:50)
at com.automq.stream.s3.S3StreamClient.openStream0(S3StreamClient.java:106)
at com.automq.stream.s3.S3StreamClient.lambda$openStream$2(S3StreamClient.java:78)
at com.automq.stream.utils.FutureUtil.exec(FutureUtil.java:60)
at com.automq.stream.s3.S3StreamClient.openStream(S3StreamClient.java:78)
at com.automq.rocketmq.store.S3StreamStore.open(S3StreamStore.java:143)
at com.automq.rocketmq.store.StreamTopicQueue.lambda$retryStreamId$12(StreamTopicQueue.java:162)
at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1150)
at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1773)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: com.automq.rocketmq.controller.exception.ControllerException: Stream[stream-id=5] is not found
at com.automq.rocketmq.controller.metadata.database.DefaultMetadataStore.openStream(DefaultMetadataStore.java:1122)
at com.automq.rocketmq.metadata.DefaultStoreMetadataService.openStream(DefaultStoreMetadataService.java:156)
... 13 common frames omitted

StoreMetadataService#retryStreamOf retruns an invalid stream id

The stream retrieved from StoreMetadataService#retryStreamOf can not be opened.

2023-10-10 14:39:13 ERROR Controller-Async_5 - Failed to open stream 17
java.util.concurrent.CompletionException: com.automq.rocketmq.controller.exception.ControllerException: Stream[stream-id=17] is not found
	at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:332)
	at java.base/java.util.concurrent.CompletableFuture.uniApplyNow(CompletableFuture.java:674)
	at java.base/java.util.concurrent.CompletableFuture.uniApplyStage(CompletableFuture.java:662)
	at java.base/java.util.concurrent.CompletableFuture.thenApply(CompletableFuture.java:2200)
	at com.automq.rocketmq.store.S3StreamManager.openStream(S3StreamManager.java:50)
	at com.automq.stream.s3.S3StreamClient.openStream0(S3StreamClient.java:106)
	at com.automq.stream.s3.S3StreamClient.lambda$openStream$2(S3StreamClient.java:78)
	at com.automq.stream.utils.FutureUtil.exec(FutureUtil.java:60)
	at com.automq.stream.s3.S3StreamClient.openStream(S3StreamClient.java:78)
	at com.automq.rocketmq.store.S3StreamStore.open(S3StreamStore.java:143)
	at com.automq.rocketmq.store.StreamTopicQueue.lambda$retryStreamId$12(StreamTopicQueue.java:162)
	at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1150)
	at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run$$$capture(CompletableFuture.java:1773)
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
	at java.base/java.lang.Thread.run(Thread.java:1589)
Caused by: com.automq.rocketmq.controller.exception.ControllerException: Stream[stream-id=17] is not found
	at com.automq.rocketmq.controller.metadata.database.DefaultMetadataStore.openStream(DefaultMetadataStore.java:1122)
	at com.automq.rocketmq.metadata.DefaultStoreMetadataService.openStream(DefaultStoreMetadataService.java:156)
	... 14 common frames omitted

Create topic queue failed when recover from crash

2023-10-10 20:42:01 INFO Controller-Async_2 - Create and open topic: 1 queue: 0
2023-10-10 20:42:01 ERROR Controller-Async_4 - [BUG] fail to read, expect objects not empty, streamId=2, startOffset=0, endOffset=10
2023-10-10 20:42:01 ERROR Controller-Async_4 - Create topic: 1 queue: 0 failed.
java.util.concurrent.CompletionException: java.lang.IllegalStateException: fail to read, expect objects not empty
	at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315)
	at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320)
	at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:649)
	at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run$$$capture(CompletableFuture.java:1773)
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
	at java.base/java.lang.Thread.run(Thread.java:1589)
Caused by: java.lang.IllegalStateException: fail to read, expect objects not empty
	at com.automq.stream.s3.cache.DefaultS3BlockCache.lambda$readFromS3$8(DefaultS3BlockCache.java:143)
	at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:646)
	... 6 common frames omitted
2023-10-10 20:42:01 ERROR Controller-Async_4 - read 2 [0, 10) from block cache fail
java.util.concurrent.CompletionException: java.lang.IllegalStateException: fail to read, expect objects not empty
	at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315)
	at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320)
	at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:649)
	at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run$$$capture(CompletableFuture.java:1773)
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
	at java.base/java.lang.Thread.run(Thread.java:1589)
Caused by: java.lang.IllegalStateException: fail to read, expect objects not empty
	at com.automq.stream.s3.cache.DefaultS3BlockCache.lambda$readFromS3$8(DefaultS3BlockCache.java:143)
	at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:646)
	... 6 common frames omitted

List S3 objects in atomic way

CompletableFuture<List<S3StreamObject>> streamObjectsFuture = metadataStore.listStreamObjects(streamId, startOffset, endOffset, limit);
CompletableFuture<List<S3WALObject>> walObjectsFuture = metadataStore.listWALObjects(streamId, startOffset, endOffset, limit);

return CompletableFuture.allOf(streamObjectsFuture, walObjectsFuture)
    .thenApplyAsync(v -> new Pair<>(streamObjectsFuture.join(), walObjectsFuture.join()));

Currently, we need two function calls to achieve a list s3 objects with two types.

UnsupportedOperationException thrown when getObjects from meta

2023-10-10 15:59:31 ERROR Controller-Async_7 - read 1 [0, 20) from block cache fail
java.util.concurrent.CompletionException: java.lang.UnsupportedOperationException
at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315)
at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320)
at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:649)
at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1773)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.UnsupportedOperationException: null
at java.base/java.util.ImmutableCollections.uoe(ImmutableCollections.java:142)
at java.base/java.util.ImmutableCollections$AbstractImmutableList.sort(ImmutableCollections.java:261)
at com.automq.rocketmq.store.S3ObjectManager.lambda$getObjects$7(S3ObjectManager.java:151)
at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:646)
... 5 common frames omitted

Commmit WAL object falied

2023-10-10 13:31:29 INFO sdk-async-response-0-25 - Commit WAL object: object_id: -1
sequence_id: -1
, along with split stream objects: [stream_id: 1
start_offset: 7130
end_offset: 9683
object_id: 2
object_size: 104962087
], compacted objects: []
2023-10-10 13:31:29 WARN sdk-async-response-0-25 - Stream[stream-id=1]'s current range[range-id=0]'s end offset[0] is not equal to request start offset[7130]
2023-10-10 13:31:29 ERROR sdk-async-response-0-25 - S3WALObject[object-id=-1]'s stream advance check failed
2023-10-10 13:31:29 ERROR sdk-async-response-0-25 - Unexpected exception when commit WAL object
java.util.concurrent.CompletionException: com.automq.rocketmq.controller.exception.ControllerException: S3WALObject[object-id=-1]'s stream advance check failed
at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:332)
at java.base/java.util.concurrent.CompletableFuture.uniApplyNow(CompletableFuture.java:674)
at java.base/java.util.concurrent.CompletableFuture.uniApplyStage(CompletableFuture.java:662)
at java.base/java.util.concurrent.CompletableFuture.thenApply(CompletableFuture.java:2168)
at com.automq.rocketmq.store.S3ObjectManager.commitWALObject(S3ObjectManager.java:101)
at com.automq.stream.s3.WALObjectUploadTask.lambda$commit$8(WALObjectUploadTask.java:142)
at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1150)
at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2147)
at com.automq.stream.s3.WALObjectUploadTask.lambda$upload0$5(WALObjectUploadTask.java:134)
at java.base/java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:718)
at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2147)
at com.automq.stream.s3.operator.DefaultS3Operator$DefaultWriter.lambda$close0$11(DefaultS3Operator.java:424)
at java.base/java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:718)
at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2147)
at software.amazon.awssdk.core.internal.http.pipeline.stages.AsyncApiCallMetricCollectionStage.lambda$execute$0(AsyncApiCallMetricCollectionStage.java:56)
at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863)
at java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841)
at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2147)
at software.amazon.awssdk.core.internal.http.pipeline.stages.AsyncApiCallTimeoutTrackingStage.lambda$execute$2(AsyncApiCallTimeoutTrackingStage.java:69)
at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863)
at java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841)
at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2147)
at software.amazon.awssdk.core.internal.http.pipeline.stages.AsyncRetryableStage$RetryingExecutor.lambda$attemptExecute$1(AsyncRetryableStage.java:177)
at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863)
at java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841)
at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2147)
at software.amazon.awssdk.core.internal.http.pipeline.stages.MakeAsyncHttpRequestStage.lambda$null$0(MakeAsyncHttpRequestStage.java:105)
at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863)
at java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841)
at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2147)
at software.amazon.awssdk.core.internal.http.pipeline.stages.MakeAsyncHttpRequestStage.completeResponseFuture(MakeAsyncHttpRequestStage.java:238)
at software.amazon.awssdk.core.internal.http.pipeline.stages.MakeAsyncHttpRequestStage.lambda$executeHttpRequest$3(MakeAsyncHttpRequestStage.java:163)
at java.base/java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:934)
at java.base/java.util.concurrent.CompletableFuture$UniHandle.tryFire(CompletableFuture.java:911)
at java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: com.automq.rocketmq.controller.exception.ControllerException: S3WALObject[object-id=-1]'s stream advance check failed
at com.automq.rocketmq.controller.metadata.database.DefaultMetadataStore.commitWalObject(DefaultMetadataStore.java:1458)
at com.automq.rocketmq.metadata.DefaultStoreMetadataService.commitWalObject(DefaultStoreMetadataService.java:177)
... 41 common frames omitted

Recover records issue with restart broker

2023-10-08 14:27:54 INFO main - S3Storage starting
2023-10-08 14:27:54 INFO main - start to recover from ungraceful shutdown, recoverStartOffset: 2147495936, recoverRemainingBytes: 1073733632
2023-10-08 14:27:55 INFO main - recovered from ungraceful shutdown, WALHeader: WALHeader{magicCode=305419896, capacity=1073741824, trimOffset=1073737728, lastWriteTimestamp=157874965472250, nextWriteOffset=3221229568, slidingWindowStartOffset=3221229568, slidingWindowMaxLength=1048576, shutdownType=UNGRACEFULLY, crc=1629916851}
2023-10-08 14:27:55 INFO main - block WAL service started, cost: 769 ms
2023-10-08 14:27:56 INFO main - try recover from crash, recover records bytes size 1880
2023-10-08 14:27:56 INFO sdk-async-response-0-0 - Commit WAL object: object_id: -1
sequence_id: -1
, along with split stream objects: [stream_id: 1
end_offset: 5
object_id: 2
object_size: 2139
], compacted objects: []
2023-10-08 14:27:56 ERROR sdk-async-response-0-0 - Unexpected exception when commit WAL object
java.util.concurrent.CompletionException: java.lang.NullPointerException: Cannot invoke "com.automq.rocketmq.controller.metadata.database.dao.S3Object.getState()" because "s3Object" is null
	at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315)
	at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320)
	at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1159)
	at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
	at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2179)
	at com.automq.stream.s3.WALObjectUploadTask.lambda$upload0$5(WALObjectUploadTask.java:134)
	at java.base/java.util.concurrent.CompletableFuture$UniAccept.tryFire$$$capture(CompletableFuture.java:718)
	at java.base/java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java)
	at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
	at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2179)
	at com.automq.stream.s3.operator.DefaultS3Operator$DefaultWriter.lambda$close0$11(DefaultS3Operator.java:425)
	at java.base/java.util.concurrent.CompletableFuture$UniAccept.tryFire$$$capture(CompletableFuture.java:718)
	at java.base/java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java)
	at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
	at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2179)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.AsyncApiCallMetricCollectionStage.lambda$execute$0(AsyncApiCallMetricCollectionStage.java:56)
	at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863)
	at java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841)
	at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
	at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2179)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.AsyncApiCallTimeoutTrackingStage.lambda$execute$2(AsyncApiCallTimeoutTrackingStage.java:69)
	at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863)
	at java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841)
	at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
	at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2179)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.AsyncRetryableStage$RetryingExecutor.lambda$attemptExecute$1(AsyncRetryableStage.java:177)
	at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863)
	at java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841)
	at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
	at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2179)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.MakeAsyncHttpRequestStage.lambda$null$0(MakeAsyncHttpRequestStage.java:105)
	at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863)
	at java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841)
	at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
	at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2179)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.MakeAsyncHttpRequestStage.completeResponseFuture(MakeAsyncHttpRequestStage.java:238)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.MakeAsyncHttpRequestStage.lambda$executeHttpRequest$3(MakeAsyncHttpRequestStage.java:163)
	at java.base/java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:934)
	at java.base/java.util.concurrent.CompletableFuture$UniHandle.tryFire(CompletableFuture.java:911)
	at java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
	at java.base/java.lang.Thread.run(Thread.java:1589)

Replay ack and changeInvisibleDuration operation failed

2023-10-10 21:31:18 ERROR s3-storage-main - [DefaultStateMachine-1-0]: Replay ack operation failed
com.automq.rocketmq.store.exception.StoreException: Ack operation failed, check point not found
        at com.automq.rocketmq.store.DefaultMessageStateMachine.replayAckOperation(DefaultMessageStateMachine.java:289)
        at com.automq.rocketmq.store.service.StreamOperationLogService.replay(StreamOperationLogService.java:166)
        at com.automq.rocketmq.store.service.StreamOperationLogService.doReplay(StreamOperationLogService.java:148)
        at com.automq.rocketmq.store.service.StreamOperationLogService.lambda$logAckOperation$5(StreamOperationLogService.java:113)
        at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:646)
        at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
        at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2147)
        at com.automq.stream.s3.S3Storage.handleAppendCallback0(S3Storage.java:313)
        at com.automq.stream.s3.S3Storage.lambda$handleAppendCallback$13(S3Storage.java:301)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
        at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:264)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java)
        at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
        at java.base/java.lang.Thread.run(Thread.java:833)
2023-10-10 21:31:22 ERROR s3-storage-main - [DefaultStateMachine-1-0]: Replay ack operation failed
com.automq.rocketmq.store.exception.StoreException: Ack operation failed, check point not found
        at com.automq.rocketmq.store.DefaultMessageStateMachine.replayAckOperation(DefaultMessageStateMachine.java:289)
        at com.automq.rocketmq.store.service.StreamOperationLogService.replay(StreamOperationLogService.java:166)
        at com.automq.rocketmq.store.service.StreamOperationLogService.doReplay(StreamOperationLogService.java:148)
        at com.automq.rocketmq.store.service.StreamOperationLogService.lambda$logAckOperation$5(StreamOperationLogService.java:113)
        at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:646)
        at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
        at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2147)
        at com.automq.stream.s3.S3Storage.handleAppendCallback0(S3Storage.java:313)
        at com.automq.stream.s3.S3Storage.lambda$handleAppendCallback$13(S3Storage.java:301)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
        at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:264)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java)
        at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
        at java.base/java.lang.Thread.run(Thread.java:833)
2023-10-10 21:32:10 ERROR s3-storage-main - [DefaultStateMachine-1-0]: Replay ack operation failed
com.automq.rocketmq.store.exception.StoreException: Ack operation failed, check point not found
        at com.automq.rocketmq.store.DefaultMessageStateMachine.replayAckOperation(DefaultMessageStateMachine.java:289)
        at com.automq.rocketmq.store.service.StreamOperationLogService.replay(StreamOperationLogService.java:166)
        at com.automq.rocketmq.store.service.StreamOperationLogService.doReplay(StreamOperationLogService.java:148)
        at com.automq.rocketmq.store.service.StreamOperationLogService.lambda$logAckOperation$5(StreamOperationLogService.java:113)
        at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:646)
        at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
        at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2147)
        at com.automq.stream.s3.S3Storage.handleAppendCallback0(S3Storage.java:313)
        at com.automq.stream.s3.S3Storage.lambda$handleAppendCallback$13(S3Storage.java:301)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
        at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:264)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java)
        at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
        at java.base/java.lang.Thread.run(Thread.java:833)

Failed to revive message when rebooting server ungracefully

2023-10-10 21:12:46 ERROR ReviveService - [ReviveService]: Failed to revive message
com.automq.rocketmq.store.exception.StoreException: Not found check point
        at com.automq.rocketmq.store.service.ReviveService.lambda$tryRevive$0(ReviveService.java:121)
        at com.automq.rocketmq.store.service.RocksDBKVService.iterate(RocksDBKVService.java:245)
        at com.automq.rocketmq.store.service.api.KVService.iterate(KVService.java:74)
        at com.automq.rocketmq.store.service.ReviveService.tryRevive(ReviveService.java:109)
        at com.automq.rocketmq.store.service.ReviveService.run(ReviveService.java:93)
        at java.base/java.lang.Thread.run(Thread.java:833)
2023-10-10 21:12:46 ERROR ReviveService - [ReviveService]: Failed to revive message
com.automq.rocketmq.store.exception.StoreException: Not found check point
        at com.automq.rocketmq.store.service.ReviveService.lambda$tryRevive$0(ReviveService.java:121)
        at com.automq.rocketmq.store.service.RocksDBKVService.iterate(RocksDBKVService.java:245)
        at com.automq.rocketmq.store.service.api.KVService.iterate(KVService.java:74)
        at com.automq.rocketmq.store.service.ReviveService.tryRevive(ReviveService.java:109)
        at com.automq.rocketmq.store.service.ReviveService.run(ReviveService.java:93)
        at java.base/java.lang.Thread.run(Thread.java:833)
2023-10-10 21:12:46 ERROR ReviveService - [ReviveService]: Failed to revive message
com.automq.rocketmq.store.exception.StoreException: Not found check point
        at com.automq.rocketmq.store.service.ReviveService.lambda$tryRevive$0(ReviveService.java:121)
        at com.automq.rocketmq.store.service.RocksDBKVService.iterate(RocksDBKVService.java:245)
        at com.automq.rocketmq.store.service.api.KVService.iterate(KVService.java:74)
        at com.automq.rocketmq.store.service.ReviveService.tryRevive(ReviveService.java:109)
        at com.automq.rocketmq.store.service.ReviveService.run(ReviveService.java:93)
        at java.base/java.lang.Thread.run(Thread.java:833)
2023-10-10 21:12:46 ERROR ReviveService - [ReviveService]: Failed to revive message
com.automq.rocketmq.store.exception.StoreException: Not found check point
        at com.automq.rocketmq.store.service.ReviveService.lambda$tryRevive$0(ReviveService.java:121)
        at com.automq.rocketmq.store.service.RocksDBKVService.iterate(RocksDBKVService.java:245)
        at com.automq.rocketmq.store.service.api.KVService.iterate(KVService.java:74)
        at com.automq.rocketmq.store.service.ReviveService.tryRevive(ReviveService.java:109)
        at com.automq.rocketmq.store.service.ReviveService.run(ReviveService.java:93)
        at java.base/java.lang.Thread.run(Thread.java:833)
2023-10-10 21:12:46 ERROR ReviveService - [ReviveService]: Failed to revive message
com.automq.rocketmq.store.exception.StoreException: Not found check point
        at com.automq.rocketmq.store.service.ReviveService.lambda$tryRevive$0(ReviveService.java:121)
        at com.automq.rocketmq.store.service.RocksDBKVService.iterate(RocksDBKVService.java:245)
        at com.automq.rocketmq.store.service.api.KVService.iterate(KVService.java:74)
        at com.automq.rocketmq.store.service.ReviveService.tryRevive(ReviveService.java:109)
        at com.automq.rocketmq.store.service.ReviveService.run(ReviveService.java:93)
        at java.base/java.lang.Thread.run(Thread.java:833)
2023-10-10 21:12:46 ERROR ReviveService - [ReviveService]: Failed to revive message
com.automq.rocketmq.store.exception.StoreException: Not found check point
        at com.automq.rocketmq.store.service.ReviveService.lambda$tryRevive$0(ReviveService.java:121)
        at com.automq.rocketmq.store.service.RocksDBKVService.iterate(RocksDBKVService.java:245)
        at com.automq.rocketmq.store.service.api.KVService.iterate(KVService.java:74)
        at com.automq.rocketmq.store.service.ReviveService.tryRevive(ReviveService.java:109)
        at com.automq.rocketmq.store.service.ReviveService.run(ReviveService.java:93)
        at java.base/java.lang.Thread.run(Thread.java:833)
2023-10-10 21:12:46 ERROR ReviveService - [ReviveService]: Failed to revive message
com.automq.rocketmq.store.exception.StoreException: Not found check point
        at com.automq.rocketmq.store.service.ReviveService.lambda$tryRevive$0(ReviveService.java:121)
        at com.automq.rocketmq.store.service.RocksDBKVService.iterate(RocksDBKVService.java:245)
        at com.automq.rocketmq.store.service.api.KVService.iterate(KVService.java:74)
        at com.automq.rocketmq.store.service.ReviveService.tryRevive(ReviveService.java:109)
        at com.automq.rocketmq.store.service.ReviveService.run(ReviveService.java:93)
        at java.base/java.lang.Thread.run(Thread.java:833)
2023-10-10 21:12:46 ERROR ReviveService - [ReviveService]: Failed to revive message
com.automq.rocketmq.store.exception.StoreException: Not found check point
        at com.automq.rocketmq.store.service.ReviveService.lambda$tryRevive$0(ReviveService.java:121)
        at com.automq.rocketmq.store.service.RocksDBKVService.iterate(RocksDBKVService.java:245)
        at com.automq.rocketmq.store.service.api.KVService.iterate(KVService.java:74)
        at com.automq.rocketmq.store.service.ReviveService.tryRevive(ReviveService.java:109)
        at com.automq.rocketmq.store.service.ReviveService.run(ReviveService.java:93)
        at java.base/java.lang.Thread.run(Thread.java:833)
2023-10-10 21:12:46 ERROR ReviveService - [ReviveService]: Failed to revive message
com.automq.rocketmq.store.exception.StoreException: Not found check point
        at com.automq.rocketmq.store.service.ReviveService.lambda$tryRevive$0(ReviveService.java:121)
        at com.automq.rocketmq.store.service.RocksDBKVService.iterate(RocksDBKVService.java:245)
        at com.automq.rocketmq.store.service.api.KVService.iterate(KVService.java:74)
        at com.automq.rocketmq.store.service.ReviveService.tryRevive(ReviveService.java:109)
        at com.automq.rocketmq.store.service.ReviveService.run(ReviveService.java:93)
        at java.base/java.lang.Thread.run(Thread.java:833)
2023-10-10 21:12:46 ERROR ReviveService - [ReviveService]: Failed to revive message
com.automq.rocketmq.store.exception.StoreException: Not found check point
        at com.automq.rocketmq.store.service.ReviveService.lambda$tryRevive$0(ReviveService.java:121)
        at com.automq.rocketmq.store.service.RocksDBKVService.iterate(RocksDBKVService.java:245)
        at com.automq.rocketmq.store.service.api.KVService.iterate(KVService.java:74)
        at com.automq.rocketmq.store.service.ReviveService.tryRevive(ReviveService.java:109)
        at com.automq.rocketmq.store.service.ReviveService.run(ReviveService.java:93)
        at java.base/java.lang.Thread.run(Thread.java:833)
2023-10-10 21:12:46 ERROR ReviveService - [ReviveService]: Failed to revive message
com.automq.rocketmq.store.exception.StoreException: Not found check point
        at com.automq.rocketmq.store.service.ReviveService.lambda$tryRevive$0(ReviveService.java:121)
        at com.automq.rocketmq.store.service.RocksDBKVService.iterate(RocksDBKVService.java:245)
        at com.automq.rocketmq.store.service.api.KVService.iterate(KVService.java:74)
        at com.automq.rocketmq.store.service.ReviveService.tryRevive(ReviveService.java:109)
        at com.automq.rocketmq.store.service.ReviveService.run(ReviveService.java:93)
        at java.base/java.lang.Thread.run(Thread.java:833)
2023-10-10 21:12:46 ERROR ReviveService - [ReviveService]: Failed to revive message
com.automq.rocketmq.store.exception.StoreException: Not found check point
        at com.automq.rocketmq.store.service.ReviveService.lambda$tryRevive$0(ReviveService.java:121)
        at com.automq.rocketmq.store.service.RocksDBKVService.iterate(RocksDBKVService.java:245)
        at com.automq.rocketmq.store.service.api.KVService.iterate(KVService.java:74)
        at com.automq.rocketmq.store.service.ReviveService.tryRevive(ReviveService.java:109)
        at com.automq.rocketmq.store.service.ReviveService.run(ReviveService.java:93)
        at java.base/java.lang.Thread.run(Thread.java:833)
2023-10-10 21:12:46 ERROR ReviveService - [ReviveService]: Failed to revive message
com.automq.rocketmq.store.exception.StoreException: Not found check point
        at com.automq.rocketmq.store.service.ReviveService.lambda$tryRevive$0(ReviveService.java:121)
        at com.automq.rocketmq.store.service.RocksDBKVService.iterate(RocksDBKVService.java:245)
        at com.automq.rocketmq.store.service.api.KVService.iterate(KVService.java:74)
        at com.automq.rocketmq.store.service.ReviveService.tryRevive(ReviveService.java:109)
        at com.automq.rocketmq.store.service.ReviveService.run(ReviveService.java:93)
        at java.base/java.lang.Thread.run(Thread.java:833)
2023-10-10 21:12:46 ERROR ReviveService - [ReviveService]: Failed to revive message
com.automq.rocketmq.store.exception.StoreException: Not found check point
        at com.automq.rocketmq.store.service.ReviveService.lambda$tryRevive$0(ReviveService.java:121)
        at com.automq.rocketmq.store.service.RocksDBKVService.iterate(RocksDBKVService.java:245)
        at com.automq.rocketmq.store.service.api.KVService.iterate(KVService.java:74)
        at com.automq.rocketmq.store.service.ReviveService.tryRevive(ReviveService.java:109)
        at com.automq.rocketmq.store.service.ReviveService.run(ReviveService.java:93)
        at java.base/java.lang.Thread.run(Thread.java:833)
2023-10-10 21:12:46 ERROR ReviveService - [ReviveService]: Failed to revive message
com.automq.rocketmq.store.exception.StoreException: Not found check point
        at com.automq.rocketmq.store.service.ReviveService.lambda$tryRevive$0(ReviveService.java:121)
        at com.automq.rocketmq.store.service.RocksDBKVService.iterate(RocksDBKVService.java:245)
        at com.automq.rocketmq.store.service.api.KVService.iterate(KVService.java:74)
        at com.automq.rocketmq.store.service.ReviveService.tryRevive(ReviveService.java:109)
        at com.automq.rocketmq.store.service.ReviveService.run(ReviveService.java:93)
        at java.base/java.lang.Thread.run(Thread.java:833)
2023-10-10 21:12:46 ERROR ReviveService - [ReviveService]: Failed to revive message
com.automq.rocketmq.store.exception.StoreException: Not found check point
        at com.automq.rocketmq.store.service.ReviveService.lambda$tryRevive$0(ReviveService.java:121)
        at com.automq.rocketmq.store.service.RocksDBKVService.iterate(RocksDBKVService.java:245)
        at com.automq.rocketmq.store.service.api.KVService.iterate(KVService.java:74)
        at com.automq.rocketmq.store.service.ReviveService.tryRevive(ReviveService.java:109)
        at com.automq.rocketmq.store.service.ReviveService.run(ReviveService.java:93)
        at java.base/java.lang.Thread.run(Thread.java:833)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.