Skip to content

Conversation

@duhenglucky
Copy link
Contributor

@duhenglucky duhenglucky commented Aug 22, 2019

What is the purpose of the change

Add abnormal recover for dleger modle, fix the issue 1397

Brief changelog

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.

  • Make sure there is a Github issue 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.
  • 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.
  • Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
  • 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.
  • 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.

@duhenglucky duhenglucky changed the title Add abnormal recover for dleger modle [ISSUE #1397]Add abnormal recover for dleger modle Aug 22, 2019
@coveralls
Copy link

coveralls commented Aug 22, 2019

Coverage Status

Coverage decreased (-1.03%) to 49.505% when pulling e073bab on duhenglucky:abnormal_recover_dleger into 90ae116 on apache:develop.

long mappedFileOffset = 0;
while (true) {
DispatchRequest dispatchRequest = this.checkMessageAndReturnSize(byteBuffer, checkCRCOnRecover);
int size = dispatchRequest.getMsgSize();
Copy link
Contributor

@RongtongJin RongtongJin Aug 26, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This size does not contain dledger header, causing the processOffset to be wrong. Maybe should add DLedgerEntry.BODY_OFFSET.

}
//Indicate that, it is the first time to load mixed commitlog, need to recover the old commitlog
isInrecoveringOldCommitlog = true;
//No need the abnormal recover
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment and code are inconsistent.

}

private void recover(long maxPhyOffsetOfConsumeQueue) {
private void recoverDlegerAbnormally(long maxPhyOffsetOfConsumeQueue) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dledger misspelled.

@bxfjb
Copy link
Contributor

bxfjb commented Oct 13, 2023

I'm sry but is this patch merged?
I think this is the solution for #7355

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants