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

[v23.2.x] log_manager::housekeeping_scan iteration with suspension point fix #13893

Conversation

andijcr
Copy link
Contributor

@andijcr andijcr commented Oct 3, 2023

Backport of PR #13615

Fixes #13830

@andijcr andijcr added the kind/backport PRs targeting a stable branch label Oct 3, 2023
@andijcr andijcr added this to the v23.2.x-next milestone Oct 3, 2023
@andijcr andijcr marked this pull request as ready for review October 3, 2023 10:01
@andijcr
Copy link
Contributor Author

andijcr commented Oct 4, 2023

https://buildkite.com/redpanda/redpanda/builds/38169#018af535-9f5c-459f-8e51-c9152ae185eb
failure is

====================================================================================================
test_id:    rptest.tests.cloud_storage_chunk_read_path_test.CloudStorageChunkReadTest.test_read_chunks
status:     FAIL
run time:   49.713 seconds


    MetricCheckFailed('vectorized_cloud_storage_partition_chunk_size', 0.0, 0.0)
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/dist-packages/ducktape/tests/runner_client.py", line 135, in run
    data = self.run_test()
  File "/usr/local/lib/python3.10/dist-packages/ducktape/tests/runner_client.py", line 227, in run_test
    return self.test_context.function(self.test)
  File "/root/tests/rptest/services/cluster.py", line 82, in wrapped
    r = f(self, *args, **kwargs)
  File "/root/tests/rptest/tests/cloud_storage_chunk_read_path_test.py", line 198, in test_read_chunks
    m.expect([(metric, lambda a, b: a < b <= 2 * self.default_chunk_size)])
  File "/root/tests/rptest/services/metrics_check.py", line 135, in expect
    raise error
rptest.services.metrics_check.MetricCheckFailed: MetricCheckFailed<vectorized_cloud_storage_partition_chunk_size old=0.0 new=0.0>

And it's new. I will ask @abhijat for input on this.

in the meantime, the next force push is to fix a merge conflict

to use in housekeeping scan for time-based segment rolling with
segment_ms
this is done to sidestep iterator invalidation that could happen during
the suspension point while co_awaiting for apply_segment_ms.

to do so, the while loops until it reaches a log that is already marked
with bflags::lifetime_checked. in the loop, current log is marked, list
is rotated for the next loop, and apply_segment_ms is awaited.
empty bouncer check is redundant, the rest of the function can cope with
an empty _logs_list
@andijcr andijcr force-pushed the vbotbuildovich/backport-13615-v23.2.x-855 branch from f413202 to f9afb17 Compare October 4, 2023 09:53
@piyushredpanda piyushredpanda merged commit 8a233d7 into redpanda-data:v23.2.x Oct 4, 2023
@piyushredpanda piyushredpanda modified the milestones: v23.2.x-next, v23.2.12 Oct 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/redpanda kind/backport PRs targeting a stable branch
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants