-
Notifications
You must be signed in to change notification settings - Fork 11.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RIP-7 Multiple Directories Storage Support #3357
Conversation
broker/src/main/java/org/apache/rocketmq/broker/processor/SendMessageProcessor.java
Outdated
Show resolved
Hide resolved
store/src/main/java/org/apache/rocketmq/store/DefaultMessageStore.java
Outdated
Show resolved
Hide resolved
…cessor.SendMessageProcessor#diskUtil 2. use minPhysicsUsedRatio instead of max in org.apache.rocketmq.store.DefaultMessageStore#getRuntimeInfo
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
checked and muti commit log dir work well. but some errors in DiskCheckScheduledThread and AdminBrokerThread measuring Disk usage.it seems AdminBrokerThread error when no any topics
2021-09-17 02:24:50 ERROR DiskCheckScheduledThread1 - Error when measuring disk space usage, file doesn't exist on this path: /opt/rocketmq/master-data1/commitlog:/opt/rocketmq/master-data2/commitlog
2021-09-17 02:25:00 ERROR AdminBrokerThread_7 - Error when measuring disk space usage, file doesn't exist on this path: /opt/rocketmq/master-data1/consumequeue
2021-09-17 02:25:00 ERROR DiskCheckScheduledThread1 - Error when measuring disk space usage, file doesn't exist on this path: /opt/rocketmq/master-data1/commitlog:/opt/rocketmq/master-data2/commitlog
2021-09-17 02:25:03 ERROR AdminBrokerThread_8 - Error when measuring disk space usage, file doesn't exist on this path: /opt/rocketmq/master-data1/consumequeue
2021-09-17 02:25:10 ERROR DiskCheckScheduledThread1 - Error when measuring disk space usage, file doesn't exist on this path: /opt/rocketmq/master-data1/commitlog:/opt/rocketmq/master-data2/commitlog
…tLogService#isSpaceFull
@francisoliverlee Thank you for the notice. |
@francisoliverlee |
…DefaultMessageStore#getRuntimeInfo
@francisoliverlee Added path empty check to avoid error log. Checked with |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM~, but only one disk is written at the same time, which does not take advantage of the increased write bandwidth after multi-disk deployment.
store/src/main/java/org/apache/rocketmq/store/config/MessageStoreConfig.java
Outdated
Show resolved
Hide resolved
It seems this error still exists ,and maybe you discarded this method org.apache.rocketmq.common.UtilAll#getDiskPartitionSpaceUsedPercent, or should we check the existence of a directory at the start of the broker? |
Yes, for now, user have to put existing file paths in Added isPathExists check in 'DiskCheckScheduledThread'. PTAL |
…Config#MULTI_PATH_SPLITTER to ',' and can be changed by System.getProperty("rocketmq.broker.multiPathSplitter")
After this multi-disk deployment, read bandwidth will be fully utilized. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
seems like muti-commit log dir make sence.
yes, it is. Appending messages write last MappedFile only, other files can not be written at all. |
when doing getDiskPartitionSpaceUsedPercent(), how about a WARNING for NO consume queue dir ? |
broker/src/main/java/org/apache/rocketmq/broker/processor/SendMessageProcessor.java
Outdated
Show resolved
Hide resolved
store/src/main/java/org/apache/rocketmq/store/DefaultMessageStore.java
Outdated
Show resolved
Hide resolved
store/src/main/java/org/apache/rocketmq/store/DefaultMessageStore.java
Outdated
Show resolved
Hide resolved
store/src/main/java/org/apache/rocketmq/store/MappedFileQueue.java
Outdated
Show resolved
Hide resolved
… commitlog path in storePathCommitLog.
store/src/main/java/org/apache/rocketmq/store/MultiPathMappedFileQueue.java
Outdated
Show resolved
Hide resolved
If we add a cloud disk to the running ecs, can the new cloud disk be recognized by updating broker.conf dynamically? |
Yes, It should work. You can add path after |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK
|
Yep, it can be used to decommission some broken disks. |
RIP-7 Multiple Directories Storage Support
RIP-7 Multiple Directories Storage Support
Make sure set the target branch to
develop
What is the purpose of the change
Follow up PR of #3348
Update according to comments, see change log
Brief changelog
Verifying this change
Follow this checklist to help us incorporate your contribution quickly and easily. Notice,
it would be helpful if you could finish the following 5 checklist(the last one is not necessary)before request the community to review your PR
.[ISSUE #123] Fix UnknownException when host config not exist
. Each commit in the pull request should have a meaningful subject line and body.mvn -B clean apache-rat:check findbugs:findbugs checkstyle:checkstyle
to make sure basic checks pass. Runmvn clean install -DskipITs
to make sure unit-test pass. Runmvn clean test-compile failsafe:integration-test
to make sure integration-test pass.