Skip to content
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

[ROCKETMQ-286] Add a switch to decide whether to wake up commitLogService when put message #162

Closed
wants to merge 1 commit into from

Conversation

vsair
Copy link
Contributor

@vsair vsair commented Sep 4, 2017

Wake up commitLogService will make messages consumed quicker when put message, but it may increase disk usage. So, add a switch to decide where to open this feature, described in https://issues.apache.org/jira/browse/ROCKETMQ-286.

Brief change log

Add a config property to MessageStoreConfig

Verifying this change

Just a switch, verifying is to change it's value.

Follow this checklist to help us incorporate your contribution quickly and easily:

  • Make sure there is a JIRA issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a JIRA issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
  • Format the pull request title like [ROCKETMQ-XXX] Fix UnknownException when host config not exist. Each commit in the pull request should have a meaningful subject line and body.
  • Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
  • Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exists. If the new feature or significant change is committed, please remember to add integration-test in test module.
  • Run mvn -B clean apache-rat:check findbugs:findbugs checkstyle:checkstyle to make sure basic checks pass. Run mvn clean install -DskipITs to make sure unit-test pass. Run mvn clean test-compile failsafe:integration-test to make sure integration-test pass.
  • If this contribution is large, please file an Apache Individual Contributor License Agreement.

@vsair
Copy link
Contributor Author

vsair commented Sep 4, 2017

@zhouxinyu @lizhanhui @vongosling pls have a review.

@coveralls
Copy link

Coverage Status

Coverage decreased (-0.2%) to 38.636% when pulling 6bc0b58 on vsair:ROCKETMQ-286 into 254d432 on apache:develop.

@vongosling
Copy link
Member

@vsair Could you follow our new PR style for this PR, like #152

@vsair
Copy link
Contributor Author

vsair commented Sep 12, 2017

@vongosling I'v modified the description.

@vsair
Copy link
Contributor Author

vsair commented Sep 14, 2017

@zhouxinyu @vongosling pls have a review ?

@zhouxinyu
Copy link
Member

LGTM, wake up commitLogService is for real-time, but it may let broker suffer from SSD write amplification, so provide a switch is reasonable.

@dongeforever
Copy link
Member

@vsair @zhouxinyu another config flushCommitLogTimed has already handled such situation, and avoided SSD write amplification.
If flushCommitLogTimed is enabled, it will only wakeup the commitLogService, but could not wakeup the flushCommitLogService, for:

 if (flushCommitLogTimed) {
      Thread.sleep(interval);
 } else {
      this.waitForRunning(interval);
}

@zhouxinyu
Copy link
Member

This PR is for ConsumeQueue, and flushCommitLogTimed is only used by FlushCommitLogService

@vongosling
Copy link
Member

@vsair What happened in progress

@vsair vsair closed this Jul 18, 2018
@vsair
Copy link
Contributor Author

vsair commented Jul 18, 2018

@dongeforever yeah, it's right, I closed the PR.

lizhanhui pushed a commit to lizhanhui/rocketmq that referenced this pull request Jun 25, 2019
lollipopjin added a commit to lollipopjin/rocketmq that referenced this pull request Jun 16, 2022
…ature_1

* origin/develop_with_prehistory: (3800 commits)
  Issue apache#179 [BUG]check properties length
  Issue apache#161 printmsg bug 修复
  Issue apache#175 change version to 3.6.3-SNAPSHOT
  Issue apache#175 pub 3.6.2 server release
  Issue apache#174 顺序消息重试次数超过默认值,导致消息直接进入死信队列
  Issue apache#173 日志滚动异常,更新日志配置
  Issue apache#172 rebalance 抛 Error 异常,导致 rebalance 被中断
  Issue apache#171 指定消息 id 进行重新发送
  Issue apache#146 add trace hook switch and consume return type
  Issue apache#146 add trace hook switch and consume return type
  Issue apache#169
  Issue apache#158 1. Unify config manager to configuration in common. 2. Configuration is hold in controller. 3. Extend config object or property can register to configuration.
  Issue apache#163 1. command of get broker config
  Issue apache#163 1. Directly print msg after query by queue offset.
  Issue apache#163 1. format file header
  Issue apache#163 1. support for modifying the config of name server dynamically 2. add two request codes 3. add two commands 3. set config store path when start up using special property file
  Issue apache#137 【买卖家】队列热点数据分析
  Issue apache#162 ConsumerConnection 获取连接失败。
  Issue apache#161 printmsg 使用 tag 过滤时,拉消息不全
  Issue apache#160 重置位点优化
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants