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

log: helpful logs may be suppressed #17858

Closed
zwang28 opened this issue Jul 30, 2024 · 3 comments · Fixed by #17861
Closed

log: helpful logs may be suppressed #17858

zwang28 opened this issue Jul 30, 2024 · 3 comments · Fixed by #17861

Comments

@zwang28
Copy link
Contributor

zwang28 commented Jul 30, 2024

Describe the bug

Helpful logs that shows large rows matched for join key may be suppressed. If so, developer/user cannot identify the key data that's causing the problems.

e.g. I found 1000k rows matched for join key in grafana, but 10k at max from logs at the same time.

@kwannoel @fuyufjh

Error message/log

No response

To Reproduce

No response

Expected behavior

No response

How did you deploy RisingWave?

No response

The version of RisingWave

No response

Additional context

No response

@github-actions github-actions bot added this to the release-1.11 milestone Jul 30, 2024
@zwang28 zwang28 removed this from the release-1.11 milestone Jul 30, 2024
@zwang28
Copy link
Contributor Author

zwang28 commented Jul 30, 2024

e.g. I found 1000k rows matched for join key in grafana, but 10k at max from logs at the same time.

The actual value behind grafana should be at least 500k, because the exponential factor of the histogram is 2. @st1page

let join_matched_join_keys_opts = histogram_opts!(
    "stream_join_matched_join_keys",
    "The number of keys matched in the opposite side",
    exponential_buckets(16.0, 2.0, 28).unwrap() // max 2^31
);

@kwannoel
Copy link
Contributor

kwannoel commented Jul 30, 2024

I suppose we can do a bucket based log suppression instead, so we can capture better distribution of high join amp keys.

The workaround for now is to tweak:

streaming.developer.stream_high_join_amplification_threshold = 2048

To a higher number. It will then ignore the lower join amplification logs, avoiding the suppression.

After triggering recovery the high join amp key of 1M should show up.

@fuyufjh
Copy link
Member

fuyufjh commented Jul 30, 2024

After some thoughts, I tend to simply remove the Log Suppression introduced in #16840 along with the warning log itself. Because a join key with more than 2048 matched rows won't be very frequent in normal situations. Even saying if it's frequent, the problem itself would be much serious than the logs.

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

Successfully merging a pull request may close this issue.

3 participants