You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@rocketmq.apache.org by GitBox <gi...@apache.org> on 2020/02/28 07:11:31 UTC

[GitHub] [rocketmq] zhhlovely opened a new pull request #1806: increaseIndexslotCount fix

zhhlovely opened a new pull request #1806: increaseIndexslotCount fix
URL: https://github.com/apache/rocketmq/pull/1806
 
 
   ## What is the purpose of the change
   
   修复索引槽位已使用统计问题,IncHashSlotCount的增加应该是判断这个槽位为空的时候才应该进行+1操作,如果查询发现不为空,即代表之前这个槽之前已经被占领了,就不应该进行IncHashSlotCount增加操作。
   
   ## Brief changelog
   
   IndexFile putKey(final String key, final long phyOffset, final long storeTimestamp) 进行了修改
   XX
   
   ## Verifying this change
   
   XXXX
   
   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`.
   
   - [x] Make sure there is a [Github issue](https://github.com/apache/rocketmq/issues) filed for the change (usually before you start working on it). Trivial changes like typos do not require a Github issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue. 
   - [x] Format the pull request title like `[ISSUE #123] Fix UnknownException when host config not exist`. Each commit in the pull request should have a meaningful subject line and body.
   - [x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
   - [x] Write necessary unit-test(over 80% coverage) to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in [test module](https://github.com/apache/rocketmq/tree/master/test).
   - [x] 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](http://www.apache.org/licenses/#clas).
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [rocketmq] xujianhai666 commented on issue #1806: [ISSUE #1807]increaseIndexslotCount fix

Posted by GitBox <gi...@apache.org>.
xujianhai666 commented on issue #1806: [ISSUE #1807]increaseIndexslotCount fix
URL: https://github.com/apache/rocketmq/pull/1806#issuecomment-592865378
 
 
   @zhhlovely but If we use HashSlotCount for the number of hashSlot, I thought it maybe correct. @duhengforever what about ur idea?

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [rocketmq] zhhlovely commented on issue #1806: [ISSUE #1807]increaseIndexslotCount fix

Posted by GitBox <gi...@apache.org>.
zhhlovely commented on issue #1806: [ISSUE #1807]increaseIndexslotCount fix
URL: https://github.com/apache/rocketmq/pull/1806#issuecomment-592920173
 
 
   > @zhhlovely but If we use HashSlotCount for the number of hashSlot, I thought it maybe correct. @duhengforever what about ur idea?
   
   我认为这里这个数字的统计是为了统计当前槽位已被使用的数量,如果每次添加个新的索引就对槽位进行+1操作应该是错的,incIndexCount()方法已经对索引数进行了+1动作,槽位被占领数应该是通过判断那个槽位是否存在描述索引的真正位置,若this.mappedByteBuffer.getInt(absSlotPos)>0则说明槽位已被占领了。为0则证明这个槽位当前无索引,这个时候要往槽位中写入索引的位置了,说明槽位已被使用的数量需要进行+1动作了,而不是之前的每次加入索引就对槽位使用数进行+1。

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services