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

fix(collector): fix unexpected crash #984

Merged
merged 3 commits into from
May 29, 2022
Merged

fix(collector): fix unexpected crash #984

merged 3 commits into from
May 29, 2022

Conversation

felixdae
Copy link
Contributor

@felixdae felixdae commented May 28, 2022

#985 (comment)

What problem does this PR solve?

当某张表 partition 为 1 时,可能导致 stat_histories_analyse 提前 return,进而 hot_points 和 _hot_points size 不一致,使得后续的 assert fail

D2022-05-28 06:29:48.34 (1653719388034076919 383) collector.default1.0101000000000001: compiler_depend.ts:108:stat_histories_analyse(): _partitions_stat_histories size <= 1, not enough data for calculation
F2022-05-28 06:29:48.34 (1653719388034089894 383) collector.default1.0101000000000001: compiler_depend.ts:135:update_hot_point(): assertion expression: _hot_points.size() == hot_points.size()
F2022-05-28 06:29:48.34 (1653719388034125236 383) collector.default1.0101000000000001: compiler_depend.ts:135:update_hot_point(): 1 vs 0

What is changed and how does it work?

将 hot_points 的 resize 提前到函数入口处,确保其 size 和 _hot_points 的 size 一致

Checklist

Tests
  • Unit test
  • Integration test
  • Manual test (add detailed scripts or steps below)
  • No code
Code changes
  • Has exported function/method change
  • Has exported variable/fields change
  • Has interface methods change
  • Has persistent data change
Side effects
  • Possible performance regression
  • Increased code complexity
  • Breaking backward compatibility
Related changes
  • Need to cherry-pick to the release branch
  • Need to update the documentation
  • Need to be included in the release note

当某张表 partition 为 1 时,可能导致 stat_histories_analyse 提前 return,进而 hot_points 和 _hot_points size 不一致,使得后续的 assert fail

`
D2022-05-28 06:29:48.34 (1653719388034076919 383) collector.default1.0101000000000001: compiler_depend.ts:108:stat_histories_analyse(): _partitions_stat_histories size <= 1, not enough data for calculation
F2022-05-28 06:29:48.34 (1653719388034089894 383) collector.default1.0101000000000001: compiler_depend.ts:135:update_hot_point(): assertion expression: _hot_points.size() == hot_points.size()
F2022-05-28 06:29:48.34 (1653719388034125236 383) collector.default1.0101000000000001: compiler_depend.ts:135:update_hot_point(): 1 vs 0
`
@felixdae felixdae changed the title 修复 collector 异常退出 fix: fix collector crash May 28, 2022
@felixdae felixdae changed the title fix: fix collector crash fix(collector): fix unexpected crash May 28, 2022
@acelyc111
Copy link
Member

As the failed GitHub check actions shown, could you plz create an issue to report this bug?

as reviewer suggested
@felixdae
Copy link
Contributor Author

#985 (comment)

acelyc111
acelyc111 previously approved these changes May 29, 2022
Copy link
Contributor

@Smityz Smityz left a comment

Choose a reason for hiding this comment

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

Thanks for your fixing

@acelyc111 acelyc111 merged commit 2007d3e into apache:master May 29, 2022
@felixdae felixdae deleted the patch-1 branch May 29, 2022 16:16
@foreverneverer foreverneverer mentioned this pull request Jul 6, 2022
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.

3 participants